Titel van het project
Dit project in het kort
Wat maken we slim :
Hoe lang ben je er ongeveer mee bezig :
Moeilijkheidsgraad : Beginner / Gevorderd / Moeilijk
.
Gebruikte producten in dit project
Slimme rolluiken | Voorkom een botsing
Automatische rolluiken zijn superhandig. Maar wat gebeurt er wanneer het raam of de deur nog openstaat en het rolluik sluit? Je wil niet dat het rolluik vastloopt op het raam of de deur, als deze toevallig nog open staan! Om dit te voorkomen kun je een beveiling inbouwen die kijkt of het rolluik veilig omlaag kan. In dit project hebben we gebruik gemaakt van de Home Center 2 en Home Center Lite.
Optie 1 | via een scene
Met een eenvoudige scene en een paar instellingen kunnen we eenvoudig controleren of het rolluik veilig omlaag kan. Plaats een raam/deursensor op het raam of de deur. Voor een goede werking van deze scene stel je paramater 41/14 van de rolluikschakelaar in op scene-activering.
(Let wel: deze optie werkt alleen voor controllers die met een (LUA-)code werken.)
We maken nu een scene die het rolluik omhoog trekt op het moment dat er gevaar dreigt. Het rolluik wordt dus geactiveerd en daarna direct teruggetrokken. Op zich is dit natuurlijk niet geheel veilig, omdat er bij vertraging vanuit de controller toch schade kan optreden. De scene wordt getriggerd door de raam/deursensor.
Het LUA-script ziet er als volgt uit:
--[[
%% properties
21 sceneActivation
21 value
%% globals
--]]
open = fibaro:getValue(117, "value");
fibaro:debug(open);
local startSource = fibaro:getSourceTrigger();
if ( tonumber(fibaro:getValue(117, "value")) > 0 ) then
fibaro:call(21, "open");
end
Verklaring van het script:
ID 21 : het ID-nummer van de rolluikschakelaar (vul hier je eigen ID-nummer in)
ID117 : het ID-nummer van de raam/deur sensor (vul hier je eigen ID-nummer in)
21 scene Activation wordt gebruikt in combinatie met het instellen van parameter 41. Bij het indrukken van de fysieke knop start deze scene.
21 Value zorgt dat de scene start als er via de app of browser een opdracht aan de schakelaar wordt gegeven.
Let op: tijdens het testen bleek dat deze scene alleen werkt wanneer er een Z-wave commando gegeven wordt, en niet wanneer de aangesloten drukknop wordt bediend. Wij moeten nog even uitvogelen hoe dat zit.
Optie 2 | via een parameter
Een tweede optie is om gebruik te maken van variabelen. Dit is vooral handig als bijvoorbeeld de ene scene de andere scene aanstuurt. Bij het gebruik van 'een scene in een scene' wordt er namelijk geen rekening gehouden met de condities in de onderliggende scene, maar wel met de waarde van een variabele.
In 4 stappen laten we zien hoe we dit hebben gedaan:
Stap 1: hier geven we een startwaarde aan de variabele van het rolluik. Aan een verandering van deze waarde kunnen we een actie koppelen.
Stap 2: we maken een scene voor het sluiten van het rolluik en het controleren van de status van de deur. De trigger van de scene is een variabele.
De scene start dus op het moment dat de waarde van de variabele 'blinds garden' wijzigt.
Deze scene (kan op 'hidden') laat het rolluik sluiten als de variabele 'blinds garden' 1 wordt, en de deur 'safe' is. Zoals je ziet wordt aan het eind van de scene de waarde van de variabele weer teruggezet naar de basiswaarde 0. De volgende keer dat deze scene aangeroepen wordt, kan de waarde van de variabele weer naar 1 veranderen.
Stap 3: nu gaan we de bovenstaande scene aansturen vanuit een andere scene.
Als je op 'key 8' van de afstandsbediening drukt, verandert de status van de variabele 'blinds garden' naar 1 en start de scene voor het sluiten van het rolluik. Het mooie van deze oplossing is dat deze scene een andere scene start. De status van de deur wordt meegenomen: het rolluik sluit niet als de deur open is.
We houden nu echter een probleem over waar je achter komt als je de scene test, en wie doet dat nou niet? De scene om het rolluik te sluiten wordt niet afgemaakt omdat de deur niet 'safe' is. Zodoende wordt de variabele 'blinds garden' niet op 0 gezet. Resultaat: het rolluik zal niet meer sluiten ook als de deur 'safe' is.
Daarom hebben we stap 4 nodig: de variabele resetten als de deur gesloten wordt.