Salvesen Skrevet 25. september 2017 Skrevet 25. september 2017 Holder på å bygge om eventene mine til scripts for større muligheter og for å enklere lage nye events. Planen er å ha større bolker av scripts med subs som trigges av de forskjellige eventene slik at jeg kun har ett par større scripts filer å forholde meg til med en god del "standard" subs. Men, jeg er litt usikker på hvordan det er tiltenkt å trigge scripts i HS, eller rettere sagt hvordan gjør dere det? Har dere en trigger og behandler andre conditions i script? Ser for meg at scriptet eller sub da kan bli kjørt veldig ofte i noen situasjoner? Helst vill jeg ha minst mulig å gjøre med event editoren til HS da det tar alt for mye tid å sette ting opp IMO. evt har HS selv definert noen retningslinjer på effektiv bruk av script? Siter
Moskus Skrevet 25. september 2017 Skrevet 25. september 2017 45 minutter siden, Salvesen skrev: Holder på å bygge om eventene mine til scripts for større muligheter og for å enklere lage nye events. Ok, selv som en ihuga scripter må jeg spørre: Hvorfor? Noe av fordelen med HS3 over versjon 2 er at det ikke er like stort behov for å scripte lenger. HS2 var god på eventer, men HS3 er vesentlig bedre (enn ganske mye annet). 47 minutter siden, Salvesen skrev: Men, jeg er litt usikker på hvordan det er tiltenkt å trigge scripts i HS, eller rettere sagt hvordan gjør dere det? Har dere en trigger og behandler andre conditions i script? Eneste måten å trigge scripts på er fra Events. Men derfra er det opp til deg. Vil du trigge på klokkeslett, så gjør det. Vil du trigge på Device value change, så gjør det. Du velger selv om du skal sjekke conditions i scriptet eller om Eventet skal gjøre det. 49 minutter siden, Salvesen skrev: Ser for meg at scriptet eller sub da kan bli kjørt veldig ofte i noen situasjoner? Ja, det kan jo fort skje. Men det er opp til deg å forhindre at det skjer. 49 minutter siden, Salvesen skrev: Helst vill jeg ha minst mulig å gjøre med event editoren til HS da det tar alt for mye tid å sette ting opp IMO. Vet ikke om jeg er enig i det, men OK. Jeg bruker scripts kun hvis det er enklere å sette enn å sette opp et Event. Eksempel: CloneDevice.vb er det teknisk sett mulig å sette opp som eventer, men det vil kreve 100 eventer (for verdier 0 Off til 100 On, alle med conditions og triggere, etc. I praksis forferdelig komplisert og unødvendig. Et script er mye enklere. Jeg bruker fremdeles CloneDevice.vb selv om HomeSeer nå har fått "linked devices" innebygget. Fordi scriptet kan bruke conditions, noe "linked devices" ikke kan. Altså blir stue-devicene "linket" når vi ikke er på ferie, for da styrer jeg spesifikt enkelte lamper istedenfor. Med en gang man skal bruke en løkke eller veldig avanserte conditions (hvis det, men ikke når det og det) er det fornuftig med scripts. F.eks. tok det liten tid å sette opp events for alle lys styrt av bevegelse. Man lager et ferdig Event, og kopierer det. Så er det bare å bytte ut lys nedover. Ja, det er litt kjedelig arbeid, men når man er ferdig er det vesentlig lettere å finne frem i når man skal endre noe eller bytte ut en device, etc. For events kan man filtrere ut kun bestemte devicer og det er VELDIG praktisk. Den muligheten mister man når man bruker scripts, for filteret leter ikke i script-filene... Mitt råd er: Tenk deg godt om, og bestem deg for hva du faktisk vil oppnå. Å kode er utmerket, spesielt med TenScripting (som er obligatorisk for mer avanserte scripts enn hs.WriteLog("Hello", "World")), men det er ikke sikkert det er den mest "kostnadseffektive" løsningen. "If all you have is a hammer, then everything looks like a nail" er nødvendigvis ikke best tilnærming... Siter
Salvesen Skrevet 25. september 2017 Forfatter Skrevet 25. september 2017 Akkurat nå, Moskus skrev: Sitat Ok, selv som en ihuga scripter må jeg spørre: Hvorfor? Noe av fordelen med HS3 over versjon 2 er at det ikke er like stort behov for å scripte lenger. HS2 var god på eventer, men HS3 er vesentlig bedre (enn ganske mye annet). En av hovedgrunnene er at jeg synes det er tungvindt å jobbe i event editoren og vill helst slippe dette og heller ha klar kode i bakgrunn som jeg enkelt kan legge til i editoren med parameter. Mer generalisering som sikkert fint kan gjøres i editoren også, men ønsker helst å holde meg til script da det er dette jeg er vandt til fra jobb og ellers Sitat Eneste måten å trigge scripts på er fra Events. Men derfra er det opp til deg. Vil du trigge på klokkeslett, så gjør det. Vil du trigge på Device value change, så gjør det. Du velger selv om du skal sjekke conditions i scriptet eller om Eventet skal gjøre det. Sitat Ja, det kan jo fort skje. Men det er opp til deg å forhindre at det skjer. Ja her er noe av "problemet" mitt med hvordan jeg har lyst til å gjøre det ift hvordan det faktisk skjer i HS3. Som ett eksempel kan vi ta enkel av på styring av ovn på ett rom. For å trigge eventen ser jeg gjerne på en grense, si 23 grader. Er den under vill jeg kjøre en sub fra ett script hvor jeg har definert en god del parameter for å gjøre det veldig allsidig ift å konfigurere forskjellige rom eller situasjoner, men sjekker jeg kun trigging på temp mindre enn det jeg ønsker og tar andre sjekker som om varmen allerede er på osv i script så vill jo sub bli trigget en god del ganger før tempen går over grensen, og det er jo unødvendig. Fikses jo med å sjekke om varme allerede er på i event editoren men da mister jeg mye av det genrelle igjen. Ja, jeg er absolutt i tenkeboksen og prøver ut en del forskjellig for å finne den beste måten å gjøre dette på Siter
Moskus Skrevet 25. september 2017 Skrevet 25. september 2017 50 minutter siden, Salvesen skrev: For å trigge eventen ser jeg gjerne på en grense, si 23 grader. Nei. Dette vil trigge hvert sekund temperaturen er under 23 grader. Helt unødvendig. For å trigge eventet, så trigger du istedenfor på Device Value Change. Når temperaturen endrer seg, så kjører scriptet og gjør det den skal med rommets varmekilde basert på temperatur (og du sender begge deler inn i scriptet med parametre). Hvis du vil at dette skal trigge på andre hendelser også, så får du legge de inn spesifikt som ekstra triggere (et event kan ha mange triggere) i tillegg. Se VirtualThermostat.vb Det settes riktignok opp med sjekk hvert X minutt, men det er anbefalt å endre manuelt (for det kan ikke settes opp programmatisk). MEN nå sies det att Callbacks også fungerer med scripts, så jeg må kanskje oppdatere scriptet snart. Siter
Salvesen Skrevet 25. september 2017 Forfatter Skrevet 25. september 2017 Akkurat nå, Moskus skrev: Nei. Dette vil trigge hvert sekund temperaturen er under 23 grader. Helt unødvendig. For å trigge eventet, så trigger du istedenfor på Device Value Change. Når temperaturen endrer seg, så kjører scriptet og gjør det den skal med rommets varmekilde basert på temperatur (og du sender begge deler inn i scriptet med parametre). Se VirtualThermostat.vb Det settes riktignok opp med sjekk hvert X minutt, men det er anbefalt å endre manuelt (for det kan ikke settes opp programmatisk). MEN nå sies det att Callbacks også fungerer med scripts, så jeg må kanskje oppdatere scriptet snart. Joda, jeg forklarte meg bare dårlig der. Bruker alltid change. Men endringer vill skje etterpå også. Som igjen vill trigge mer enn "nødvendig". Siter
Moskus Skrevet 25. september 2017 Skrevet 25. september 2017 Scriptet vi kjøre neste gang temperaturen endres ja, men det er jo i det minste mye sjeldnere enn hvert sekund! ... du vil evt. betale med mer CPU-forbruk. Men sånn er verden... 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.