richtlijnen:
- Elk device heeft zijn eigen on en off event
- Events die devices aan of uit moeten schakelen (of andere values for that matter) maken gebruik van bovenstaande events
De reden van deze events is dat er meerdere opdrachten voor een device kunnen worden uitgevoerd, waarbij iedere event die dit device moet schakelen altijd dezelfde handelingen zal uitvoeren. Feitelijk het elimineren van dubbele opdrachten in verschillende events. In SQL term "normalization of data". Ik haak graag naar SQL termen omdat daarin feitelijk veel regels zijn die ook toepasbaar zijn op dit soort systemen.
Ik loop alleen tegen een probleemje aan, stel:
- Device woonkamerverlichting heeft twee events:
+ Verlichting woonkamer uitschakelen
+ Verlichting woonkamer inschakelen
Beide events hebben puur het schakelen van de xanura device.
Een andere event:
- "Huis verlaten" met conditie dat er geen beweging is geweest voor precies 30 minuten. Actie is het uitvoeren van de event "alle verlichting uitschakelen", maar laten we voor het gemak de event "verlichting woonkamer uitschakelen" pakken.
Ik zou alleen willen dat deze event ook alleen uitgevoerd wordt als de verlichting daadwerkelijk aan staat, maar het event "verlichting woonkamer uitschakelen" heeft een manual trigger en dan kun je geen conditie opgeven. Een conditie opgeven in die event ipv manual betekent dat de event al uitgevoerd wordt als aan de conditie voldaan wordt. M.a.w. is de verlichting aan, zet deze uit. In de praktijk betekent dit dat mijn verlichting nooit langer aan zal zijn dan de verwerking van de event door homeseer.
Even in vorm van "scriptachtige" taal:
Code: Select all
Event "verlichting woonkamer uitschakelen"
If (verlichting woonkamer is aan) en (event wordt handmatig uitgevoerd)
{ schakel verlichting woonkamer uit }
Code: Select all
Event "verlichting woonkamer uitschakelen"
If (verlichting woonkamer is aan)
{ schakel verlichting woonkamer uit }
Tweede probleemstuk:
- Hoe kun je in een event nagaan of voor een bepaalde actie het apparaat aan stond of niet? Bijv het huis verlaten event moet "alle" apparaten uitschakelen. Als we weer terugkomen zou de actie eigenlijk ongedaan moet worden voor de devices die uitgeschakeld zijn. Hoe te realiseren?