Moskus Posted March 28, 2016 Posted March 28, 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 Quote
Moskus Posted April 5, 2016 Author Posted April 5, 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 Quote
Moskus Posted February 26, 2017 Author Posted February 26, 2017 Blir en del av HS-skolen, om en liten stund. 1 Quote
Andreas Posted September 20, 2017 Posted September 20, 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. Quote
ZoRaC Posted September 21, 2017 Posted September 21, 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? Quote
Andreas Posted September 21, 2017 Posted September 21, 2017 lager ett nytt emne, så tar vi det der.. Quote
Ruud Posted June 30, 2018 Posted June 30, 2018 mye om scripting : https://homeseer.com/support/homeseer/HS3/HS3Help/default.htm Quote
Moskus Posted June 30, 2018 Author Posted June 30, 2018 Ja, greit med en oppdatert link. De to i første posten er visst ikke gyldige lenger. Quote
Ruud Posted August 4, 2018 Posted August 4, 2018 (edited) 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? Edited August 4, 2018 by Ruud Løst Quote
Moskus Posted August 5, 2018 Author Posted August 5, 2018 Funksjonen du skal ha er hs.DeviceLastChangeRef(DEV_REF) som er et Date objekt. Quote
Ruud Posted September 16, 2018 Posted September 16, 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 Quote
Moskus Posted September 17, 2018 Author Posted September 17, 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 Quote
Ruud Posted September 18, 2018 Posted September 18, 2018 (edited) 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. Edited September 18, 2018 by Ruud Quote
Moskus Posted September 19, 2018 Author Posted September 19, 2018 Dette fungerer fint hos meg: someDate.ToString("ddd HH:mm") Quote
Teza Posted October 20, 2018 Posted October 20, 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. Quote
Moskus Posted October 22, 2018 Author Posted October 22, 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/ Quote
Teza Posted October 22, 2018 Posted October 22, 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. Quote
Guahtdim Posted October 23, 2018 Posted October 23, 2018 Husk at HomeSeer kan testes i 30 dager gratis. Kanskje greit å prøve litt før man bestemmer seg for å kjøpe. Quote
Teza Posted October 23, 2018 Posted October 23, 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. Quote
strips Posted January 9, 2019 Posted January 9, 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. Quote
Moskus Posted January 9, 2019 Author Posted January 9, 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 Quote
strips Posted January 9, 2019 Posted January 9, 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 Quote
Moskus Posted January 9, 2019 Author Posted January 9, 2019 2 minutter siden, strips skrev: Haha, det kan diskuteres synes jeg Klart vi kan diskutere det, men utfallet blir det samme... ? 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.