Det er enklere og bedre.
Trust me.
Men litt seriøst, for meg forenkler det å splitte ut funksjonaliteten med en virtuell device. Hvis jeg senere endrer oppsettet, så slipper jeg å bygge opp Notifikasjons-eventer på nytt (og noen av oss har muligens mer avansert notifikasjoner enn andre ).
Her er f.eks. vaskemaskin:
So far so good. Enkelt og greit.
Merk at den virtuelle devicen bare får satt status hvis den faktisk endres. Den blir ikke "satt på ny" hvis det ikke behøves.
Notifikasjoner er også enkle:
... merk at jeg her har et krav om at vaskemaskin-devicen må ha vært "Stille..." i 3 minutter. Det filtrerer ut feilmålinger av strømmen, for det forekommer. Enklere med virtuell device.
Så langt er alt vel og bra. Men vi trenger også en påminnelse senere hvis ingen har håndtert vaskemaskinen. Det er kjipt om vasken ligger og råtner i maskinen fordi vi var oppdatt med noe annet akkurat da notifikasjonen kom.
Da kan vi trigge notifikasjonen hver halve time hvis nødvendig:
Denne introduserer en ny virtuell device; "Vaskemaskin håndtert", og skal egentlig bare holde kontroll på om noen faktisk tok klærne ut av maskinen eller ei.
Den blir satt på når vaskinen er "Stille"...
... og deaktivert når det er bevegelse i vaskerommet:
Akkurat som med "vanlig programmering" vil det på sikt lønne seg å splitte opp med variabler og delfunksjoner enn å lage milelange rutiner/funksjoner som skal gjøre en spesifikk ting.
Det er gjør absolutt ingenting å ha mange eventer, så lenge man sikrer at alle ikke kjører samtidig. Jeg vil si det heller er en fordel.
I tillegg har man den fordel at man da kan sjekke med HStouch, Alexa eller whatever om f.eks. maskinen kjører eller ikke. Jeg bruker denne metoden på vaskemaskin, tørketrommel, robotstøvsugere og robotgressklippere (fra før jeg fikk installert Wifi-kortet). På støvsuger og robotgressklipper har også status om at hvis de ikke har gått over til lading etter en viss tid, så blir de satt som "Fastkjørt" eller tilsvarende, som er en fin egen status man kan bruke på å sjekke om "alt er vel" når man går ut/legger seg/whenever. Som sagt; pushmeldinger er fint.