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.
- Waterprijs per Liter met als Entiteits-ID input_number.waterprijs_per_liter
- Belasting op Leidingwater met als Entiteits_ID input_number.belasting_op_leidingwater
- Vastrecht water met als Entiteits_ID input_number.vastrecht_water
- 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