Seuraavaksi ajattelin kirjoittaa aiheesta, joka liittyy Home Assistantin lisäksi myös hiukan elektroniikkaan. Tarkoituksena on tuunata sadevesimittaria sellaiseksi, että se voidaan liittää Zigbee -verkkoon. Innostuksen tähän sain, kun luin vastaavanlaisesta muutoksesta Home Assistantin keskustelupalstalta, johon linkki https://community.home-assistant.io/t/diy-zigbee-rain-gauge/255379. Pienenä varoituksen sanana myös, että tämän muutostyön yhteydessä tarvitaan juotoskolvia.
Mitä tarvitaan? Link to heading
Tarvikkeina tarvitaan jokin sadevesimittari, joka minulla on tällainen MTX Basic langanton sadevesimittari (HUOM! ei ole maksettu mainos) sekä Zigbee -verkkoon liitettävä ovi- ja ikkuna -anturi, kuten esimerkiksi Aqara, joka minulla on käytössä. Tämä MTX:n sadevesimittari toimii 433 MHz -verkkoon liitettynä, mutta minulla ei ollut sellaista mökillä käytössä, jonka vuoksi tuunasin tämän mittarin toimimaan Zigbee -verkossa.
Tämä MTX:n sadevesimittari, kuten myös useat muut markkinoilla olevat mittarit, toimivat siten, että mittarin sisällä on eräänlainen heiluri -kuppi (engl. tipping bucket), joka ohjaa sadevesimittarissa olevaa reed -relettä sitä mukaan, kun kuppi täyttyy vedellä. Eli sademäärän laskenta tapahtuu laskemalla pulsseina reed -releen aukeamista ja sulkeutumista samalla tavalla kuten tapahtuu ovi- ja ikkuna -antureissa eli kun ovi sulkeutuu, rele sulkeutuu ja kun ovi avautuu, niin rele avautuu. Samalla tavalla toimii myös tämä tuunattu sadevesimittari eli lasketaan sen antamaa pulssia ja annetaan Home Assistantin hoitaa sitten muunnos millimetreiksi.
Toteutus lyhykäisyydessään Link to heading
Aluksi avataan sadevesimittari ja poistetaan vanha piirilevy siten, että olemassa olevan reed -releen johdot jäävät näkyville (tässä kuvassa piirilevy on jo poistettu ja johdot liitetty ovi- ja ikkuna -anturiin)
Kuva: Sademittari, josta alkuperäinen piirilevy poistettu
Seuraavaksi avataan ovi- ja ikkuna -tunnistin ja poistetaan siitä reed -rele juottamalla se irti piirilevyltä sekä juottamalla sadevesimittarin reed -releen johdot tilalle
Kuva: Sademittarin reed -releen johdot juotettu ovianturin reed -releen tilalle
Alla vielä kuva valmiista toteutuksesta ennen kuin paketti suljetaan
Kuva: Sademäärä -anturi valmis
Muutokset Home Assistantiin Link to heading
Lopuksi vielä yhdistetään sadevesimittari Home Assistantiin (ellei jo tehty) eli minä lisään mittarin Zigbee2MQTT kautta Home Assistantiin, jolloin se tulee näkyviin MQTT -liitännäisen kautta. Laitteen olen nimennyt “raingauge” eli sademäärämittari eli minulla laite näkyy nimellä binary_sensor.raingauge_contact.
Seuraavaksi luodaan Home Assistantiin kaksi uutta sensoria eli lisätään configuration.yaml -tiedostoon alla olevat rivit
sensor:
- platform: history_stats
name: Raingauge laskuri
entity_id: binary_sensor.raingauge_contact #ovianturi
state: 'off'
type: count
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: '{{ now() }}'
- platform: template
sensors:
rainfall_today:
friendly_name: Sademäärä tänään
unit_of_measurement: mm
icon_template: mdi:water
value_template: >-
{% set count = states('sensor.raingauge_laskuri') | int %}
{% set mm_per_pulse = 0.330024 %}
{% set mm = count * mm_per_pulse %}
{{ mm|round(1, 'floor') }}
Sademittarin kalibrointi Link to heading
Sadevesimittarin kalibrointi voidaan tehdä seuraavasti (selitetty myös keskustelupalstalla) eli aluksi mitataan sadevesimittarin pinta-ala sekä kuinka monta pulssia 10 ml vettä aiheuttaa. Laskelmia alla
sadevesimittarin koko on 17,2 cm x 9,6 cm
1 mm sadetta mittarissa on tällöin 0,1 x 17,2 x 9,6 = 16,512 ml
10 ml vettä sademäärämittarissa aiheuttaa 5 pulssi eli 2 ml / pulssi
tällöin saadaan sademääräksi per pulssi 16,512 / 10 / 5 = 0,33024 mm / pulssi
Eli edellä lasketulla tavalla saadaan laskettua vuorokautista kokonaissademäärää, mutta mikäli halutaan laskea tarkemmin myös esim. tunti-, viikko- jne. kohtaisia sademääriä, täytyy Home Assistantin configuration.yaml -tiedostoon lisätä vielä laskentakaavat näille eli tässä voidaan käyttää Home Assistantin utility_meter -integraatiota.
utility_meter:
# sademäärä per tunti
rainfall_hour:
source: sensor.rainfall_today
cycle: hourly
# sademäärä per viikko
rainfall_week:
source: sensor.rainfall_today
cycle: weekly
# sademäärä per kuukausi
rainfall_month:
source: sensor.rainfall_today
cycle: monthly
# sademäärä per vuosi
rainfall_year:
source: sensor.rainfall_today
cycle: yearly
Lopuksi voidaan vielä lisätä Home Assistantin työpöydälle tiedot sademääristä eli lisätään entities -kortti alla olevan mukaisesti
Kuva: Home Assistantin entities -kortti
Jaa tämä: