Home Assistant Instellen (uitgebreid)

Volg deze handleiding om Home Assistant in te stellen (uitgebreid)

Volg eerst de wifi instellen om de module in te stellen op een statisch ip adres. Maak ook backups voordat je gaat wijzigen.

Het aanmaken van de helpers om de literprijs, vastrecht en belasting op te kunnen geven. Ga via Instellingen naar het menu Helpers. Maak 4 helpers aan van het type “Numeriek”:

Zog eerst dat je “Geavanceerde modus” modus kiet (klik hiervoor op je eigen naam linksonder).

Het handigst is om eerst de helpers aan te maken en daarna te bewerken.

  1. Waterprijs per Liter met als Entiteits-ID input_number.waterprijs_per_liter
  2. Belasting op Leidingwater met als Entiteits_ID  input_number.belasting_op_leidingwater
  3. Vastrecht water met als Entiteits_ID input_number.vastrecht_water
  4. Waterprijs per m3 met als meeteenheid EUR/m³ (let op: kopieer vanaf deze pagina want de 3 moet echt een superscript zijn).

Dan met de file Editor de map watermeter aanmaken (als je al met packages werkt dan sla je deze stap over en zet je het nieuwe bestand in je bestaande packages map).

En daar het bestand toonwater_1_4.yaml in plaatsen. Download het bestand hieronder en hernoem het bestand naar watermeter.yaml. In dit bestand op regel 96 het juist IP adres invoeren.

Na het opslaan een map terug en het bestand configuration.yaml aanpassen. Onder homeassistant: regel toevoegen in configuration.yaml

packages: !include_dir_named watermeter (let op de inspringing)

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
   packages: !include_dir_named watermeter

Dan configuratie controleren en opnieuw opstarten

Klik op “Dashboard bewerken” (3 puntjes rechtsboven). Daarna kan men de Entiteiten (kaarten) toevoegen. Klik op kaart toevoegen en daarna op “per entiteit”.

Selecteer onderstaande set om de waterverbruiken van de huidige periode te kiezen. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

type: entities
entities:
  - entity: sensor.waterprijs_per_maand
    icon: mdi:currency-eur
  - entity: sensor.waterprijs_per_week
    icon: mdi:currency-eur
  - entity: sensor.waterprijs_per_jaar
    icon: mdi:currency-eur
  - entity: sensor.waterprijs_per_kwartaal
    icon: mdi:currency-eur
  - entity: sensor.waterprijs_per_dag
    icon: mdi:currency-eur
title: Kosten waterverbruik
type: entities
entities:
  - entity: sensor.waterverbruik_dit_kwartier
    icon: mdi:counter
  - entity: sensor.waterverbruik_dit_uur
    icon: mdi:counter
  - entity: sensor.waterverbruik_vandaag
    icon: mdi:counter
  - entity: sensor.waterverbruik_deze_week
  - entity: sensor.waterverbruik_deze_maand
    icon: mdi:counter
  - entity: sensor.waterverbruik_dit_kwartaal
    icon: mdi:counter
  - entity: sensor.waterverbruik_dit_jaar
    icon: mdi:counter
title: Huidige standen

Selecteer onderstaande set om de waterverbruiken van de voorgaande perioden te kiezen. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

type: entities
entities:
  - entity: sensor.waterverbruik_gisteren
    icon: mdi:water
  - entity: sensor.waterverbruik_vorige_week
    icon: mdi:water
  - entity: sensor.waterverbruik_vorige_maand
    icon: mdi:water
  - entity: sensor.waterverbruik_vorig_jaar
    icon: mdi:water
title: Waterverbruik historie

Selecteer onderstaande set om de actuele flow en tellerstand te kiezen. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

type: entities
entities:
  - sensor.watermeter_quantity
  - sensor.watermeter_flow
  - sensor.watermeter_leakdetect
  - sensor.watermeter_breakdetect
  - sensor.watermeter_current
  - sensor.watermeter_versie
  - sensor.watermeter_wifi
title: Water

Selecteer onderstaande set om de flow in naadwijzer weer te geven. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

Klik na het toevoegen op “Bewerken”

Klik na het toevoegen op “Code-editor weergeven”

Zet dit onderstaande in de code en klik op “opslaan”

type: gauge
entity: sensor.watermeter_flow
min: 0
name: Huidige waterflow
severity:
  green: 0
  yellow: 7
  red: 12
