Wat ben je nodig?

 

Regenmeter, deze gebruik ik en is o.a. te koop bij Aliexpress.

En de Aqara Deur/raamcontact DW-S03D Wit en is goed verkrijgbaar.

Verder ben je nodig een schroevendraaier, zijkniptang en soldeerbout.

Op de afbeelding lijkt het best groot, maar het is maar klein.

We gaan beginnen…

De regenmeter, Laten we hem nu uit elkaar halen door de kap eraf te halen.

De meter werkt met een reedschakelaar, die sluit en weer opent wanneer de bak kantelt. Je kunt de printplaat eruit halen en de sensor bekijken.

Om het draadloos te maken, moeten we de draad doorknippen! Ik heb hem ongeveer zo lang afgeknipt. Strip vervolgens voorzichtig de draden tot je wat koper ziet.

Maak voorzichtig de deur sensor open, zodat je bij de printplaat komt. De volgende stap is het solderen van de draden aan de Aqara-deursensor.

Nadat je het reedcontact hebt weg geknipt of eruit gesoldeerd hebt !!!

Normaal gesproken zit daar een reedsensor, maar die heb ik los gesoldeerd voor een ander project zou je die kunnen gebruiken. Ik raad je aan om die los te solderen, zodat hij de magneet van de regenmeter niet kan beïnvloeden.

Als dat klaar is, ziet het er zo uit.. Ik zelf heb de gehele isolatie van de kabel weggehaald, zodat alles langs de printplaat past. En er dus geen draad aan de buitenkant te zien is.

 Je kunt het nu testen. Als je dat nog niet hebt gedaan, koppel de sensor dan aan ZHA, Z2M, Deconz, enz. Nu kunnen we beginnen met programmeren. Dit heeft mij een week gekost omdat er fouten in de programmering zaten.

Je moet hem wel kalibreren door het opvangoppervlak te meten en er een gecontroleerde hoeveelheid water uit een spuit, enz., in te gieten terwijl je de pulsen telt. Ik heb de mijne gemeten op 5 cm x 11 cm en 6 pulsen per 10 ml => 10/6 = 1,67 ml per puls.

1 mm regen = 0,1511 cm = 5,5 ml
1″ regen = 2,54511 cm = 139,70 ml

@ 6 pulsen per 10 ml => 10/6 = 1,67 ml per puls

pulsen / mm = 5,5 / (10/6) = 3,3
pulsen / inch = 139,7 / (10/6) = 83,82

mm / puls = 0,30303
inch / puls = 0,01193

Ik heb ook 6 tips per 10 ml, dus ik gebruikte 0,30303 mm per tip. Als je inches gebruikt, is het 0,01193 inch per tip. We kunnen dat in een sensor gebruiken om de regenval van vandaag, of over een week, maand, enzovoort, te berekenen.

 

En we gaan verder:

Open eerst de bestandseditor en maak een nieuwe map met de naam packages in de map homeassistant/.

Navigeer vervolgens naar deze map en maak een nieuw bestand met de naam rainmeter.yaml. Of bedenk zelf een naam.

Je kunt nu de volgende YAML-code in dit bestand invoegen en opslaan.

Om er zeker van te zijn dat ons nieuwe YAML-bestand is opgenomen, opent u het bestand configuration.yaml en voegt u een verwijzing naar de map ‘packages’ toe onder de sectie ‘homeassistant:’.

homeassistant:
packages: !include_dir_named packages

Als u geen foutmelding hebt ontvangen, kunt u Home Assistant nu opnieuw opstarten.

De code die geplaatst moet worden in het mapje packages is onderstaande:


# 1. Zählt die “Flips” des Regensensors seit Mitternacht
sensor:
  - platform: history_stats
    name: Rainsensor Flips Today
    entity_id: binary_sensor.regensensor
    state: 'off'
    type: count
    start: "{{ as_timestamp(now().replace(hour=0, minute=0, second=0, microsecond=0)) }}"
    end: "{{ as_timestamp(now()) }}"
    unique_id: rainsensor_flips_today

# 2. Berechnet die tägliche Regenmenge und die Intensität
template:
  - sensor:
      # Sensor für täglichen Regen
      - name: Rainfall vandaag
        unique_id: rainfall_vandaag
        unit_of_measurement: 'mm'
        state_class: total_increasing
        state: >-
          {% set count = states('sensor.rainsensor_flips_today') | int(0) %}
          {% set mm_per_flip = 0.30303 %}
          {{ (count * mm_per_flip) | round(1, 'floor') }}
        availability: >-
          {{ states('sensor.rainsensor_flips_today') not in ['unknown', 'unavailable'] }}

      # 2b. Aktuelle Regenintensität in mm/h
      - name: Rain intensity
        unique_id: rainfall_per_hour
        unit_of_measurement: 'mm/h'
        state_class: measurement
        state: >-
          {% set gradient = state_attr('binary_sensor.rainfall_trend', 'gradient') | float(0) %}
          {% set rain_hour = (gradient * 3600) | round(1, 'floor') %}
          {% if rain_hour >= 0 %}
            {{ rain_hour }}
          {% else %}
            {{ 0 }}
          {% endif %}
        availability: >-
          {{ state_attr('binary_sensor.rainfall_trend', 'gradient') is not none }}

# 3. Trend-Sensor zur Berechnung der Änderungsrate der täglichen Regenmenge
binary_sensor:
  - platform: trend
    sensors:
      rainfall_trend:
        entity_id: sensor.rainfall_vandaag_2
        max_samples: 4

# 4. Zähler für wöchentliche, monatliche und jährliche Regenmengen
utility_meter:
  rain_week:
    source: sensor.rainfall_vandaag_2
    cycle: weekly
    unique_id: rainfall_week

  rain_month:
    source: sensor.rainfall_vandaag_2
    cycle: monthly
    unique_id: rainfall_month

  rain_year:
    source: sensor.rainfall_vandaag_2
    cycle: yearly
    unique_id: rainfall_year

Voor het aanmaken van het dashboard (ik ga ervan uit dat je weet hoe dat moet) kiezen we een Entiteiten kaart en klikken vervolgens op Code-editor weergeven. Haal alles weg en plak onderstaande code hierin. Na opslaan wel Home Assistant opnieuw opstarten.


type: entities
title: Overzicht Neerslag
entities:
  - entity: binary_sensor.regensensor
    name: Regensensor Status

  - entity: sensor.rainsensor_flips_today
    name: Flips vandaag

  - entity: sensor.rainfall_vandaag_2
    name: Regen Vandaag
    icon: mdi:water

  - entity: sensor.rain_intensity
    name: Regenintensiteit
    icon: mdi:water

  - entity: sensor.rain_week
    name: Wekelijkse Regenval
    icon: mdi:weather-rainy

  - entity: sensor.rain_month
    name: Maandelijkse Regenval
    icon: mdi:weather-rainy

  - entity: sensor.rain_year
    name: Jaarlijkse Regenval
    icon: mdi:weather-rainy

state_color: true

Door Ruben

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *