Max. Running Instances

FIBARO Home Center

Oscar Otten

Max. Running Instances

Max. Running Instances:

het aantal draaiende kopieën van dezelfde scène op hetzelfde moment

Introductie

Een instantie (in het Engels: instance) betekent een enkele gebeurtenis. In het geval van scènes in het FIBARO-systeem betekent dit een enkele gebeurtenis binnen LUA-code. Elke instantie gebruikt een beetje geheugen, dus het is belangrijk om het max. aantal instanties op de juiste manier in te stellen. De FIBARO Home Center 2 en de FIBARO Home Center Lite hebben, net zoals alle andere computers, limieten qua RAM en CPU gebruik.

In de meeste gevallen heb je slechts één instantie van de LUA-code nodig en werkt de scène goed.

Beginnen met FIBARO?

Mis niets van dit moois. We hebben jarenlange ervaring met FIBARO / Z-Wave en helpen je graag op weg!

Enkele voorbeelden:

Scènes gebaseerd op tijd













In dit type scène dient het vinkje "Starten wanneer Home Center 2 start" (in LUA: %% autostart) geselecteerd te worden. Deze optie kun je vinden op het tabblad "General" van elke scène. De controller kan hiermee in een "oneindige lus" terecht komen die elke minuut de omstandigheden controleert. Blokscènes waarbij een bepaalde tijd als trigger is opgegeven starten met één running instance (draaiende instantie).

Als een gebruiker de scène handmatig uitvoert door op "uitvoeren" (play) te klikken, dan wordt de betreffende scène uitgevoerd zonder aan de voorwaarden van de betreffende scène te voldoen (ofwel: het if-statement van de betreffende scène wordt dan genegeerd). Het volgende bericht verschijnt er dan als pop-up in het Notification Center: "To many instances". Ofwel de scène werkt niet vanwege het feit dat elke klik gelijk is aan één instantie. De scène zou vanaf de knop "uitvoeren" gestart zijn onder voorwaarde dat er in de eerste plaats meerdere instanties zouden zijn doorlopen.

Nadat de actie / scène is voltooid (volgens het bovenstaande voorbeeld dat de relais schakelaar is ingeschakeld), dan wordt de scène opnieuw ingesteld wat betekent dat de scène niet langer actief is.

Ben je installateur en op zoek naar een technisch vangnet op gebied van domotica en videobewaking?

Neem contact met ons op, we bespreken graag de mogelijkheden!

Scenes met 1 device waarop getriggerd wordt




In het dit voorbeeld wordt de scène geactiveerd zodra de betreffende relais schakelaar is ingeschakeld. Als het relais AAN staat, dan schakelt de scène het relais 2 IN en begint vervolgens ook 60 seconden te tellen om hem vervolgens weer UIT te schakelen. Het max. aantal running instances ingesteld op 1 is hierbij voldoende; het is niet nodig om de max. running instances hoger dan 1 in te stellen, omdat de voorwaarde v/d scène slechts één enkele voorwaarde is (ofwel: als het relais AAN staat).

Wat zou er gebeuren als je de max. running instances in deze situatie op 2 instelt? De 2e 'draaiende instantie' v/d scène probeert in dat geval de scène - nog eens opnieuw - te starten, hoewel relais 2 al is ingeschakeld door de eerste 'draaiende instantie'. 60 seconden nadat de eerste instantie het eerste deel v/d THEN regel heeft bereikt (ofwel: relais 2 INschakelen), wordt relais 2 UITgeschakeld. Op hetzelfde moment telt de tweede running instance tot 60 seconden om relais 2 vervolgens (opnieuw) UIT te willen gaan schakelen. Zodra de 60 seconden gepasseerd zijn stuurt de tweede running instance het "Turn Off" commando (ook) naar relais 2 welke reeds is uitgeschakeld door de eerste running instance. Ofwel: de tweede running instance is in deze situatie nutteloos en heeft dus geen invloed op de manier waarop de scène wordt uitgevoerd. Deze situatie (de tweede running instance) is enkel een verspilling van het geheugen en de CPU belasting van de controller omdat deze overbodig / extra aan het rekenen wordt gezet.

