Ik laat mijn rolluiken omlaag gaan als de temperatuur boven de 25 graden komt. Dit doe ik via de OpenWeatherMap. In mijn flow heb ik bij logica de temperatuur is hoger dan 25 aangemaakt. Nu is mijn probleem dat deze flow keer op keer gestart wordt als de temperatuur verandert boven de 25 graden. Dus eerst start hij op 25,2 en dan weer op 25,7 etc. Hoe kan ik er voor zorgen dat de flow maar 1 keer gestart wordt?
Nu doe ik handmatig de rolluiken nog wel eens open boven de 25 graden, maar binnen de kortste keren gaan de luiken weer omlaag omdat de flow blijft starten.
Heb je een kaartje āals de rolluiken open zijnā die je als EN kunt gebruiken?
Dan ben je er al.
Anders een variabele bij THEN op 1 zetten als je de rolluimen sluit. Bij openen zet je hem weer op 0.
In EN gebruik je dan āals variabele 0 isā.
Dank je. Soms kan het zo simpel zijn. Heb inderdaad de EN toegevoegd met āals de status omhoog isā. Ik zocht het meer in de kaarten van de temperatuur, maar daar moest ik dus niet zijnš
Toch kom ik er nog even op terug. Want het werkt nu wel, in die zin, dat flow eenmalig wordt gestart als de temperatuur boven de 25 graden komt.
Alleen als ik nu handmatig een rolluik open, gaat deze vrijwel direct weer dicht omdat de status van het rolluik weer anders is (door mijn handmatig actie). Kan ik ook instellen dat wanneer ik de rolluiken handmatig open doe, de flow het komende uur niet gestart wordt (en het rolluik dus open blijft)?
Denk dat het er aan ligt wat je met handmatig bedoelt. Loopt dat wel via Homey of geheel daar buitenom?
Als het via Homey loopt zou je bij een handmatige actie de automatische flow kunnen disablen en na een uur weer laten enablen via een timer.
Maar misschien is het dan logischer om bij handmatig sluiten een variabele op 1 te zetten en bij handmatig sluiten weer op 0.
Dan check je in de automatische flows deze variabele bij EN. Als de variabele op 1 staat doet de automatische flow dan niets.
Je kan de voorgaande temperatuurmeting opslaan en een vergelijking maken met de huidige temperatuur. Maak vervolgens 2 flows, eentje voor het openen van de zonwering en eentje voor het sluiten die je allebei bij een verandering van temperatuur (of iedere paar minuten bijvoorbeeld) een script laat uitvoeren:
als (vorige_temperatuur < 25) en (huidige_temperatuur >= 25) dan sluit_zonwering;
vorige_temperatuur = huidige temperatuur;
en
als (vorige_temperatuur > 24) en (huidige_temperatuur <= 24) dan open_zonwering;
vorige_temperatuur = huidige temperatuur;
Dat kan helaas niet, @Pieter_Bosman je zult dan een variabele (boolean, ja/nee) moeten maken die geset wordt als Homey de bediening omlaag doet en die variabele als voorwaarde gebruiken voor automatisch omhoog.
Is de status van het scherm ook niet op te vragen via Homey die vraagt aan de Connexoon of het scherm dicht zit of hoe ver hij open staat?
IO is 2-weg communicatie.
Of zegt de Connexoon alleen maar open, dicht en stop?
Homey kan zien of het rolluik omhoog of omlaag is. Alleen wil ik dit wel eens āoverrulenā met de originele afstandsbediening. Als ik dat doe neemt de flow het binnen de kortste keren over omdat er een wijziging in temperatuur is (Van 25,2 naar 25,3 bijv). Bij die minimale wijziging wordt de flow opnieuw gestart als ik handmatig het rolluik open heb gedaan.
Homescript heb ik naar gekeken, maar dat gaat mijn pet te bovenā¦
De oplossing die JPe aangeeft werkt in dat geval wel. Ik zal het even duidelijker toelichten
CreĆ«er een extra Ja/Nee variabele: āautomatisch openā. Je zorgt bij de flows voor open en dicht dat deze āautomatisch openā ook op ja en nee zetten. Bijvoorbeeld: > 25Ā°C, zonwering dicht, open: nee.
In de voorwaarde voor het open doen moet je deze automatisch open op Nee staan, hiermee kan je het systeem dus overrulen. Als jij deze zelf namelijk open doet staat de variabele āautomatisch openā nog op nee.
Je kunt ook nog een extra variabele als tijdslot inbouwen, zodat je max een uur kan overrulen.
Dan heb ik nu dit bij Flow 1 (zie afbeelding). Jij hebt het alleen over āautomatisch openā, en dan ja of nee. Ik heb āstatusā waar ik kan kiezen uit omhoog en omlaag. Is dit hetzelfde of doe ik het verkeerd?
Nee dat is niet hetzelfde. Je moet eerst een ja/nee variabele aanmaken. In mijn voorbeeld heb ik die automatisch open genoemd maar die mag ook een andere naam hebben.
Je kan dit vinden onder logica
Anders even zoeken op het forum. Het werken met variabele is wel een beetje basis kennis om dit soort dingen voor elkaar te krijgen
Inmiddels heb ik 2 flows gemaakt zoals jij hebt beschreven. Dit lijkt goed te werken:
Flow 1
Als
temperatuur is veranderd
En
Temperatuur is groter dan 25 graden
Dan
Set āautomatisch openā naar ja
Anders
Set āautomatisch openā naar nee
flow 2
Als
variabele āautomatisch openā is veranderd
En
Automatisch open is gelijk aan ja
Dan
Zet de status omlaag
Echter nu wil ik hetzelfde omgekeerd doen. Dus als temperatuur onder de 20 graden komt wil ik ik de schermen omhoog hebben. Als ik dan handmatig een scherm laat zakken (met een externe afstandsbediening) wil ik niet dat na elke temperatuurswijziging het scherm weer omhoog gaat.
Ik heb wederom 2 flows aangemaakt maar dan omgekeerd: Flow 3
Als
temperatuur is veranderd
En
Temperatuur is kleiner dan 20 graden
Dan
Set āautomatisch dichtā naar ja
Anders
Set āautomatisch dichtā naar nee
flow 4
Als
variabele āautomatisch dichtā is veranderd
En
Automatisch dicht is gelijk aan ja
Dan
Zet de status omhoog
Echter werkt dit niet goed. Het scherm gaat tussentijds toch omlaag. Moet ik een nieuwe logica aanmaken Bij flow 3 en 4 of kan ik dezelfde gebruiken van flow 1 en 2? Of doe ik iets anders fout?
Het scherm zal altijd omlaag gaan zodra de temperatuur boven de 25 graden komt en omhoog zodra de temperatuur onder de 20 graden komt.
Doe jij in de tussentijd het scherm met de hand omhoog en na bijvoorbeeld een half uur de temperatuur schommelt rond de 25 graden dan zal inderdaad het scherm weer omlaag gaan.
Dat is immers wat deze flows.doen.
Je zou een flow kunnen maken die een variabele schakeld zodra je de afstandsbediening bedient. Die variabele voeg je dan weer toe aan de EN voorwaarden flow 2 en 4.
Dus bijv
Als
Een knop van de afstandsbediening wordt ingedrukt
Dan
Set variabele āscherm handbediendā naar ja
Set variabele āscherm handbediendā naar nee na 300 minuten
In flow 2 en 4 voeg je dan toe bij EN
āScherm handbediendā is gelijk aan NEE.
Hiermee zorg je ervoor dat het scherm voor 5 uur lang niet meer automatisch reageert zodra je hem met de hand bediend heb.
Die 5 uur is natuurlijk een voorbeeld
Wat ook een oplossing is dat je middels een variabele laat toestaan dat flow 1 en 3 maximaal 1 x per dag geactiveerd mogen worden