Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Anbefalte innlegg

Skrevet

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
Skrevet

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 måneder senere...
  • 6 måneder senere...
Skrevet

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.

 

 

Skrevet
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 måneder senere...
  • 1 måned senere...
Skrevet (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 av Ruud
Løst
  • 1 måned senere...
Skrevet

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

Skrevet

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
Skrevet (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 av Ruud
  • 1 måned senere...
Skrevet

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.

 

 

Skrevet

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.

 

Skrevet

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 måneder senere...
Skrevet
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.

Skrevet
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
Skrevet
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 

 

 

Skrevet
2 minutter siden, strips skrev:

Haha, det kan diskuteres synes jeg :D 

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

  • Haha 1

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.