Gå til innhold
  • Bli medlem

Vinnerliste

Populært innhold

Viser innholdet med mest poeng fra 26. des. 2021 i alle områder

  1. Admin får velge om det heller blir oppretta ein ny tråd med tittel "Homekit-plugins til Homeseer. Yes more ". No har det seg faktisk slik at eg dette fins jo løysingar for, både gratis og gode!! Her kjem ein kort oppsummering av kva Apple Homekit er, kva eg nyttar det til og korleis eg har fått det til å funke. Men før eg byrjar må eg innrømme at dette er den tingen i heile smarthuset som har høgast WAF! Grunnen til at eg vart nysgjerrig på det var at me flytta inn i ny leilegheit der det var solskjerming og fjernstyrte takvindauge frå Velux som kun støtta Apple Homekit, og dette måtte eg jo få inn i HomeSeer, sjølvsagt. Om Homebridge m/ HomeSeer-plugin: Er ein måte å integrere ting som vanlegvis ikkje støttar Apple Homekit (Apple Hjem-app), som t.d. HomeSeer gjennom HomeSeer-pluginen, men og for å bruke ting som støttar Homekit men ikkje HomeSeer. 2-vegs-kommunikasjon vha. ASCII-kommandoar gjennom port 11000. PC-softwaren Homebridge blir som ein «Bridge» i Apple Hjem-appen (på same måte som Velux-huben me har for solskjerming og), men ein må ha ein Apple TV eller iPad som «verifisert hovudbridge» for at du skal kunne nå ting utanfrå (utanfor lokalt nettverk). HomeBridge har eit web-UI med standardport 8581. Link: http://localhost:8581/, evt. http://IP_til_PC:8581/ Config i HS3-enden (utfør før Homebridge-installasjon): ASCII commands (rett under JSON): enable Control port: 11000 Installasjon av Homebridge: Følg instruksjonar på https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Windows-10 og kom deg inn i web-ui Installer plugin «Homebridge Homeseer4» på http://localhost:8581/plugins (OBS! Funkar fjell på HS3 også) Sett opp nødvendig info under plugins, settings. Legg til ein testparameter, t.d. stemninga "kosestund" eller devicen "juletre" (finn ref-ID i HomeSeer) Legg inn resterande parameterar når ein har "knekt koden" Kopling av ting som ikkje går direkte: For at ting/devices i HomeKit skal styrast ut frå HomeSeer (til dømes når me går ut døra triggar me ei scene som triggar event i HomeSeer): styr ein virtuell device som er lagt inn i ein "automasjon" (event-motoren i HomeKit) som igjen stenger alle takvindauga. Alternativt: når me legg oss triggar me ein event "God natt", som slår på den virtuelle devicen "Pause Apple TV" som pausar Apple TV-en gjennom ein automasjon i HomeKit og deretter skrur seg den virtuelle devicen av att (og så slår Apple TV-en og TV-en seg automatisk av etter 10 minuttar). Har endå ikkje praktiske eksempel frå Apple Homekit-->HomeSeer, men de forstår sikkert moglegheitene. Status per no: Styrer stemningar og lys frå Siri på telefon, klokke og Apple TV Les av temperatur og luftfuktigheit i alle rom i eit veldig fint og enkelt grensesnitt på telefonen Madamen har fått satt opp sine eigne events ("automasjonar") og storkosar seg med det! ... og ikkje minst: styrer kaffitraktaren frå klokka 😜 Kan sikkert legge ut litt skjermdumpar om det er av interesse. Skrik ut om de treng hjelp!
    2 poeng
  2. Etter alvorlig lang tid med unødvendig mye rot og stress på hjemskjermen, har jeg ryddet bort masse entiteter og knapper for å opprettholde en viss WAF. Nå er jeg og kona endelig fornøyd med oppsettet. Vi har ett separat oppsett for skjerm og mobil. Hvis interesse, kan jeg poste mobilversjonen. Dataene nede i venstre hjørne er strømpris inkl. avgifter og nettleie, forbruk nå (går til salg når solcellene gir plussverdi) og solcellenes effekt nå. 68,2 er strømkostnad til nå i dag.
    1 poeng
  3. En av fordelene med gammelt hus og gammelt el.anlegg. Men ja, etter dagens norm skal det være fast tilkobling på VVB, med en dedikert kurs i sikringsskapet. Greit nok at gammelt el.anlegg ikke må oppgraderes til dagens krav. Men en ny-montert stikkontakt faller nok inn under dagens krav og normer…
    1 poeng
  4. Ja, 0.0.2.5 er siste versjon. Fungerer helt fint med HS4.
    1 poeng
  5. Har ikke gjort det, tviler på at det er mulig. Du kan koble flere aktuatorer på samme kurs ja, så lenge du holder deg innenfor spec.
    1 poeng
  6. Heatit ZM er alt montert, ellers takk for tilbudet
    1 poeng
  7. Hei Hvis du stopper Homesser og går inn i Config mappa. Slett users.cfg og start Homeseer igjen. Da er alle brukerne borte, og den opprinlige Admin aktiv.
    1 poeng
  8. Noen råd på veien når du bruker Raspberry pi 4. - Bruk USB forlengelse kabel mellom Conbee og usb. Gjør også dette for Z-stick. Kilde: https://phoscon.de/en/conbee/install - Bruk en strømforsyning som gir tilstrekkelig med strøm til raspberry pi. En rasberry pi klarer ikke alltid å levere nok til usb enheter, så en ekstra usb hub med strøm kan hjelpe. Dette er viktig når du bruker ekstern SSD disk da denne trekker en del strøm. Kilde: https://www.home-assistant.io/installation/raspberrypi Youtube videoer: https://www.youtube.com/watch?v=jj9cSSOuQU8&list=PLHCmYWBoMir_DRvTVAmAnqVe0aGTtJMBy&index=1 https://www.youtube.com/watch?v=QxtDyMbDOh4&list=PLHCmYWBoMir_DRvTVAmAnqVe0aGTtJMBy&index=4
    1 poeng
  9. Da vil jeg starte med å anbefale å installere tillegget "Samba share" og sette denne opp sånn at du har tilgang til katalogen der konfigurasjonsfilen til Home Assistant er. Hvis du roter det til såpass godt at HA ikke vil starte, så kan du allikevel nå tak i filene og endre tilbake de siste skumle endringene du gjorde. HA er veldig flink å fortelle at konfigurasjonen du gjorde er feil, men noen ganger bommer den.
    1 poeng
  10. Hvis du har Z-water og Z-temp2 kan du assosiere de med hverandre, så fungerer de uavhengig av Home Assistant. Standard er med kontroll ned på 0.5 grad der også, men kan justeres om ønskelig. Har akkurat gjort det samme (bare med Z-trm3, da jeg ikke gidder å bytte batteri og vil ha alt i samme elko ramme)
    1 poeng
  11. Eksempel på en sesjon fra en RPi4 (men en hvilken som helst Linux-boks med nyere blåtann burde funke): Finn BLE-dingser i nabolaget: root@idefix:/tmp# hcitool lescan LE Scan ... F3:BA:84:AA:5A:48 Netti_01452ec784 F3:BA:84:AA:5A:48 (unknown) 58:93:D8:8C:7C:72 (unknown) 58:93:D8:8C:7C:72 (unknown) 80:6F:B0:A9:EA:0F (unknown) 80:6F:B0:A9:EA:0F (unknown) ^C Koble deg til en av de interessante. Her en Airthings Wave Mini: root@idefix:/tmp# gatttool -I [ ][LE]> connect 80:6F:B0:A9:EA:0F Attempting to connect to 80:6F:B0:A9:EA:0F Connection successful Finn ut hvilke variable du kan lese/skrive ("characteristics" i BLE lingo): [80:6F:B0:A9:EA:0F][LE]> characteristics handle: 0x0002, char properties: 0x02, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb handle: 0x0006, char properties: 0x02, char value handle: 0x0007, uuid: 00002a04-0000-1000-8000-00805f9b34fb handle: 0x0009, char properties: 0x20, char value handle: 0x000a, uuid: 00002a05-0000-1000-8000-00805f9b34fb handle: 0x000d, char properties: 0x02, char value handle: 0x000e, uuid: b42e3b98-ade7-11e4-89d3-123b93f75cba handle: 0x0011, char properties: 0x2c, char value handle: 0x0012, uuid: b42e3ef4-ade7-11e4-89d3-123b93f75cba handle: 0x0015, char properties: 0x10, char value handle: 0x0016, uuid: b42e41c4-ade7-11e4-89d3-123b93f75cba handle: 0x001a, char properties: 0x1c, char value handle: 0x001b, uuid: f000ffc1-0451-4000-b000-000000000000 handle: 0x001e, char properties: 0x1c, char value handle: 0x001f, uuid: f000ffc2-0451-4000-b000-000000000000 handle: 0x0022, char properties: 0x14, char value handle: 0x0023, uuid: f000ffc5-0451-4000-b000-000000000000 handle: 0x0027, char properties: 0x02, char value handle: 0x0028, uuid: 00002a23-0000-1000-8000-00805f9b34fb handle: 0x0029, char properties: 0x02, char value handle: 0x002a, uuid: 00002a24-0000-1000-8000-00805f9b34fb handle: 0x002b, char properties: 0x02, char value handle: 0x002c, uuid: 00002a25-0000-1000-8000-00805f9b34fb handle: 0x002d, char properties: 0x02, char value handle: 0x002e, uuid: 00002a26-0000-1000-8000-00805f9b34fb handle: 0x002f, char properties: 0x02, char value handle: 0x0030, uuid: 00002a27-0000-1000-8000-00805f9b34fb handle: 0x0031, char properties: 0x02, char value handle: 0x0032, uuid: 00002a29-0000-1000-8000-00805f9b34fb properties forteller hva som er read/write/notify. 0x02 er read. Blir fort ekstra nysgjerring på UUIDer som ikke startert med 0000. Listen overnfor to handles for hver characteristic. Vi er naturlig nok mest interessert i "value". Så f.eks: [80:6F:B0:A9:EA:0F][LE]> char-read-hnd 0x000e Characteristic value/descriptor: 00 00 14 6e 84 c7 57 0f 58 00 00 00 96 57 13 00 ff ff ff ff Nå skal du jo jobbe litt for å få meningen ut av det der om ikke Airthings hadde publisert koden for å parse deler av det. Dette er 6 * le16 og 2 * le32 integer der vi har: 00 00 - ukjent 14 6e - temperaturen i centi-Kelvin (0x6e14/100 - 273,15 = 8,65 °C) 84 c7 - ukjent 57 0f - relativ luftfuktighet i % * 100 (0x0f57 / 100 = 39 %rH) 58 00 - VOC i ppm. (0x0058 = 88 ppm) 00 00 - ukjent 96 57 13 00 - ukjent ff ff ff ff - ukjent Ikke helt rett fram... Men om man tar en del samples sammen med dekodede verdier fra app eller display så er det ofte mulig å gjette ganske mye. Vet ikke hvor lang tid jeg hadde brukt på å innse at temperaturen var gitt i Kelvin, dog 🙂 Mange av de andre verdiene er bare ren ascii og dermed nokså lett å få noe fornuftig ut av. Som f.eks. [80:6F:B0:A9:EA:0F][LE]> char-read-hnd 0x0032 Characteristic value/descriptor: 41 69 72 74 68 69 6e 67 73 20 41 53 Altså "Airthings AS". Når du er ferdig: [80:6F:B0:A9:EA:0F][LE]> disconnect (gatttool:979948): GLib-WARNING **: 16:32:19.458: Invalid file descriptor. [80:6F:B0:A9:EA:0F][LE]> exit
    1 poeng
  12. Oras sitt smarte dusjhode er en god idé, men mangler litt på å faktisk være et smart produkt. Vi har forholdsvis smart hus. Og med det følger det med diverse informasjon, bl.a. om hvor mye strøm vi bruker på varmvann. Per enhet er det varmvannet som slår høyest ut. Ikke så rart, egentlig. Jeg er glad i å dusje. Fruen også. Jentene våre dusjer også, sannsynligvis minst en gang i løpet av døgnet. Jeg tenkte jeg ville prøve med en godt, gammeldags sparedusj. Men det viste seg å være overraskende vanskelig å finne en som andre faktisk kunne gå godt for, så prosjektet ble liggende på hylla. @Venin postet et hint om at noe var på vei. En mulig løsning på varmtvannsproblemet Oras Hydractiva Digital er et smart dusjhode med display, LED-lys og Bluetooth. Det krever ikke batterier og skal virke sammen med en app. Appen finnes både or iPhone og Android. Displayet viser varmen på varmtvannet, mengden vann man bruker og hvor mange kWh forbruket tilsvarer. LED-lyset på undersiden viser grønt i begynnelsen av dusjen, og blir rødere og rødere hvor mye man nærmer seg 50 liter vann man kommer. Billig moro er det ikke. Veiledende pris er 1690,-. Smart, sa du…? Man kobler altså dusjhodet til en app. Tanken er grunnleggende god. Der får man statistikk over de 10 siste og de 100 siste dusjene man har tatt. Man kan se hvor flink man er å bidra til å spare energi på en internasjonal skala. Dusjhodet blir drevet av vannstrømmen. Og dermed stopper strømmen når man går ut av dusjen. Den blir riktignok ikke tom for strøm med en gang, men det varer ikke veldig lenge. Det varer imidlertid lenge nok til at hvis to dusjer etter hverandre, så har person nr. 2 allerede brukt opp kvoten før dusjingen startet. Da lyser den rødt uansett. Deler av det som vises i appen er jo mest interessant når man står i dusjen, f.eks. er jo startskjermen informativ med liter per sekunder og nåværende temperatur, i tillegg til gjennomsnittlig vannforbruk, energiforbruk og dusjtid. Praktisk. Men hvem tar med seg mobilen inn i dusjen? … og hva med smarthuset? Kommunikasjon med en app er sikkert OK for mannen i gata. Problemet er at her, på denne siden, forventer vi mer. Når et dusjhode koster 1700,- bør det nesten kunne lage morgenkaffen også. Siden kommunikasjonen er bluetooth, og (helt ærlig) er det ikke verdens viktigste informasjon som blir sendt, skulle jeg ønske at det var mulig å bruke en ESP32 eller tilsvarende for å hente ut informasjonen. Med en enkel kode for å publisere dataene fra dusjhodet til MQTT, kunne denne fort blitt nødvendig for smarthusentusiastene. Jeg vil ha mulighet til å blinke med lysene eller endre fargen på dem etter forbruket, og jeg vil ha muligheten for å analysere data i større detalj. Nå er ikke det mulig. Det økonomiske aspektet Oras skriver på boksen at "Real-time feedbak reduces water and energy consumption on average 22%". 22% av en dusj som denne høsten koster 20 kr blir 4,4 kr. 1700 / 4,4 = 386 dusjer for å spare den ned. La oss si at det dusjes 2-3 dusjer i en husstand pr. dag, så er denne nedbetalt på 155 dager. Under et halt år. Det er jo ikke så verst. Det er med dagens priser, dvs. høsten 2021 som har hatt unormalt høye, for å ikke si ekstreme priser. Hvis en dusj koster 5 kr tar det følgelig 4 ganger lenger tid å betale den ned, og da begynner vi å nærme oss 2 år. Alt dette forutsetter jo at besparelsen faktisk er 22%. Påstanden om at informerte brukere bruker mindre strøm bør jo holde vann (badam tish!), men jeg har ikke funnet denne forskningen. Det er mulig jeg ikke har lett nok eller på rett sted. Jeg vil imidlertid stille spørsmål om utsagnet er riktig i alle sammenhenger. Konklusjon (forsøksvis) Jeg har kjøpt den. Jeg er litt usikker på om jeg hadde kjøpt den en gang til. Informasjonen den gir er god, og den visuelle feedback'en man får fortløpende i dusjen er faktisk informativ. Produktet er ikke helt ment for oss i Norge som ofte har mer vann enn vi liker, men energi-delen har vi for tiden god bruk for. Er du av typen som digger apper og bruker dem aktivt, og har 1700 kr som du ikke vet hva du skal bruke på, så kjør på. Jeg hadde heller kjøpt en AeoTec Heavy Duty Switch og bestilt en elektriker, og dermed hatt mulighet til å flytte oppvarmingen av varmtvann til en tid på døgnet hvor prisen er lavere. Å dusje kortere har selvfølgelig også noe for seg. Mindre varmtvannsforbruk gir mindre strømbruk, men det krever fokus for alle i husstanden hele tiden for å få uttelling. Jeg kan kun se en liten (om noen ) reduksjon av strømforbruk til VVB før og etter at dette dusjhodet ble installert, og det kan være fordi Oras Hydractiva er en bedre sparedusj enn det forrige dusjhodet var. Som sparedusj tenker jeg at den fungerer. Den største feilen for meg er at denne egentlig fine og dyre sensoren ikke kan snakke med noe annet enn mobiltelefonen min. Det er ikke særlig smart i min verden... (Hvis noen kan noe om Bluetooth og ESP32 eller Raspberry Pi enn meg så gi meg gjerne et hint....)
    1 poeng
  13. Om du ser på Schneider PowerTag (Som er akkurat det samme, med annen logo), så har de en Modbus/TCP enhet som du kan lese data ut fra. Mulig du kan lese Elko sine tags rett inn i Schneider sitt system, da det tross alt er samme komponenter.
    1 poeng
  14. ... men det er ikke vanlig. Våre varer lenge.
    1 poeng
  15. Det var snakk om dette for noen dager siden og jeg tenkte jeg kunne poste mitt oppsett så kan eventuelt noen bruke det som et eksempel til eget bruk. Jeg har lagd mitt system slik at det baserer seg på scener. Men det er ikke 100% basert på dette. For å slå av lys så blir turn_off på light domene brukt. Her kunne en brukt en scene for å slå av også og da kunne dette vært brukt til andre ting enn lys også. Jeg har lagd det pyscript kaller en "app". I config.yaml er alt lys satt opp som dette. Har lagt inn noen kommentarer. I tillegg er det lagd slik at bryter veksler mellom scene ved gjentatt trykk på "lys på". Når en bruker bryter til å aktivere scene så skjer dette umiddelbart, men blir en scene aktivert av betingelser så skjer dette ved hjelp av en konfigururbar "transition". Lys over garasjeport blir for eksempel endret over 1 time. Selve koden kommer i et innlegg nedenfor. apps: scenestyring: - id: lys_stue # unik id for denne appen sensors: # Liste med sensorer som trigger lys. Denne listen trenger ikke være med hvis en bruker en veggbryter for å styre lys - binary_sensor.stue_og_kjokken_presence lightlevelsensor: sensor.stue_og_kjokken_lightlevel # Lysnivå-sensor hvis en ikke vil at lys skal slås på dersom det ikke er mørkt lightlevel: 95 switchID: stue_bryter # Denne er valgfri og styrer lys manuelt. Dersom lys er slått på manuelt så vil det stå på til det blir slått av manuelt. lightID: light.stue # ID på lys som skal slås av. Her har jeg brukt en lysgruppe delay: 7200 # Antall sekunder lys skal stå på før det automatisk blir slått av. Transition: 600 # Antall sekunder en skal bruke på å aktivere normal scene dersom betingelsene for det er oppfylt. Dette gjelder kun hvis en annen scene er aktiv. Er lys av så blir en scene aktivert umiddelbart. En vil jo ha det lyst med en gang en kommer inn i et rom. SceneNormal: scene.stue_normal # Scene som skal aktiveres dersom ingen andre betingelser er oppfylt. Den blir på en måte "default" scene. scenes: # Dette er en liste med betingelser knyttet opp mot scene som skal aktiveres dersom lys slås på. Disse scenene blir også aktivert dersom lys allerede er påslått automatisk av bevegelsesensor. scene1: name: scene.stue_natt # Dette er nattlys og gjelder når input_boolean.sleeptime er on. Det går 130 sekund til lyset går av igjen sensor: input_boolean.sleeptime state: "on" delay: 130 scene2: name: scene.stue_besok sensor: input_boolean.visitors_comfort_temp state: "on" scene3: name: scene.stue_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_kjokken sensors: - binary_sensor.stue_og_kjokken_presence lightlevelsensor: sensor.stue_og_kjokken_lightlevel lightlevel: 95 switchID: kjoekken_bryter lightID: light.kjoekken delay: 7200 Transition: 600 SceneNormal: scene.kjoekken_normal scenes: scene1: name: scene.kjokken_natt sensor: input_boolean.sleeptime state: "on" delay: 130 scene2: name: scene.kjokken_besok sensor: input_boolean.visitors_comfort_temp state: "on" scene3: name: scene.kjokken_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_vaskerom sensors: - binary_sensor.vaskerom_presence switchID: vaskerom_bryter lightlevelsensor: sensor.vaskerom_lightlevel lightlevel: 1000 lightID: light.vaskerom delay: 600 Transition: 600 SceneNormal: scene.vaskerom_normal scenes: scene1: name: scene.vaskerom_nattlys sensor: binary_sensor.lysstyrke state: "off" delay: 130 scene2: name: scene.vaskerom_kveld sensor: binary_sensor.dark_outside state: "on" delay: 900 # På vaskerom går lys av igjen etter 600s på dagtid, 900s på kveldstid og etter 130s på nattetid. - id: lys_gang_1_etg sensors: # Lys i gang styres av bevegelse sensor, men også dør og garasjeport. - binary_sensor.gang_1_etg_presence - binary_sensor.hoveddor - binary_sensor.garasjeport switchID: gang_1_etg_bryter lightlevelsensor: sensor.gang_1_etg_lightlevel lightlevel: 25 lightID: light.gang_1_etg Transition: 600 SceneNormal: scene.gang_1_etg_normal scenes: scene1: name: scene.gang_1_etg_nattlys sensor: input_boolean.sleeptime state: "on" delay: 130 scene2: name: scene.gang_1_etg_kveld sensor: binary_sensor.dark_outside state: "on" delay: 7200 delay: 7200 - id: lys_gang_u_etg sensors: - binary_sensor.gang_u_etg_presence - binary_sensor.hoveddor_u_etg switchID: gang_u_etg_bryter lightlevelsensor: sensor.gang_u_etg_lightlevel lightlevel: 25 lightID: light.gang_u_etg Transition: 60 SceneNormal: scene.gang_u_etg_normal scenes: scene1: name: scene.gang_u_etg_nattlys sensor: binary_sensor.lysstyrke state: "off" delay: 240 scene2: name: scene.gang_u_etg_kveld sensor: binary_sensor.dark_outside state: "on" delay: 1800 delay: 900 - id: lys_bad_1_etg sensors: - binary_sensor.bad_1_etg_presence switchID: bad_1_etg_bryter lightlevelsensor: sensor.bad_1_etg_lightlevel lightlevel: 1000 lightID: light.bad_1_etg delay: 420 Transition: 600 SceneNormal: scene.bad_1_etg_normal scenes: scene1: name: scene.bad_1_etg_speil delay: 3 scene2: name: scene.bad_1_etg_nattlys sensor: input_boolean.sleeptime state: "on" delay: 420 scene3: name: scene.bad_1_etg_kveld sensor: binary_sensor.dark_outside state: "on" delay: 420 - id: lys_bad_u_etg sensors: - binary_sensor.bad_u_etg_presence switchID: bad_u_etg_bryter lightlevelsensor: sensor.bad_u_etg_lightlevel lightlevel: 1000 lightID: light.bad_u_etg delay: 420 Transition: 60 SceneNormal: scene.bad_u_etg_normal scenes: scene1: name: scene.bad_u_etg_speil delay: 3 scene2: name: scene.bad_u_etg_nattlys sensor: binary_sensor.lysstyrke state: "off" delay: 420 scene3: name: scene.bad_u_etg_kveld sensor: binary_sensor.dark_outside state: "on" delay: 420 - id: lys_garasje sensors: - binary_sensor.garasje_presence - binary_sensor.garasjedor - binary_sensor.garasjeport switchID: garasje_bryter lightlevelsensor: sensor.garasje_lightlevel lightlevel: 150 lightID: light.garasje delay: 1800 Transition: 60 SceneNormal: scene.garasje_normal scenes: scene1: name: scene.garasje_nattlys sensor: binary_sensor.lysstyrke state: "off" delay: 130 - id: lys_soverom_1_etg switchID: soverom_1_etg_bryter lightID: light.soverom_1_etg Transition: 60 SceneNormal: scene.soverom_1_etg_normal scenes: scene1: name: scene.soverom_1_etg_nattlys scene2: name: scene.soverom_1_etg_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_soverom_u_etg switchID: soverom_u_etg_bryter lightID: light.soverom_u_etg Transition: 60 SceneNormal: scene.soverom_u_etg_normal scenes: scene1: name: scene.soverom_u_etg_nattlys scene2: name: scene.soverom_u_etg_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_gjesterom_u_etg switchID: gjesterom_u_etg_bryter lightID: light.gjesterom_u_etg Transition: 60 SceneNormal: scene.gjesterom_u_etg_normal scenes: scene1: name: scene.gjesterom_u_etg_nattlys scene2: name: scene.gjesterom_u_etg_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_tv_stue switchID: tv_stue_bryter lightID: light.tv_stue Transition: 60 SceneNormal: scene.tv_stue_normal scenes: scene1: name: scene.tv_stue_leggetid sensor: binary_sensor.lysstyrke state: "off" delay: 30 scene2: name: scene.tv_stue_stemning sensor: device_tracker.tv state: "home" delay: 30 - id: lys_kontor switchID: kontor_bryter lightID: light.kontor Transition: 60 SceneNormal: scene.kontor_normal scenes: scene1: name: scene.kontor_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_bod sensors: - binary_sensor.boddor - binary_sensor.bod_sensor_presence lightID: light.bod delay: 600 Transition: 60 lightlevelsensor: sensor.bod_sensor_lightlevel lightlevel: 300 SceneNormal: scene.bod_normal scenes: scene1: name: scene.bod_kveld sensor: binary_sensor.dark_outside state: "on" - id: lys_ute_1_etg sensors: - binary_sensor.utelys lightID: light.alt_lys_ute delay: 300 Transition: 3540 lightlevelsensor: sensor.ute_1_etg_lightlevel lightlevel: 500 SceneNormal: scene.ute_normal scenes: scene1: name: scene.ute_farge1 sensor: binary_sensor.utelys_farge1 state: "on" Transition: 3540 scene2: name: scene.ute_farge2 sensor: binary_sensor.utelys_farge2 state: "on" Transition: 3540 from random import randrange from random import seed import time registered_triggers = [] factory_apps = [] @time_trigger('startup') def scenestartup(): for app in pyscript.app_config: factory_apps.append(LysStyring(app)) class LysStyring: delay = 60 scene_index = 0 def __init__(self, config): self.scene_index = 0 self.cfg = config seed() state.persist(f"pyscript.scenestyring_{self.cfg['id']}_twls", default_value=0) state.persist(f"pyscript.scenestyring_{self.cfg['id']}_status", default_value=False) if "delay" in self.cfg: self.delay = int(self.cfg['delay']) @time_trigger(f"period(now, {randrange(50, 70, 1)}s)") def motion_delay_off_trig(): if float(state.get(f"pyscript.scenestyring_{self.cfg['id']}_twls")) <= time.time(): if "sensors" in self.cfg: for tr in self.cfg['sensors']: if state.get(f"{tr}") == "on": state.set(f"pyscript.scenestyring_{self.cfg['id']}_twls", value = time.time() + self.delay) return self.light_off() registered_triggers.append(motion_delay_off_trig) if "sensors" in self.cfg: for tr in self.cfg['sensors']: #log.info(f"Setter opp motion trigger paa {tr}") @state_trigger(f"{tr} == 'on' and {tr}.old == 'off'") def motion_trig(): task.unique(f"scenestyringmotion_{self.cfg['id']}") self.motion() registered_triggers.append(motion_trig) if "lightlevel" in self.cfg and "lightlevelsensor" in self.cfg: @state_trigger(f"{self.cfg['lightlevelsensor']}") def lightlevel_trig(): task.unique(f"scenestyringlightlvl_{self.cfg['id']}") self.lightlevel() registered_triggers.append(lightlevel_trig) if "scenes" in self.cfg: for tr in self.cfg['scenes']: if "sensor" in self.cfg['scenes'][tr]: #log.info(f"Setter opp state trigger paa {self.cfg['scenes'][tr]['sensor']}") @state_trigger(f"{self.cfg['scenes'][tr]['sensor']}", state_hold = randrange(1, 120, 3)) def statechanged_trig(var_name=None): task.unique(f"scenestyringstatechg_{self.cfg['id']}_{var_name}") self.statechanged() registered_triggers.append(statechanged_trig) if "switchID" in self.cfg: @event_trigger("deconz_event", "event == 1000") def light_delayon(context, device_id, event_type, trigger_type, unique_id, id=None, event=None): if id == self.cfg['switchID']: task.unique(f"scenestyringevent_{self.cfg['id']}") task.sleep(0.5) if self.scene_index > len(self.cfg['scenes']): self.scene_index = 0 if self.scene_index == 0: self.setscene(1) else: i = 1 for tr in self.cfg['scenes']: if i == self.scene_index: scene.turn_on(entity_id=self.cfg['scenes'][tr]['name'], transition = 1) break i += 1 self.scene_index += 1 registered_triggers.append(light_delayon) @state_trigger(f"{self.cfg['lightID']} == 'off'") def clear(): self.scene_index = 0 registered_triggers.append(clear) def motion(self): if "lightlevel" in self.cfg and "lightlevelsensor" in self.cfg: lightlevellimit = float(self.cfg['lightlevel']) lightlevelsensor = float(state.get(f"{self.cfg['lightlevelsensor']}")) else: lightlevellimit = 1 lightlevelsensor = 0 if lightlevelsensor < lightlevellimit: if state.get(f"{self.cfg['lightID']}") == "off": self.setscene(1.75) state.set(f"pyscript.scenestyring_{self.cfg['id']}_status", value = True) self.scene_index = 1 state.set(f"pyscript.scenestyring_{self.cfg['id']}_twls", value = time.time() + self.delay) def light_off(self): if state.get(f"pyscript.scenestyring_{self.cfg['id']}_status") == "True": light.turn_off(entity_id = self.cfg['lightID']) state.set(f"pyscript.scenestyring_{self.cfg['id']}_status", value = False) def lightlevel(self): try: if state.get(f"pyscript.scenestyring_{self.cfg['id']}_status") == "True" and (float(state.get(f"{self.cfg['lightlevelsensor']}")) > float(self.cfg['lightlevel']) * 2.0): light.turn_off(entity_id = self.cfg['lightID']) state.set(f"pyscript.scenestyring_{self.cfg['id']}_status", value = False) except ValueError: pass def statechanged(self): if state.get(f"{self.cfg['lightID']}") == "on": self.setscene(-1) def setscene(self, trans): s = self.cfg['SceneNormal'] if "delay" in self.cfg: self.delay = self.cfg['delay'] t = int(self.cfg['Transition']) if "scenes" in self.cfg: for tr in self.cfg['scenes']: if ("sensor" in self.cfg['scenes'][tr] and "state" in self.cfg['scenes'][tr] and state.get(f"{self.cfg['scenes'][tr]['sensor']}") == self.cfg['scenes'][tr]['state']): s = self.cfg['scenes'][tr]['name'] if "delay" in self.cfg['scenes'][tr]: self.delay = self.cfg['scenes'][tr]['delay'] if "Transition" in self.cfg['scenes'][tr]: t = int(self.cfg['scenes'][tr]['Transition']) break if trans < 0: trans = t scene.turn_on(entity_id = s, transition = trans) Bare for å presisere. Normal scene er den som aktiveres hvis scene1 til sceneX ikke har betingelser som gjør at de blir valgt.
    1 poeng
  16. Hei, Det går helt fint ja. Nå gir jo tibber sensoren prisnivå direkte, så du trenger ikke lenger bruke den automasjonen lenger. Jeg bruker enda den for jeg er lat og har ikke byttet. Skrur av og på en input bolean som igjen blir brukt i til å senkte temperaturen når strømmen er dyr via schedy, men du kan jo gjør hva du vil ellers som å lade bil eller endre farge på lys som du ønsker: - alias: Energy price is high trigger: platform: time_pattern minutes: 1 condition: condition: template value_template: '{{ float(states.sensor.electricity_price_none.state) > 0.8 * float(states.sensor.electricity_price_none.attributes.max_price) }}' action: - service: homeassistant.turn_on entity_id: input_boolean.energy_cost_high id: d64185fa2e814ee48172e2a77392f7e7 - alias: Energy price is low trigger: platform: time_pattern minutes: 1 condition: condition: template value_template: '{{ float(states.sensor.electricity_price_none.state) < 0.8 * float(states.sensor.electricity_price_none.attributes.max_price) }}' action: - service: homeassistant.turn_off entity_id: input_boolean.energy_cost_high id: dbc4aa31115645ae935c91e8f2706697
    1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.