Een soortgelijke situatie doet zich voor wanneer je een FIBARO Motion Sensor (FGMS-001) als trigger gebruikt. Een veranderende status van Geactiveerd naar Veilig en omgekeerd start de scène en één instantie.

Wanneer hebben we dan wel meer instanties nodig?


De scène wordt geactiveerd zodra de status van zowel relais (én), relais2 als (én) de bewegingssensor gewijzigd wordt. De scène begint (pas) zodra aan al deze drie voorwaarden is voldaan:

  • relay = ON

  • relay 2 = ON

  • Motion sensor = Breached.


Zodra de status van het relais wordt gewijzigd in AAN, dan begint een instantie (de eerste running instance) te tellen tot 10 seconden. Als niet aan alle voorwaardin is voldaan dan wordt de actie onder het THEN statement (dimmer 2 inschakelen) niet uitgevoerd. Als relais 2 gedurende de 10 seconden van status veranderd in AAN, dan start vervolgens de tweede running instance. De voorwaarden tellen in dit geval tot 10 en 5, maar aan de laatste voorwaarde (Motion sensor = Breached) is nog niet voldaan. De scène om de dimmer 2 in te schakelen start dus nog steeds niet. Pas zodra de beweging gedurende deze tijd wordt doorbroken (Motion sensor = Breached), dan zal de derde running instance ervoor zorgen dat de scène gestart wordt mits de voorgaande 2 voorwaarden niet zijn gewijzigd (ofwel nog steeds AAN zijn).

NB. Houd er rekening mee dat wanneer er geen vertraging is ingesteld in de bovenste twee rode velden (0 in plaats van respectievelijk 10 en 5), er slechts één instantie nodig is om deze scène te starten.

Samengevat: de voorwaarden voorafgaand aan de uitvoering van een scène die het systeem zolang dient te 'onthouden' (ofwel het aantal gelijktijdige triggers waarmee de FIBARO Home Center dient te rekenen), die zijn bepalend voor het aantal in te stellen running instances. In de meeste situaties is het aantal running instances op 1 zetten dus voldoende.

Laten we nog eens een voorbeeld nemen. Een scène wordt uitgevoerd door een bewegingssensor als deze gedurende 60 seconden niet is geactiveerd (breached). Als de status gewijzigd wordt in de status 'safe', dan wordt één instantie gestart die tot 60 seconden telt. Standaard kan de bewegingssensor elke 8 seconden worden geactiveerd (by design [ofwel default settings] volgens de instellingen van parameter 2 v/d bewegingssensor). Dit betekent dat deze gedurende 60 seconden tot 7 keer kan worden geactiveerd. In deze situatie is het verstandig om het aantal max. running instances in te stellen. Je kunt dan max. 3 running instances instellen en de scène testen. Het is niet aan te bevelen om het maximale mogelijke aantal running instances in te stellen, omdat dit een negatief effect heeft op het Z-Wave netwerk, het batterijverbruik van de bewegingsensor en het RAM- en CPU gebruik van de FIBARO Home Center 2 of FIBARO Home Center Lite.

Het is erg belangrijk om de juiste balans te vinden tussen de functionaliteit van scènes en het gebruik van de controller. Je beschikt in ieder geval over een hulpmiddel om de belasting van je controller te kunnen reguleren door het maximum aantal running instances in te stellen.

Samenvattend

Al met al is het aantal running instances afhankelijk van het type scène en de verwachte / benodigde functies. De overgrote meerderheid van scènes heeft slechts één instantie nodig. De instelling  "max. aantal running instances" kan worden ingesteld op het algemene tabblad van elke afzonderlijke scène.