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ä: