Valojen ohjaus liiketunnistimen avulla
Keittiössämme on neljä kappaletta Philips Hue GU10 -spottia. Näiden ohjaaminen on toistaiseksi hoidettu perinteistä valokatkaisijaa käyttämällä. Älylamppuja voisi ohjata fiksumminkin. Yksinkertaisimmillaan tämä onnistuu liiketunnistimen avulla, jolloin valot sytytetään kun joku saapuu huoneeseen ja sammutetaan tietyn ajan kuluttua kun liikettä ei enää havaita. Näin ei myöskään valot jää turhaan päälle jos niitä ei muista sammuttaa katkaisijasta.
Tätä tarkoitusta varten hankin Devolo Motion Sensor -liiketunnistimen. Se käyttää langatonta Z-Wave protokollaa ja toimii yhdellä CR123A paristolla. Lisäominaisuutena se raportoi liikkeen lisäksi myös lämpötilan sekä valoisuuden. Laite on pienikokoinen (28 x 96 x 23 mm). Sijoituspaikaksi valitsin keittiökaappen sokkelin, jossa se on käytännössä huomaamaton, mutta toimii kuitenkin luotettavasti.
Z-Wave laitteet tarvitsevat oman hubin toimiakseen. Minulla tätä tehtävää hoitaa Aeotec Z-Stick 5. Liiketunnistimen yhdistäminen Z-Wave verkkoon oli helppoa, Z-Stick asetettiin inclusion -tilaan irroittamalla se USB-liittimestä ja sen jälkeen painamalla sen päällä olevaa nappia. Tämän jälkeen liiketunnistimen paristo kytkettiin ja odotettiin hetki yhteyden muodostumista.
Home Assistantissa minulla oli entuudestaan jo yksi Z-Wave laite: vesiventtiilin toimilaite. Sen asentamisen jälkeen, Home Assistantin käyttämä Z-Wave integraatio on ehtinyt vanhentua ja se tulee myöhemmin poistumaan käytöstä kokonaan. Vaihtoehtoisina integraatioina on OpenZWave sekä ZWave JS. Näistä OpenZWave tulee niin ikään tippumaan myöhemmin pois. ZWave JS tulee siis olemaan ainoa joka on aktiivisessa kehityksessä. Home Assistantissa Z-Wave -laitteet ilmaantuvat käyttöön automaattisesti kun käytetty Z-Wave integraatio on konfiguroitu järjestelmään.
Home Assistantissa liiketunnistimelta saatiin luettua lämpötila ja valoisuus, mutta liikettä se ei raportoinut oikein, joten päädyin vikaa selvitellessä päivittämään myös Z-Wave -integraation ZWave JS:ksi. ZWave JS:n oman käyttöliittymän kautta selvisi että liiketunnistin raportoi kyllä liikkeen, mutta se ei nollaantunut milloinkaan, joten Home Assistantin mukaan liikettä havaittiin jatkuvasti. Ongelma korjaantui kun liiketunnistimien asetuksia muutettiin lähettämään tieto myös kun liikettä ei enää havaita.
Keittiön valojen automatisoimiseksi tein Home Assistantiin viiden minuutin ajastimen. Aina kun liikeilmaisin havaitsee liikettä, se käynnistää ajastimen alusta ja asettaa valot päälle. Ajastimen loputtua valot sammutetaan. Lisäehtona liikettunnistimen mittaaman valoisuuden perusteella päätetään tarvitseeko valoja sytyttää vai ei. Tein myös toisen, samaan aikaan käynnistettävän neljän minuutin ajastimen, jonka loputtua valojen kirkkautta lasketaan. Tällöin tilassa olija huomaa tämän ja voi halutessaan käynnistää ajastimet uudelleen liikkumalla liiketunnistimen alueella. Valojen täytyy toimiakseen olla koko ajan kytkettynä katkaisijasta, joten suurin haaste uudessa valo-ohjauksessa onkin opetella olemaan sammuttamatta valoja enää manuaalisesti huoneesta poistuttaessa.
timer:
keittion_valojen_ajastus:
duration: "00:05:00"
keittion_valojen_himmennys:
duration: "00:04:00"
automation:
- alias: "Käynnistä keittion valot ja ajastus"
trigger:
platform: state
entity_id: binary_sensor.motion_sensor_motion
to: "on"
condition:
condition: and
conditions:
- condition: numeric_state
entity_id: sensor.motion_sensor_illuminance
below: 15
action:
- service: timer.start
target:
entity_id: timer.keittion_valojen_ajastus
- service: timer.start
target:
entity_id: timer.keittion_valojen_himmennys
- service: light.turn_on
data_template:
entity_id: light.keittion_valaistus
transition: 2
kelvin: 4000
brightness_pct: 100
- alias: "Keittiön valojen sammutus ajastimen päättyessä"
trigger:
platform: event
event_type: timer.finished
event_data:
entity_id: timer.keittion_valojen_ajastus
action:
- service: light.turn_off
data_template:
entity_id: light.keittion_valaistus
transition: 2
- alias: "Keittiön valojen himmennys ennen sammutusta"
trigger:
platform: event
event_type: timer.finished
event_data:
entity_id: timer.keittion_valojen_himmennys
action:
- service: light.turn_on
data_template:
entity_id: light.keittion_valaistus
transition: 2
kelvin: 4000
brightness_pct: 50