Vegard trenger hjelp Skrevet 11. februar 2021 Skrevet 11. februar 2021 Hei, Jeg er relativt uerfaren på å lage automasjoner i Home Assistant, men har en klar visjon for hvordan jeg ønsker at lys skal dimmes i leiligheten min. Håper at noen her på forumet kan hjelpe meg å utvikle denne automasjonen, og at også andre drar nytte av den. Lysforholdene varierer utrolig mye basert på tid på året, døgnet og været ute. Jeg ønsker å alltid holde lysene på optimalt nivå, basert på en lysintensitetsmåler. Lyset skal dimmes inn fra kl 07.30 Ved mye naturlig lys skal kunstig lys slå seg av Lysnivået skal være høyt mellom 9 og 18.30 Lysnivået skal være dimmet mellom 18.30 og 00.00 Lysmåleren min gir meg kun en ny avlesning annehver time eller ved fordobling og halvering av lysintensiteten. Jeg ønsker derfor at lysnivået skal reevalueres on-event. Vet enda ikke hvordan jeg skal forholde meg til det med å slå av og på lyset, vil nødig vente et døgn før det kommer tilbake i rytmen sin igjen, men det må bli steg 2. Eksempler er under. Belysning (blå linje) øker gradvis om morgenen, slår seg av når sollyset (oransje) blir sterkt nok og kun naturlig lys trengs, og kompenserer gravis for bortfall av lys ved skumring. Det totale lysnivået reguleres en del ned på kvelden, og dimmes gradvis til null ved natt-punktet. Belysning (blå linje) økes gradvis om morgenen, og holder seg høyt utover dagen, da sollyset (oransje) aldri blir strekt nok til å trigge deaktivering. Det dimmes ned til samme nivå som ovenforstående eksempel på kveldstid, og ned til 0 ved natt. Jeg har begynt med denne psudokoden: on (time: morning) { #Om morgenen sjekker vi om lyset alt er på, hvis ikke så dimmer den mot settpunkt basert på hvor lyst det er ute if (brightness == 0% && val <3000lux) { if (val < 10lux) { brightness = 30%} else if (val < 100lux) {brightness = 60%} #Hvis det er litt lysere, høyere settpunkt else if (val < 1000lux {brightness = 85%} else {brightness = 100%} on (time: night) { #Slå av lyset når det blir natt. Kan bygges ut senere til bevegelsessensor i stuen og andre ting, og vil da utsette med 30min hvis fortsatt aktivitet if (brightness != 0%) {brightness = 0%} on (state change: lux.val) if (night > time > morning+60min) #Hvis på dagtid, bør være oppe og gå nå if (val < 10lux) { brightness = 50%} #Hvis det er mørkt, settpunkt lavt) else if (val < 100lux) {brightness = 65%} #Hvis det er litt lysere, høyere settpunkt else if (val < 1000lux {brightness = 90%} else if (val < 3000lux) {brightness = 50%} else (brightness == 0%) #Hvis det er jækla lyst, slå av } else if (time > night && brightness != 0%){brightness = 0%} #Hvis natt-tid har passert og lysene enda ikke er slått av (hva gjør jeg hvis lysene er manuelt slått på midt på natten? da vil de jo periodisk slå seg av. Lage en ekstra automasjon på tid som tar siste avlesning av lys heller, for morgen og kveld? Så langt har jeg prøvd å lage en entitet av alle lysene jeg vil regulere. Så antar jeg at jeg må lage denne koden i automation.yaml filen. Hadde satt stor pris på om noen hadde tid til å komme med innspill på ideene mine og kanskje hjelpe meg å skrive automasjonskoden i Home Assistant markup. Siter
stigvi Skrevet 11. februar 2021 Skrevet 11. februar 2021 Har du kikket på disse to? Flux - Home Assistant (home-assistant.io) Circadian Lighting [Custom Component] - Share your Projects! / Custom Components - Home Assistant Community (home-assistant.io) De kan begge endre lysstyrke i tillegg til fargetemperatur. De er konfigurerbare så endring av fargetemperatur kan også velges vekk. Siter
Vegard trenger hjelp Skrevet 11. februar 2021 Forfatter Skrevet 11. februar 2021 De virker som fine biblioteker for å få jevn dimming av lyset, men det ser ikke ut til at noen av de regulerer utifra lyssensor, kun plassering. Siter
Moskus Skrevet 12. februar 2021 Skrevet 12. februar 2021 Jeg ville sagt at en lyssensor som rapporterer så sjeldent ikke er egnet til den jobben du ønsker deg, dessverre. Siter
stigvi Skrevet 12. februar 2021 Skrevet 12. februar 2021 En annen ting er at behovet for kunstig lys er lite hvis sollys bidrar med mer enn 100 lux inne. Men grenseverdiene i koden ovenfor er kanskje bare eksempler? Siter
NilsOF Skrevet 12. februar 2021 Skrevet 12. februar 2021 (endret) Jeg har så smått begynt å eksperimentere litt med lysstyrkeregulering ut i fra måling fra sensor. Den mest vellykkede metoden så langt fungerer etter "sample and hold": Dimmingen av lyset gjøres til ønsket styrke med bryter/app. Når sensoren rapporterer lysnivå etterpå så lagres dette. Hvert minutt sjekkes det lagrede nivået mot siste målte nivå fra sensor og dimmingen av lysene justeres opp eller ned ett knepp om det er utenfor en hysterese. Denne minuttjusteringen hoppes over når man venter på ny måling fra sensor etter manuell justering av lysstyrke. Dimmere i openhab har en oppløsning på hundredeler. Hysteresen er ganske uvitenskaplig satt til 1/15 av samplet lysstyrke. edit: hysteresen vil nok variere etter hvor sensoren er plassert i forhold til vinduer og lamper. Så langt er det ingen som har kommentert eller lagt merke til den automatikken 🙂 Bortsett fra meg. Endret 12. februar 2021 av NilsOF Siter
Vegard trenger hjelp Skrevet 12. februar 2021 Forfatter Skrevet 12. februar 2021 @Moskus den oppdaterer seg veldig sjeldent, men den sender som sagt en oppdatering ved dobling eller halvering av styrken. Siden mennesker oppfatter lys logaritmisk tenker jeg det kan være håp. Kom uansett på at jeg hadde noen Mi Flora greier som jeg endelig har fått inn i HA, så nå har jeg to lyssensorer til. De går på BLE, vet ikke helt hvor ofte de oppdaterer, kanskje hvert 10. minutt eller så. @stigvi tallene jeg nevnte er kun for eksempel, vil basere dem på erfaringstall senere. @NilsOF artig! så du justerer lyset, så lagres et setpunkt av lysnivået, som da opprettholdes av en 'PID'? Kanskje jeg bør gjøre det samme og glemme det med å måle lyset ute, og heller kun måle lyset innover i rommet. Siter
Moskus Skrevet 12. februar 2021 Skrevet 12. februar 2021 Akkurat nå, Vegard trenger hjelp skrev: @Moskus den oppdaterer seg veldig sjeldent, men den sender som sagt en oppdatering ved dobling eller halvering av styrken Ja, det er bl.a. det jeg mener er altfor sjeldent. 1 minutt siden, Vegard trenger hjelp skrev: Siden mennesker oppfatter lys logaritmisk tenker jeg det kan være håp Er du sikker på at det gjelder lys...? Jeg vet vi regner lyd på en logaritmisk skala (det er jobben min) for ellers blir det så store tall i Pascal. En subjektiv dobling av lyden er 10 dB selv om en dobling av energinivået er 3 dB. Men at vi oppfatter lys logaritmisk er nytt for meg, og i tillegg vanskelig å finne noe om... Men jeg mener det ikke er særlig vanskelig å merke forskjell på små endringer i lysstyrken. Går det fra 100 Lux til 200 Lux, så har man mistet mye informasjon mellom disse to. Jeg hadde spandert på meg noen sensorer som rapporterte oftere enn det, f.eks. via Zigbee eller Z-wave. Siter
NilsOF Skrevet 12. februar 2021 Skrevet 12. februar 2021 5 minutter siden, Vegard trenger hjelp skrev: så du justerer lyset, så lagres et setpunkt av lysnivået, som da opprettholdes av en 'PID'? Ja. Ikke akkurat PID, men en justering på en hundredel av dimmeverdien pr minutt. Dette er en så liten endring av lysstyrken at det oppfattes glidende og umerkbart. Til akkurat dette eksperimentet bruker jeg en Hue innendørs-sensor. Som uvidelse tenker jeg å dele opp døgnet og sette ny "target" (luminansverdi) på klokkeslett. Med ett knepp justering pr. minutt så vil dette også oppfattes glidende og umerkbart. Videre blir det å sømme inn bevegelsesensorene slik at lyset dimmes ned (ett knepp pr. minutt) om det ikke er bevegelse i rommet (og naborommene). Siter
NilsOF Skrevet 12. februar 2021 Skrevet 12. februar 2021 (endret) 41 minutter siden, Moskus skrev: Er du sikker på at det gjelder lys...? Lysstyrke er en rar ting. Og det må nesten være mere enn noe som kan beregnes med en logaritme med i spillet. Det skal ikke mye lys til i mørket for at vi kan se ting når øynene er tilvendt. På dagtid så måles luminansen fra sensorene til skyhøye verdier, men på natt/kveld så faller verdiene fort til null. For alt jeg vet så oppfatter øynene disse forskjellene alt etter hvor mye gulerot man spiser. Endret 12. februar 2021 av NilsOF Siter
Vegard trenger hjelp Skrevet 12. februar 2021 Forfatter Skrevet 12. februar 2021 38 minutter siden, Moskus skrev: Ja, det er bl.a. det jeg mener er altfor sjeldent. Er du sikker på at det gjelder lys...? Jeg vet vi regner lyd på en logaritmisk skala (det er jobben min) for ellers blir det så store tall i Pascal. En subjektiv dobling av lyden er 10 dB selv om en dobling av energinivået er 3 dB. Men at vi oppfatter lys logaritmisk er nytt for meg, og i tillegg vanskelig å finne noe om... Men jeg mener det ikke er særlig vanskelig å merke forskjell på små endringer i lysstyrken. Går det fra 100 Lux til 200 Lux, så har man mistet mye informasjon mellom disse to. Jeg hadde spandert på meg noen sensorer som rapporterte oftere enn det, f.eks. via Zigbee eller Z-wave. Jeg kjøpte akkurat denne Sensative Strip saken, uvitende om hvor utrolig strømsparende den var. Så en strek i regningen der. Hadde samme bekymringene som deg, men vi får se hvordan det blir i praksis. Den gir meg i det minste utetemperatur. Husker ikke helt hvor jeg lærte dette med lys, men mennesker er veldig gode på å omstille seg fra mye til lite lys, tenk nattsyn og hvor dårlige gamle mobiltelefoner var på mørke. Om dagen om vinteren er det 3000 lux hos meg, mens i et solrikt land på sommeren er det 20 - 30 000 lux. Mye skarpere, men jeg ble overrasket over hvor store forskjeller det var når jeg så målingene i et histogram hjemme hos meg selv. Kurven går skarpt opp og ned igjen når den er plottet linært. Siter
Vegard trenger hjelp Skrevet 12. februar 2021 Forfatter Skrevet 12. februar 2021 Men nok om det, kan dere hjelpe meg å skrive en god automasjon på dette her? Siter
NilsOF Skrevet 12. februar 2021 Skrevet 12. februar 2021 @Vegard trenger hjelp Hvordan man skal gjøre dette i ditt system kan jeg ikke hjelpe med 🙂 Men man trenger en god sensor plassert sånn at det kan leses luminansverdier innenfor ett brukbart måleomeråde . Hovedlyskilden står 1,5 meter fra sensoren i mitt tilfelle. Det er nok til at lyset slåes helt av når sola skinner inn i rommet. Jeg vil tro at en Aeotec ms6 på USB forsyning fungerer utmerket. Ms6 på batteri er jeg sikker på at ikke vil fungere. Jeg tror også at et Fibaro-øye heller ikke duger. Hue sin sensor fungerer strålende. Siter
Vegard trenger hjelp Skrevet 14. februar 2021 Forfatter Skrevet 14. februar 2021 (endret) Selvlært er vellært, osv. Slår på lysene om morgenen, intensitet og fargetemperatur reguleres gjennom dagen. En variasjon skjer hvis det er høyt lysnivå. alias: autolights variables: light_factor: 80 color_factor: 2200 default_colortemp: 420 default_brightness: 127 default_transition: 30 description: >- enables automatic control of brightness and color tempe regulated by outside readings trigger: - platform: state entity_id: sensor.sensative_strips_comfort_luminance - platform: time at: input_datetime.morgen - platform: homeassistant event: start condition: - condition: time after: input_datetime.morgen before: input_datetime.natt weekday: - mon - tue - wed - thu - fri action: - choose: - conditions: - type: is_value condition: device device_id: 97be2f15adad95bd8f5d2e6648a04915 entity_id: sensor.sensative_strips_comfort_luminance domain: sensor above: 2000 below: 50000 sequence: - service: scene.turn_on data: entity_id: scene.dim_high transition: 120 - conditions: - type: is_value condition: device device_id: 97be2f15adad95bd8f5d2e6648a04915 entity_id: sensor.sensative_strips_comfort_luminance domain: sensor below: 2000 above: 40 sequence: - service: light.turn_on data: entity_id: light.stue brightness: >- {{(light_factor * log(states.sensor.sensative_strips_comfort_luminance.state, 10)) | int }} color_temp: >- {{(color_factor / log(states.sensor.sensative_strips_comfort_luminance.state, 2)) | int}} - service: light.turn_on data: entity_id: light.soverom brightness: >- {{(light_factor * log(states.sensor.sensative_strips_comfort_luminance.state, 10)) | int}} color_temp: >- {{(color_factor / log(states.sensor.sensative_strips_comfort_luminance.state, 2)) | int}} - service: input_number.set_value data_template: entity_id: input_number.setcolortemp value: >- {{(color_factor /log(states.sensor.sensative_strips_comfort_luminance.state, 2)) | int}} - service: input_number.set_value data_template: entity_id: input_number.setbrightness value: >- {{(light_factor *log(states.sensor.sensative_strips_comfort_luminance.state, 10))| int}} - conditions: - type: is_value condition: device device_id: 97be2f15adad95bd8f5d2e6648a04915 entity_id: sensor.sensative_strips_comfort_luminance domain: sensor below: 40 sequence: - service: light.turn_on data: entity_id: 'light.stue, light.soverom' brightness: '{{default_brightness | int}}' color_temp: '{{default_colortemp | int}}' transition: '{{default_transition | int}}' - service: input_number.set_value data: entity_id: input_number.setcolortemp value: '{{default_colortemp| int}}' - service: input_number.set_value data: entity_id: input_number.setbrightness value: '{{default_brightness | int}}' mode: restart Endret 17. februar 2021 av Vegard trenger hjelp Oppdatert skript Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.