Moskus Skrevet 28. mars 2016 Skrevet 28. mars 2016 Hva er scripting? De fleste litt større systemer støtter scripting i en eller annen form. Ettersom det er så mye de forskjellige systemene kan gjøre, så er det ikke sikkert at utviklerne har tenkt på alle muligheter som er mulig å få til og legger muligheter for det inn i Event-motorene sine. Det er der scripting kommer inn. Det er en enkel måte å utvide mulighetene i hjemmeautomasjonssystemet sitt. Noen bruker python, ande LUA. HomeSeer er skrevet i .NET og bruker VB.net (og C#) som scriptspråk, og det er en stor del av grunnen til at jeg valgte HomeSeer som styringssystem. Jeg har programmert mye i VB og VB.net (og mer og mer C#), så å kunne bruke samme språk i HomeSeer er jo en enorm fordel. Når det er sagt så er jo ikke LUA så langt borte fra VB. Pr. default er ikke hele .NET biblioteket tilgjengelig som scripting, men de mest brukte funksjonene er der (og det er ikke lite bare det). Man har imidlertid mulighet til å legge til referanser selv hvis man ønsker det. Hva trenger jeg? I utgangspunktet trenger du ingenting, utenom litt kunnskap om VB, .NET og HomeSeer. Hvis du ikke har noe av dette, men likevel kan tenke deg å scripte litt så er det her en liten liste: Du må vite litt om språket generelt, hvordan man lager en variabel, hva en Sub og Function er, litt om klasser, etc. Bob Tabor dekker det meste: https://mva.microsoft.com/en-US/training-courses/vb-fundamentals-for-absolute-beginners-8297?l=3THjWMYy_4904984382 Du trenger noe å programmere i. Selve script-vinduet i HS er tungvindt, selv om det er 100% mulig. Skaff deg heller Visual Studio Community og tenScripting, så kan du scripte i Visual Studio med full IntelliSense, syntaks-korrigering, og alle andre praktiske hjelpemidler Visual Studio har å tilby (og det er ikke få). Du trenger å vite (eller i det minste finne ut) hva som er mulig i HS3, og det er ikke rent lite. I hjelp-filene står det mye om scripting, og i SDKet står det enda mer dyptgående om klasser, eventer, callbacks, etc. Men... plugins? "Hvis scripting er så genialt, hvorfor lages det plugins?" Fordi å lage plugins gir enda større frihet, selv om det er mer arbeid. I en plugin kan man bruke hele .NET biblioteket av funksjoner uten å tenke på om det er støttet ut av esken eller ei. Så hvis man skal lage et system for å lese og skrive til en server (som Fitbit-plugin'en) eller til en kaffetrakter, så er det mye lettere med en plugin der man uten videre kan opprette nye tråder, bruke LiNQ, og lage en enda tettere integrering i HS3. HST har gjort mye smart i SDKet sitt, men personlig synes jeg de utgangspunktene de hadde laget i beste fall var vanskelige å forstå. De som ønsker å se på plugins, kan istedenfor se på mitt eget pluginsample. Det finner du her: http://board.homeseer.com/showthread.php?t=177339 2 Siter
iblis Skrevet 4. april 2016 Skrevet 4. april 2016 Denne bør flyttes og gjøres om til en guide. 1 Siter
Moskus Skrevet 5. april 2016 Forfatter Skrevet 5. april 2016 Ja, jeg har tenkt tanken. Har lurt på å skrive et par "komme i gang med scripting" poster, så det blir nok en del av det. 5 Siter
Moskus Skrevet 26. februar 2017 Forfatter Skrevet 26. februar 2017 Blir en del av HS-skolen, om en liten stund. 1 Siter
Andreas Skrevet 20. september 2017 Skrevet 20. september 2017 Hva kan denne feilmeldingen komme av? Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\sms.vb: Navneområdet eller typen som er angitt i importene System.Core, inneholder ikke noe felles medlem eller finnes ikke. Kontroller at navneområdet eller typen er definert og inneholder minst ett felles medlem. Kontroller at det importerte elementnavnet ikke bruker noen aliaser. Siter
ZoRaC Skrevet 21. september 2017 Skrevet 21. september 2017 5 timer siden, Andreas skrev: Hva kan denne feilmeldingen komme av? Compiling script C:\Program Files (x86)\HomeSeer HS3\scripts\sms.vb: Navneområdet eller typen som er angitt i importene System.Core, inneholder ikke noe felles medlem eller finnes ikke. Kontroller at navneområdet eller typen er definert og inneholder minst ett felles medlem. Kontroller at det importerte elementnavnet ikke bruker noen aliaser. Kan du dele scriptet? Siter
Andreas Skrevet 21. september 2017 Skrevet 21. september 2017 lager ett nytt emne, så tar vi det der.. Siter
Ruud Skrevet 30. juni 2018 Skrevet 30. juni 2018 mye om scripting : https://homeseer.com/support/homeseer/HS3/HS3Help/default.htm Siter
Moskus Skrevet 30. juni 2018 Forfatter Skrevet 30. juni 2018 Ja, greit med en oppdatert link. De to i første posten er visst ikke gyldige lenger. Siter
Ruud Skrevet 4. august 2018 Skrevet 4. august 2018 (endret) Jeg holder på å rediger et script og "Now.ToLongTimeString" gir meg klokkeslett akkurat nå. Jeg skulle gjerne hatt klokkeslettet fra "Last Change" på en spesifikk divice. noen som vet koden for det eller kan peke meg i retning av riktig lesestoff? Endret 4. august 2018 av Ruud Løst Siter
Moskus Skrevet 5. august 2018 Forfatter Skrevet 5. august 2018 Funksjonen du skal ha er hs.DeviceLastChangeRef(DEV_REF) som er et Date objekt. Siter
Ruud Skrevet 16. september 2018 Skrevet 16. september 2018 Takk Moskus. Det fungerte glimrende. Nå er jeg i en ny setting der jeg kun ønsker klokkeslettet og ikke både dato og klokkeslett? eks: Now.ToString("ddd") & " " & hs.DeviceLastChangeRef(649) & " - " & hs.DeviceValueEx(649) & "°C" gir meg dette: søn. 16.09.2018 07.09.37 - 4,4°C Jeg ønsker dette: søn 07.09.37 - 4,4°C Siter
Moskus Skrevet 17. september 2018 Forfatter Skrevet 17. september 2018 Spørsmål. Hvorfor henter du dagen fra Now? Det er det jo strengt tatt ingen garanti for. "Now" og "hs.DeviceLastChangeRef" returnerer begge et "Date" objekt. Dermed kan du formatere dem som du ønsker. hs.DeviceLastChangeRef(649).ToString("ddd dd.MM.yy") & " - " & hs.DeviceValueEx(649) & "°C" 1 Siter
Ruud Skrevet 18. september 2018 Skrevet 18. september 2018 (endret) Jeg trenger ikke datoen men klokkeslettet, dermed endret jeg "ddd dd.MM.yy" til "ddd hh:mm" men det fungerte ikke. Her kan du se hele codelinja: Dim newText As String = hs.DeviceLastChangeRef(649).ToString("ddd hh:mm") & " - " & hs.DeviceValueEx(649) & "°C" fikk dette i logen: Running script C:\Program Files (x86)\HomeSeer HS3\scripts\Lekestue-MAX-historisk-Uke.vb :Målet forårsaket et unntak under aktivering.Konvertering fra strengen ddd hh:mm til typen Integer er ikke gyldig. Endret 18. september 2018 av Ruud Siter
Moskus Skrevet 19. september 2018 Forfatter Skrevet 19. september 2018 Dette fungerer fint hos meg: someDate.ToString("ddd HH:mm") Siter
Teza Skrevet 20. oktober 2018 Skrevet 20. oktober 2018 Usikker på om dette er rett sted å spørre, men prøver å stake kursen fremover når det kommer til HA. Bruker i dag Fibaro HC2, hvor jeg er avhenging av å lære LUA coding, for å få laget det oppsettet jeg trenger. Ved å kjøpe en lærebok i LUA vil man likevell ikke være i mål, da det er et tilpasset LUA språk som er benyttet i HC2 (er jeg blitt fortalt). Har tidligere ønsket å lære C, da dette kan bli brukt i elektronikk prosjekter, f.eks med PIC. Kjøpte boken C Programming Absolute Beginner's Guide (3rd Edition) tidligere men kom ikke i gang med denne da jeg hadde andre prosjekter. Sitter nå og tenker at når jeg først må lære et språk, burde det kunne brukes til mest mulig av det jeg kan komme bort i. Så spørsmålene (etter mye svada) er hvor mye forskjell er det på C og C#? Kan jeg bruke læreboken jeg allerede har for å lære å programmere C# i Homeseer? Hvis jeg lærer C#, vil den programmeringen kunne brukes på programmering av microkontrollere som PIC? Sikkert noen dobble facepalms nå, eller skrivebord med pannemerker i. men er helt grønn på dette området. Siter
Moskus Skrevet 22. oktober 2018 Forfatter Skrevet 22. oktober 2018 C og C# har nok ganske forskjellige bruksområder. De ligner nok noe med tanke på syntax, men ellers er de relativt ulike. https://csharp-station.com/understanding-the-differences-between-c-c-and-c/ Siter
Teza Skrevet 22. oktober 2018 Skrevet 22. oktober 2018 Takker, har vært innom noen nettsider, men forstår ikke mye av faguttrykkene. Har dog fått inntrykket av at det å lære C er omtrent like relevant for å kunne programmere C#, som det å lære LUA. Får fortsette å tenke en stund til. Det kommer kanskje tilbud på Homeseer neste mnd, så vurderer hvorvidt jeg skal knote meg fremover med et tilpasset LUA eller prøve en annen vei. Siter
Guahtdim Skrevet 23. oktober 2018 Skrevet 23. oktober 2018 Husk at HomeSeer kan testes i 30 dager gratis. Kanskje greit å prøve litt før man bestemmer seg for å kjøpe. Siter
Teza Skrevet 23. oktober 2018 Skrevet 23. oktober 2018 Har lastet ned og installert homeseer, samt bestilt en RFXCom RFXtrx433E og Z-Wave.Me UZB1 fra Tronika. Så får jeg prøve litt om 14 dager. Siter
strips Skrevet 9. januar 2019 Skrevet 9. januar 2019 On 20/10/2018 at 22:44, Teza said: ... Så spørsmålene (etter mye svada) er hvor mye forskjell er det på C og C#? Kan jeg bruke læreboken jeg allerede har for å lære å programmere C# i Homeseer? Hvis jeg lærer C#, vil den programmeringen kunne brukes på programmering av microkontrollere som PIC? ... Lærer du deg C er det veldig mye enklere å lære seg C# etterpå. Lærer du deg C# først kan fortsatt C være en nøtt å knekke. C# er ett mer høynivåspråk som gjør veldig mye i bakgrunnen som man slipper å tenke på. C derimot er vel noe av det mer komplekse språket man har før man er helt nede på maskinkode. Men etter å ha lest opp og ned i mente om HS så er nok språket man bør bruke VB.net. VisualBasic.net har en syntaks som er grusom spør du meg Føles som jeg er tilbake på 90-tallet før internet var allemannseie. Siter
Moskus Skrevet 9. januar 2019 Forfatter Skrevet 9. januar 2019 1 time siden, strips skrev: Men etter å ha lest opp og ned i mente om HS så er nok språket man bør bruke VB.net. C# skal fremdeles fungere fint. Men VB.net er jo mye penere, da... 1 Siter
strips Skrevet 9. januar 2019 Skrevet 9. januar 2019 12 minutes ago, Moskus said: C# skal fremdeles fungere fint. Men VB.net er jo mye penere, da... Haha, det kan diskuteres synes jeg Siter
Moskus Skrevet 9. januar 2019 Forfatter Skrevet 9. januar 2019 2 minutter siden, strips skrev: Haha, det kan diskuteres synes jeg Klart vi kan diskutere det, men utfallet blir det samme... ? 1 Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.