unit: L
max: 15
needle: true
type: gauge
entity: sensor.waterverbruik_vandaag
min: 0
name: Waterverbruik vandaag
severity:
  green: 0
  yellow: 100
  red: 300
unit: L
max: 500
needle: true

Grafieken met mini graph (zie ook https://github.com/kalkih/mini-graph-card).

In HACS (voor installatie, google naar HACS, ik ga het hier niet uitleggen). Klik op Frontend.

Zoek in de zoekbalk naar mini-graph of voeg deze toe met de blauwe knop onderin en installeer deze.

Voeg in je dashboard een kaart toe en kies in het scherm voor de mini graph.

Maak twee grafieken aan met de volgende Kaartconfiguraties

type: custom:mini-graph-card
entities:
  - entity: sensor.waterverbruik_dit_uur
name: toonWater vandaag
show:
  graph: bar
hours_to_show: 24
group_by: hour
aggregate_func: max
type: custom:mini-graph-card
entities:
  - entity: sensor.waterverbruik_vandaag
name: toonWater in dagen
show:
  graph: bar
hours_to_show: 168
group_by: date
aggregate_func: max

Ga naar instellingen – dashboard en voeg de watermeter “watermeter – toonwater” toe. Kies bij “Gebruik een entiteit met de huidige prijs” de eerder gemaakte helper “Waterprijs per m3”

# Watermeter toonWater
# UTILITYS WATERMETER    
utility_meter:
  waterverbruik_dit_kwartier:  
    source: sensor.watermeter_quantity
    cycle: quarter-hourly
  waterverbruik_dit_uur:
    source: sensor.watermeter_quantity
    cycle: hourly
  waterverbruik_vandaag:
    source: sensor.watermeter_quantity
    cycle: daily    
  waterverbruik_deze_week:
    source: sensor.watermeter_quantity
    cycle: weekly
  waterverbruik_deze_maand:
    source: sensor.watermeter_quantity
    cycle: monthly
  waterverbruik_dit_kwartaal:
    source: sensor.watermeter_quantity
    cycle: quarterly
  waterverbruik_dit_jaar:
    source: sensor.watermeter_quantity
    cycle: yearly
 

# Watermeter toonWater 
sensor:
# CALCULATIE WATERMETER
  - platform: template
    sensors: 
      waterprijs_per_dag:
        friendly_name: "Kosten Waterverbruik Vandaag"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.waterverbruik_vandaag') | float %}
          {% set b = states('input_number.waterprijs_per_liter') | float %}
          {% set c = states('input_number.belasting_op_leidingwater') | float  %}
          {% set d = states('input_number.vastrecht_water') | float / 365 %}
          {{ (((a * b) + a * c) + d) | round(2) }}  
      waterprijs_per_week:
        friendly_name: "Kosten Waterverbruik Deze Week"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.waterverbruik_deze_week') | float %}
          {% set b = states('input_number.waterprijs_per_liter') | float %}
          {% set c = states('input_number.belasting_op_leidingwater') | float  %}
          {% set d = states('input_number.vastrecht_water') | float / 52 %}
          {{ (((a * b) + a * c) + d) | round(2) }}    
      waterprijs_per_maand:
        friendly_name: "Kosten Waterverbruik Deze Maand"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.waterverbruik_deze_maand') | float %}
          {% set b = states('input_number.waterprijs_per_liter') | float %}
          {% set c = states('input_number.belasting_op_leidingwater') | float  %}
          {% set d = states('input_number.vastrecht_water') | float /12 %}
          {{ (((a * b) + a * c) + d) | round(2) }}
      waterprijs_per_kwartaal:
        friendly_name: "Kosten Waterverbruik Dit Kwartaal"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.waterverbruik_dit_kwartaal') | float %}
          {% set b = states('input_number.waterprijs_per_liter') | float %}
          {% set c = states('input_number.belasting_op_leidingwater') | float  %}
          {% set d = states('input_number.vastrecht_water') | float / 4 %}
          {{ (((a * b) + a * c) + d) | round(2) }}
      waterprijs_per_jaar:
        friendly_name: "Kosten Waterverbruik Dit Jaar"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.waterverbruik_dit_jaar') | float %}
          {% set b = states('input_number.waterprijs_per_liter') | float %}
          {% set c = states('input_number.belasting_op_leidingwater') | float  %}
          {% set d = states('input_number.vastrecht_water') | float  %}
          {{ (((a * b) + a * c) + d) | round(2) }}    


  - platform: rest
    name: watermeter
    json_attributes:
      - waterflow
      - waterquantity
# VERSIE 1.4 > BEGIN
      - breakdetect
      - leakdetect
      - RSSI
      - version
      - currentBatch
# < VERSIE 1.4 EINDE
    resource: http://192.168.10.138/water.html
  - platform: template
    sensors:
      watermeter_flow:
        friendly_name: "Huidige waterflow"
        unique_id: "Watermeter_Flow"
        value_template: '{{states.sensor.watermeter.attributes["waterflow"] }}'
        unit_of_measurement: "l/m"
        icon_template: "mdi:water-pump"
      watermeter_quantity:
        friendly_name: "Huidige watermeterstand"
        unique_id: "Watermeter_Stand"
        value_template: '{{states.sensor.watermeter.attributes["waterquantity"] }}'
        unit_of_measurement: "L"
        icon_template: "mdi:water"
# VERSIE 1.4 > BEGIN
      watermeter_wifi:
        friendly_name: "Watermeter Wifi"
        unique_id: "Watermeter_Wifi"
        unit_of_measurement: "dB"
        value_template: '{{states.sensor.watermeter.attributes["RSSI"] }}'
        icon_template: "mdi:wifi-arrow-up-down"
      watermeter_current:
        friendly_name: "Watermeter huidige taphoeveelheid"
        unique_id: "Watermeter_Current"
        unit_of_measurement: "l"
        value_template: '{{states.sensor.watermeter.attributes["currentBatch"] }}'
        icon_template: "mdi:water"
      watermeter_versie:
        friendly_name: "Watermeter Versie"
        unique_id: "Watermeter_Versie"
        value_template: '{{states.sensor.watermeter.attributes["version"] }}'
      watermeter_internal_break:
        value_template: '{{states.sensor.watermeter.attributes["breakdetect"]}}'
      watermeter_breakdetect:
        friendly_name: "Watermeter Breukdetectie"
        unique_id: "Watermeter_Breukdetectie2"
        icon_template: "mdi:pipe-leak"
        value_template: >-
            {% if is_state('sensor.watermeter_internal_break', '0') %}
                Veilig
            {% else %}
                Breuk gedetecteerd!
            {% endif %}
      watermeter_internal_leak:
        value_template: '{{states.sensor.watermeter.attributes["leakdetect"]}}'
      watermeter_leakdetect:
        friendly_name: "Watermeter Lekdetectie"
        unique_id: "Watermeter_Lekdetectie2"
        icon_template: "mdi:water-alert"
        value_template: >-
            {% if is_state('sensor.watermeter_internal_leak', '0') %}
                Veilig
            {% else %}
                Lek gedetecteerd!
            {% endif %}
# < VERSIE 1.4 EINDE      



#SENSOREN WATERVERBRUIK PER PERIODE
      waterverbruik_gisteren:
        friendly_name: Waterverbruik Gisteren
        unit_of_measurement: L
        icon_template: "mdi:water"
        value_template: "{{ state_attr('sensor.waterverbruik_vandaag','last_period') }}"
      waterverbruik_vorige_week:
        friendly_name: Waterverbruik Vorige Week
        unit_of_measurement: L
        icon_template: "mdi:water"
        value_template: "{{ state_attr('sensor.waterverbruik_deze_week','last_period') }}"
      waterverbruik_vorige_maand:
        friendly_name: Waterverbruik Vorige Maand
        unit_of_measurement: L
        icon_template: "mdi:water"
        value_template: "{{ state_attr('sensor.waterverbruik_deze_maand','last_period') }}"
      waterverbruik_vorig_jaar:
        friendly_name: Waterverbruik Vorig Jaar
        unit_of_measurement: L
        icon_template: "mdi:water"
        value_template: "{{ state_attr('sensor.waterverbruik_dit_jaar','last_period') }}"

template:
  - sensor:
      - name: watermeter_toonwater
        unique_id: watermeter_toonwater
        device_class: water
        unit_of_measurement: "m³"
        state: >- 
          {{states.sensor.watermeter.attributes["waterquantity"] |float /1000}}
        state_class: total_increasing