Jump to content
  • Sign Up
Støtt hjemmeautomasjon.no!

Recommended Posts

Posted

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:

 


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
 
 

  • Like 2
Posted

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.

  • Like 5
  • 10 months later...
  • 6 months later...
Posted

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.

 

 

Posted
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?

  • 9 months later...
  • 1 month later...
Posted (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 by Ruud
Løst
  • 1 month later...
Posted

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

Posted

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"

 

  • Like 1
Posted (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 by Ruud
  • 1 month later...
Posted

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.

 

 

Posted

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.

 

Posted

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.

  • 2 months later...
Posted
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.

Posted
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... :D 

  • Haha 1
Posted
12 minutes ago, Moskus said:

C# skal fremdeles fungere fint.

 

Men VB.net er jo mye penere, da... :D 

 

Haha, det kan diskuteres synes jeg :D 

 

 

Posted
2 minutter siden, strips skrev:

Haha, det kan diskuteres synes jeg :D 

Klart vi kan diskutere det, men utfallet blir det samme... ?

  • Haha 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.