Ik doe lampen, gordijnen etc nu allemaal nog op zonnestanden. Dat werkt best goed, maar pakt soms vreemd uit als het een hele donkere dag is, of juist heel erg zonnig.
Daarom wil ik daar de helderheid aan toe gaan voegen. Nu heb ik een Aqara lichtsensor op een vaste plek liggen, niet in de directe zon maar wel direct bij daglicht (achter een raam).
Omdat ik niet wil dat de boel gaat ping-pongen rond bepaalde waarden, dacht ik een gemiddelde te berekenen op basis van de laatste 5 metingen en dan te vergelijken met de nieuwste meting.
Uiteindelijk moet ik nog even bepalen wat mijn grenswaarden zijn voor verlichting, luxaflexen en gordijnen.
Ik draai volledig op lux en dat werkt prima.
Ik gebruik nu 1 lux sensor dat werkt al goed.
Meerdere op verschillende plaatsen is altijd beter (met grouping app kan je ze bundelen en dan met max, min of average werken).
Tip: gebruik voor de te lux een variabele, in het beging zul je wat moeten tunen. Met een variabele is dat eenvoudig, hoef je de flows niet aan te passen.
Vvoor het aanzetten gebruik ik gewoon 1 lux waarde (dus niets met gemiddelden over meer metingen). Als het plotseling donker wordt zit je in het donker tot de 5 metingen voorbij zijn…
Op pendelen te voorkomen het ik een anit pendel variabele toegevoegd, zodat het licht minimaal 5 minuten aanblijft. Dat vangt wolkjes bohoorlijk goed af.
Voor het uitzetten gebruik ik dezelfde lux variabele, maar dan met een faktor vermenigvuldigd. Zodat het licht niet meteen weer uitgaat.
Ik gebruik een factor ipv optelling, dat werkt wat beter als je met de variabele gaat spelen
Dat zijn goede tips, dank je!
Ik heb er nog een liggen, dus ik denk dat ik inderdaad maar een gemiddelde ga nemen van voorkant en achterkant huis, of iets dergelijks.
En middelen over 5 metingen is misschien wel wat veel inderdaad. Voor mijn gevoel is 1 meting onder een bepaalde waarde net te weinig, misschien dat ik er 2 van maak. Ik heb ook nog niet gekeken naar hoe lang er tussen die metingen zit.
Is het misschien makkelijker om bij een nieuwe meting de nieuwe waarde te berekenen met 80% van de bestaande waarde, en 20% van de nieuwe? Zo zal 1 nieuwe meting de waarde waarmee je werkt in mindere mate beĂŻnvloeden.
Dus:
ALS helderheid veranderd
DAN bereken Lux_Gemiddeld als (Lux_Gemiddeld * 0.8 + NieuweLuxWaarde * 0.2)
Dan kan het in 1 kaartje
Omdat die Aqara best wel vaak nieuwe waardes stuurt, zou je ook kunnen spelen met de percentages.
Ik had het eerst ook zo ingeregeld als jij had, maar daarbij kreeg je soms toch een false positive omdat je soms net op de 5 meetmomenten de juiste waarde hebt (of niet) en dan gaat de zon niet op (pun intented).
Wat dit doet is zorgen dat het een bepaalde periode lang een bepaalde waarde houdt, als de waarde tijdens deze periode lager wordt dan de treshhold dan onderbreekt de zandlopen en wordt de rest van de flow niet gestart:
Zodra de zandloper leeg is wil dat dus zeggen dat (in dit geval 600 seconden lang) de waarde boven 7000 lx is geweest en kan de flow uitgevoerd worden.
Hopelijk kan je hier wat mee. Met expressions kan het ook, maar dit vind ik zelf een makkelijkere oplossing.
Voor het uitschakelen gebruik ik dezelfde logica, alleen dan met andere waarden, hier moet ik nog een klein beetje mee tweaken maar tot nu toe lijkt dit prima te werken.
Ik ben weer wat verder aan het experimenteren geweest en heb nu wat goede ideeën van jullie gecombineerd.
Ik gebruik nu 2 sensoren, eentje binnen achter een raam, eentje onder de overkapping. Beiden heb ik bewust nooit vol in de zon (weet nog niet of dat de juiste keuze is).
Omdat de sensoren allebei iedere 2-3 seconden een nieuwe waarde doorgeven, gebruik ik niet de “als gewijzigd” trigger want dat is veel te veel. Ik check nu iedere 30 seconden (nog te onderzoeken of dat genoeg is).
Ik maak een variabele luxGemiddeld aan met het gemiddelde van de 2 sensoren. Het idee is dat ik hiermee een wat stabielere waarde krijg over de dag heen.
Ik heb grenswaarden ingesteld in variabelen, dus makkelijk aan te passen. Aparte boven- en onder waarden (bijv luxBovengrensScreens = 3000 en luxOndergrensScreens = 1200). Dit omdat het moment dat je iets dicht zou willen doen, misschien niet ook het moment is waarop je hem andersom weer open zou willen doen.
Timers toegepast. Dus als er eenmaal een grenswaarde is bereikt, gaat teller lopen. Momenteel op 5 minuten ingesteld. Blijft het 5 minuten onder die waarde, dan is de meting betrouwbaar en wordt het tijd om vervolgactie in te zetten. Ik verwacht veel timer aan- en uit momenten rondom de grenswaarde, maar op enig moment zal de waarde structureel eronder blijven.
Heb er nu nog geen acties aan gekoppeld verder, alleen notities. Daarmee hoop ik de grenswaarden goed in te kunnen gaan schatten voor de verschillende vervolgstappen (Luxaflex, screens en verlichting).