Tok jobben ifjor høst med å konvertere alle DSL rules til Jython og har ikke sett meg tilbake! OH (nå 2.5M2) har aldri vært så smidig, stabilt og funksjonelt! Er strålende fornøyd og kan bare anbefale alle og enhver å ta samme steg, hvert fall hvis du har en basis forståelse av programmeringsspråk!
ESP8266/NodeMCU med EasyESP har også vært en gudsgave når det har kommet til å rulle ut sensorer i diverse rom, med enkel setup og stabilitet (selv om firmware'n har vært litt buggy her og der så har det bare handlet om diverse reboots i ny og ned, men siden de booter på sekunder har det ikke vært merkbart). Har kjørt på en development firmware fra 2018 og tok nå runden med å oppgradere til nyeste "stable" og den virker mye mer snappy i GUI og uten tvil har de løst stabilitets problemet nevnt tidligere.
Jeg har mer eller mindre fjernet alt av batteri drevne Z-wave enheter og løst det med ESP8266'ere istedet (riktignok kablet). Det fine er at man kan bygge ut på disse nodene sensor for sensor, f.eks. har jeg noen med reed switcher (magnetkontakter), BME280 (temp/fukti./bar.trykk) og lekkasjesensor. På ett rom har jeg kunne brukt 1 node og målt 2 forskjellige rom med noen enkle grep. Fleksibiliteten er utrolig fin, eneste utfordringen har vært å ha noen gode eller "fine" containere for dette. Har som regel benyttet vanlige elektrisk koblingsbokser siden det "forsvinner" litt i anlegget fra før siden jeg ikke har skjult anlegg.
Nå har jeg satt opp virtuelle termostater i ethvert rom som jeg justerer temperatur på ved å slå av/på varmelementet som er i rommet (uavhengig av type oppvarming) siden jeg har standardisert navnene på alt. Samtidig har jeg lagt inn meta tags på termostat item'ene slik at jeg kun har 1 hoved "rule" som styrer alle termostater (sjekkes hver 5.minutt), f.eks:
Number THERMOSTAT_Fe_BarneSoverom "Setpunkt Barnesoverom [%.1f °C]" <thermostat> (gFe_BarneSoverom_Thermostat,gRoomThermostats,gPersistMysqlChange) { ga="thermostatTemperatureSetpoint", thermostatControl="Meta" [conditional="1", requiredCLOSED="KB_Fe_BarneSoverom_Vindu"]}
Her leser jeg ut av meta tag'ene at for at denne termostaten skal "automatisk" styres så må "KB_Fe_BarneSoverom_Vindu" være CLOSED
Siden jeg har standardisert navn for itemene mine vet jeg at for å finne rom temperatur trenger jeg bare å erstatte THERMOSTAT_ delen av navnet med TM_ og VE_ for varmovn.
VE = Varmeelement
KB = Kontaktbryter
Fe = Første Etasje
osv.
30-Mar-2020 10:40:00.089 [DEBUG] [jsrTempControlRules] - romtemp_regulering: Prosesserer termostat: THERMOSTAT_Fe_BarneSoverom
30-Mar-2020 10:40:00.092 [DEBUG] [jsrTempControlRules] - romtemp_regulering: Evaluerer oppvarming av THERMOSTAT_Fe_BarneSoverom. Temperatur: 22.3 Ønsket: 22.0 Maks: 23.0 Min: 22.0
30-Mar-2020 10:40:00.095 [DEBUG] [jsrTempControlRules] - romtemp_regulering [THERMOSTAT_Fe_BarneSoverom]: Temperatur innenfor ønsket verdi, ingen aksjon nødvendig.
Å standardisere det slikt har forenklet reglene mine betydelig! Så det er bare å utnytte disse hjemmekontor dagene til å konvertere til jython ?