Home Assistant (HA)

Integratie met Home Assistant kan op verschillende manieren. Hieronder zijn er twee beschreven.

Overzicht dag/maand/jaar overzichten per sensor weten. Check dan deze plugin https://www.home-assistant.io/integrations/utility_meter/

DSMR Netbeheer Nederland

Tip van Bas S.:

De P1 Dongle Pro kan op poort 82 het telegram bericht plaatsen. (Zie settings). Via deze optie is het erg makkelijk om gegevevens door Home Assistant te laten lezen.

In Home Assistant dient dan de DSMR Netbeheer Nederland integratie te worden geinstalleerd.

Vervolgens kiezen voor Netwerk

Daarna gegevens invullen (ip-adres of hostname dongle + poort 82)

Klaar!

Heeft u ook een watersensor geinstalleerd dan komt deze data niet mee met de telegramgegevens. Kies dan voor de rest.yaml of mqtt koppeling.

Rest koppeling

Dit is de meest eenvoudige koppeling aangezien er geen mqtt broker in uw netwerk opgenomen hoeft te worden.

voeg rest.yaml toe

In de folder waar ook de configuration.yaml staat dient rest.yaml gemaakt te worden. Kopieer onderstaande inhoud in deze file. Enkele tips:

  • Pas aan of voeg toe naar wens

  • indien de dongle niet via de url te bereiken is dan ip adres invullen

  • In het voorbeeld wordt de dongle eens per 10 seconden bevraagd. Pas naar wens aan maar overvraag niet.

Let op! Er zijn HA versies die het niet leuk vinden als er lege waarders terug komen. Bijvoorbeeld omdat u een 1 fase meter hebt en er 2 fases leeg zijn. Verwijder deze gegevens uit onderstaande configuratie.

  - resource: http://p1-dongle-pro.local/api/v2/sm/actual
    scan_interval: 10
    sensor:    
      - name: P1 LastUpdate
        value_template: "{{ as_local(strptime(value_json.timestamp.value[0:12], '%y%m%d%H%M%S')) }}"
        device_class: "Timestamp"
        unique_id: p1-lastupdate
      - name: P1 Energy Consumption Tariff 1
        value_template: "{{ value_json.energy_delivered_tariff1.value | float }}"
        device_class: "energy"
        state_class: "total_increasing"
        unit_of_measurement: "kWh"
        unique_id: p1-t1
      - name: P1 Energy Consumption Tariff 2
        value_template: "{{ value_json.energy_delivered_tariff2.value | float }}"
        device_class: "energy"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        unique_id: p1-t2
      - name: P1 Energy Returned Tariff 1
        value_template: "{{ value_json.energy_returned_tariff1.value | float }}"
        device_class: "energy"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        unique_id: p1-rt1
      - name: P1 Energy Returned Tariff 2
        value_template: "{{ value_json.energy_returned_tariff2.value | float }}"
        device_class: "energy"
        unit_of_measurement: "kWh"
        state_class: "total_increasing"
        unique_id: p1-rt2
      - name: P1 Power Consumption Actual Total
        value_template: "{{ value_json.power_delivered.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-pt
      - name: P1 Power Returned Actual Total
        value_template: "{{ value_json.power_returned.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-prt       
      - name: P1 Voltage Phase 1
        value_template: "{{ value_json.voltage_l1.value | float }}"
        device_class: "voltage"
        unit_of_measurement: "V"
        unique_id: p1-v1       
      - name: P1 Voltage Phase 2
        value_template: "{{ value_json.voltage_l2.value | float }}"
        device_class: "voltage"
        unit_of_measurement: "V"
        unique_id: p1-v2               
      - name: P1 Voltage Phase 3
        value_template: "{{ value_json.voltage_l3.value | float }}"
        device_class: "voltage"
        unit_of_measurement: "V"
        unique_id: p1-v3               
      - name: P1 Current Phase 1
        value_template: "{{ value_json.current_l1.value | float }}"
        device_class: "current"
        unit_of_measurement: "A"
        unique_id: p1-a1        
      - name: P1 Current Phase 2
        value_template: "{{ value_json.current_l2.value | float }}"
        device_class: "current"
        unit_of_measurement: "A"
        unique_id: p1-a2        
      - name: P1 Current Phase 3
        value_template: "{{ value_json.current_l3.value | float }}"
        device_class: "current"
        unit_of_measurement: "A"
        unique_id: p1-a3        
      - name: P1 Power Consumption Phase 1
        value_template: "{{ value_json.power_delivered_l1.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-p1        
      - name: P1 Power Consumption Phase 2
        value_template: "{{ value_json.power_delivered_l2.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-p2        
      - name: P1 Power Consumption Phase 3
        value_template: "{{ value_json.power_delivered_l3.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-p3        
      - name: P1 Power Returned Phase 1
        value_template: "{{ value_json.power_returned_l1.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-pr1        
      - name: P1 Power Returned Phase 2
        value_template: "{{ value_json.power_returned_l2.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-pr2
      - name: P1 Power Returned Phase 3
        value_template: "{{ value_json.power_returned_l3.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-pr3        
      - name: P1 Gas Consumption
        value_template: "{{ value_json.gas_delivered.value | float }}"
        device_class: "gas"
        state_class: "total_increasing"
        unit_of_measurement: "m³"
        unique_id: p1-gas
      - name: P1 Water Consumption
        value_template: "{{ value_json.water.value | float }}"
        device_class: "water"
        state_class: "total_increasing"
        unit_of_measurement: "m³"
        unique_id: p1-water 

# Voor de Belgische gebruikers wellicht interressant    
      - name: P1 Peak Last Q
        value_template: "{{ value_json.peak_pwr_last_q.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-peak-q
      - name: P1 Highest Peak
        value_template: "{{ value_json.highest_peak_pwr.value | float }}"
        device_class: "power"
        unit_of_measurement: "kW"
        unique_id: p1-peak-high               
Pas configuration.yaml aan

in de configuration.yaml dient onderstaande opgenomen genomen te worden.

rest: !include rest.yaml

MQTT koppeling

Via MQTT kan de P1 Dongle met DSMR-API software opgenomen worden in Home Assistant. Hieronder de stappen om de dongle te koppelen.

Voor deze integratie dient een MQTT broker in uw netwerk aanwezig te zijn

Stap 1: mqtt configuratie dongle

Vul in de instellingen de volgende zaken in : - MQTT broker ip-adres / url - poort nummer (standaard 1883) - Verzend MQTT berichten (0 = uit, interval tussen het verzenden van mqtt berichten) - eventueel ander MQTT Topic

Stap 2: dongle opnemen in Home Assistant

Ga in HA naar Instellingen > Integraties

Voeg de MQTT integratie toe zodra deze niet bestaat Ga in HA naar Instellingen > Apparaten & Diensten en volg onderstaande stappen zodra MQTT integratie niet bestaat.

Op het MQTT tegeltje worden nu automatisch de entiteiten van de sensors zichtbaar. Klik hierop om deze in te zien en aan het dashboard toe te voegen.

Stap 3: gegevens toevoegen aan energie dashboard

Last updated