Let op, deze handleiding is vernieuwd. Klik hier voor het vernieuwde dashboard.

Inleiding

In deze handleiding vertel ik je hoe je eenvoudig de meterstanden per uur, per dag en per maand kan weergeven in Home Assistant.

Voordat je begint is het belangrijk dat je je slimme meter hebt gekoppeld met bijvoorbeeld een Slimme meter wifi gateway via MQTT.

Slimme meter wifi gateway met display
Slimme meter wifi gateway

De gateway berekent zelf al de meterstanden per uur en stuurt deze door via MQTT. Hoe je dit kunt configureren kun je lezen op deze pagina: Slimme Meter uitlezen via DSMR P1 poort met MQTT

Wat zijn de voordelen van MQTT?

Het voordeel van MQTT ten opzichte van bijvoorbeeld de telnet koppeling is dat de gateway de berichten controleert op juistheid. Jouw meter stuurt namelijk achter ieder telegram een CRC checksum. Dit is de uitkomst van een vastgestelde berekening die de slimme meter berekent op basis van het verstuurde telegram. De gateway kent deze berekening en berekent zelf ook de uitkomst aan de hand van de data die van de slimme meter is ontvangen. Zijn beide uitkomsten gelijk, dan is het telegram goed aangekomen. Zit er een verschil tussen deze uitkomsten dan is de CRC check failed en negeert de gateway het telegram. Op deze manier hou je dus je home assistant schoon van verkeerde meterstanden.

Bepalen van de Interval

MQTT kun je ook gebruiken door de interval waarmee de gateway data naar jouw broker verstuurt te verkleinen. SMR meters sturen namelijk iedere seconde een telegram. Dit kan erg belastend zijn voor Home Assistant dus is het soms nodig om de interval te verkleinen. De gateway stuurt standaard om de 10 seconden een update ook al stuurt jouw meter er iedere seconde een.

 

Nu beschikbaar, de Smart Gateways Watermeter Gateway

 

Stabieler

Boven bijvoorbeeld de telnet variant van koppelen met de slimme meter aan Home Assistant is MQTT ook een stuk stabieler. Door de foutcontrole en het verlagen van de interval wordt Home Assistant niet onnodig belast. Het kan ook zijn dat door slechte wifi verbinding Home Assistant vaak opnieuw een connectie probeert te maken met de ingebouwde telnet server van de gateway. De telnet server kan maximaal 7 sessies aan. Indien een sessie is verbroken door bijvoorbeeld een herstart van Home Assistant of het wegvallen van de wifi verbinding wordt er opnieuw met de gateway verbonden. Na 7 sessies zal de gateway handmatig opnieuw te worden opgestart omdat alle telnet sessies in gebruik zijn.

Uurverbruik ook zichtbaar

Door gebruik te maken van de Slimme meter wifi gateway kun je ook het uurverbruik inzichtelijk maken. De gateway berekent zelf de juiste waardes zodat je zelf geen berekeningen hoeft te doen binnen Home Assistant. Wel zo handig!

Lees nu verder hoe je eenvoudig het volgende dashboard in Home Assistant kan aanmaken

Hoe kan ik de meterstanden weergeven in Home Assistant?

Als je je slimme meter via MQTT hebt gekoppeld, kun je beginnen met het aanmaken van de verschillende dashboards binnen Home Assistant. Indien je de slimme meter hebt gekoppeld via de DSMR integratie heb je bijvoorbeeld al een meter die het huidig verbruik weergeeft. De slimme meter levert veel meer informatie. Wat de slimme meter niet levert zijn het verbruik per uur, dag en zelfs per maand. Dit kun je door Home Assistant laten berekenen. Hoe je dat kunt doen lees je zometeen.

Configuration.yaml voor het aanmaken van alle uur-, dag-, en maandtotalen

Plak de volgende configuratie in jouw configuration.yaml

# Voorbeeldconfiguratie Smart Gateways Slimme meter WiFi gateway
# Berekening gasverbruik en electriciteitsverbruik per uur
sensor:
  - platform: dsmr_reader
  - platform: mqtt
    name: "Gasverbruik per uur"
    state_topic: "dsmr/reading/gas_hourly_usage"
    unit_of_measurement: 'm3'
  - platform: mqtt
    name: "Electriciteitsverbruik per uur"
    state_topic: "dsmr/reading/electricity_hourly_usage"
    unit_of_measurement: 'kW'
# Berekening gasverbruik en elektriciteitsverbruik per dag en maand (totalen, dus som van hoog- en laagtarief)
  - platform: template
    sensors:
      daily_energy_delivered:
        friendly_name: Daily Energy Delivered
        unit_of_measurement: kWh
        value_template: "{{ (states('sensor.daily_energy_delivered_offpeak')|float + states('sensor.daily_energy_delivered_peak')|float | round(2)) }}"
      monthly_energy_delivered:
        friendly_name: Monthly Energy Delivered
        unit_of_measurement: kWh
        value_template: "{{ (states('sensor.monthly_energy_delivered_offpeak')|float + states('sensor.monthly_energy_delivered_peak')|float | round(2)) }}"
      daily_energy_returned:
        friendly_name: Daily Energy Returned
        unit_of_measurement: kWh
        value_template: "{{ (states('sensor.daily_energy_returned_offpeak')|float + states('sensor.daily_energy_returned_peak')|float | round(2)) }}"
      monthly_energy_returned:
        friendly_name: Monthly Energy Returned
        unit_of_measurement: kWh
        value_template: "{{ (states('sensor.monthly_energy_returned_offpeak')|float + states('sensor.monthly_energy_returned_peak')|float | round(2)) }}"
      hourly_energy_returned:
        friendly_name: Hourly Energy Returned
        unit_of_measurement: kWh
        value_template: "{{ (states('sensor.hourly_energy_returned_offpeak')|float + states('sensor.hourly_energy_returned_peak')|float | round(2)) }}"
# Berekening van uurwaarden voor electriciteit hoog- en laagtarief
utility_meter:
  hourly_energy_delivered_offpeak:
    source: sensor.dsmr_reading_electricity_delivered_1
    cycle: hourly
  hourly_energy_delivered_peak:
    source: sensor.dsmr_reading_electricity_delivered_2
    cycle: hourly
  hourly_energy_returned_offpeak:
    source: sensor.dsmr_reading_electricity_returned_1
    cycle: hourly
  hourly_energy_returned_peak:
    source: sensor.dsmr_reading_electricity_returned_2
    cycle: hourly
# Berekening van dagwaarden voor electriciteit hoog- en laagtarief
  daily_energy_delivered_offpeak:
    source: sensor.dsmr_reading_electricity_delivered_1
    cycle: daily
  daily_energy_delivered_peak:
    source: sensor.dsmr_reading_electricity_delivered_2
    cycle: daily
  daily_energy_returned_offpeak:
    source: sensor.dsmr_reading_electricity_returned_1
    cycle: daily
  daily_energy_returned_peak:
    source: sensor.dsmr_reading_electricity_returned_2
    cycle: daily
# Berekening van maandwaarden voor electriciteit hoog- en laagtarief
  monthly_energy_delivered_offpeak:
    source: sensor.dsmr_reading_electricity_delivered_1
    cycle: monthly
  monthly_energy_delivered_peak:
    source: sensor.dsmr_reading_electricity_delivered_2
    cycle: monthly
  monthly_energy_returned_offpeak:
    source: sensor.dsmr_reading_electricity_returned_1
    cycle: monthly
  monthly_energy_returned_peak:
    source: sensor.dsmr_reading_electricity_returned_2
    cycle: monthly
# Berekening van dag- en maandwaarden voor gas
  daily_gas:
    source: sensor.dsmr_consumption_gas_delivered
    cycle: daily
  monthly_gas:
    source: sensor.dsmr_consumption_gas_delivered
    cycle: monthly

De eerste regel (- platform: dsmr_reader) is in principe voldoende om de meterstanden via MQTT als sensors aan te maken binnen Home Assistant. Door gebruik te maken van platform: templates worden de meterstanden voor hoog- en laagtarief bij elkaar opgeteld. Deze worden later via utility_meter: gebruikt om de uur-, dag-, en maandtotalen te bereken. Dit staat verder op in de configuratie.

Indien je de configuration.yaml hebt aangepast, dien je Home Assistant te herstarten. Dit is nodig om de sensors voor de slimme meter door Home Assistant aan te laten maken.

Probeer ook eens deze Zigbee led dimmer die geschikt is voor alle A-merken afdekmateriaal. Een bijkomend voordeel is dat deze gebruikt kan worden met 2 draden, dus geen nuldraad of bypass vereist.

Aanmaken van het Slimme meter dashboard

Nadat Home Assistant opnieuw is opgestart zijn alle nieuwe sensoren aangemaakt. Ik heb er in dit voorbeeld voor gekozen om een nieuwe pagina op het dashboard te maken met de meest relevante meterstanden. In dit voorbeeld maak ik gebruik van drie kolommen die door middel van manual cards kunnen worden aangemaakt. Je hoeft dus alleen maar een manual card aan te maken en vervolgens de configuratie voor iedere kolom te plakken uit de voorbeelden.

Maak eerst een nieuwe pagina binnen het dashboard aan door op de drie puntjes te klikken in de rechter bovenhoek.

Klik vervolgens op de oranje + en geef de nieuwe pagina een naam, bijvoorbeeld Slimme Meter en sla de pagina op.

Je kunt nu verdergaan met het aanmaken van de drie kolommen. Maak de eerste kolom door op Add Card te klikken

Selecteer Manual

Haal de bestaande tekst weg en plak de volgende configuratie:

type: vertical-stack
cards:
  - type: gauge
    entity: sensor.dsmr_reading_electricity_currently_delivered
    min: 0
    max: 3000
    name: Real-time Verbruik
    severity:
      green: 400
      yellow: 700
      red: 1000
    unit: Watt
  - type: gauge
    entity: sensor.dsmr_reading_electricity_currently_returned
    min: 0
    max: 3000
    name: Real-time Teruglevering
    severity:
      green: 400
      yellow: 700
      red: 1000
    unit: Watt
  - type: sensor
    entity: sensor.electriciteitsverbruik_per_uur
    graph: line
    name: Electriciteitsverbruik per uur
  - type: sensor
    entity: sensor.hourly_energy_returned
    graph: line
    name: Teruglevering per uur
  - type: sensor
    entity: sensor.gasverbruik_per_uur
    graph: line
    name: Gasverbruik per uur

Dit ziet er dan als volgt uit:

 

Sla de configuratie op en ga verder met kolom 2:

type: vertical-stack
cards:
  - type: sensor
    entity: sensor.daily_energy_delivered
    graph: line
    name: Electriciteitsverbruik per dag
  - type: sensor
    entity: sensor.daily_energy_returned
    graph: line
    name: Teruglevering per dag
  - type: sensor
    entity: sensor.daily_gas
    graph: line
    name: Gasverbruik per dag

Dit ziet er dan als volgt uit:

Sla de configuratie op en ga verder met kolom 3:

type: vertical-stack
cards:
  - type: sensor
    entity: sensor.monthly_energy_delivered
    graph: line
    name: Electriciteitsverbruik per maand
  - type: sensor
    entity: sensor.monthly_energy_returned
    graph: line
    name: Teruglevering per maand
  - type: sensor
    entity: sensor.monthly_gas
    graph: line
    name: Gasverbruik per maand

De derde kolom ziet er dan als volgt uit:

Indien je de derde kolom hebt opgeslagen is het dashboard gereed. Uiteraard kun je nog meer toevoegen aan het dashboard. De namen van de sensoren staan in de configuration.yaml aan het begin van dit artikel.

Hier het eindresultaat:

20 thoughts on “Slimme Meter (DSMR P1) – Uurstanden, Dagstanden en Maandstanden in Home Assistant”
  1. Ziet er goed uit Roel, zal het een dezer dagen eens uitproberen, ben benieuwd.

  2. Leuk artikel, ziet er goed uit en is begrijpelijk wat je doet.
    Ik heb het uitgeprobeerd, werkt in 1 keer en ben er tevreden mee.
    Ga zo door.

  3. Hi Roel, leuk artikel en ik heb het proberen te installeren. Is helaas niet gelukt. Krijg de volgende foutmeldingen:

    The following integrations and platforms could not be set up:

    mqtt
    mqtt.sensor
    dsmr_reader.sensor

    Hierdoor werkt het opbouwen van het dashboard vervolgens ook niet, krijg allemaal lege meters omdat de betreffende sensoren niet worden gevonden.
    Heb je tips?

    1. Hoi Bastiaan,

      Ik denk dat je ergens iets vergeten bent. Het is belangrijk dat je rekening houdt met bijvoorbeeld het aantal spaties. HA is nogal kritisch hierop.

      Groeten,
      Roel

  4. Hallo Roel,

    Ik gebruik de slimme meter dsmr sinds een aantal maanden in home assistant en werkt altijd perfect , alleen sinds vandaag krijg ik een aantal meldingen en wordt de graph kaart niet meer weer gegeven:
    Entity is non-numeric
    sensor.dsmr_reading_electricity_currently_delivered

    en dezelfde melding voor currently_returned.

    HEb jij enig idee wat ik fout doe?

    1. Beste Erik,

      Bedankt voor je bericht. De foutmelding zegt me zo niks. Het beste kun je even de logging verzamelen en deze bekijken. Hoe dit moet vind je hier: https://smartgateways.nl/logging-van-de-gateway/

      Eventueel kun je deze doorsturen naar support@smartgateways.nl zodat ik ook even kan kijken wat er mis is.

      Ik heb overigens van meerdere mensen gehoord dat er iets is gewijzigd in de laatste Home Assistant update. Dit was allemaal met andere producten maar wellicht is dit ook op onze gateways van toepassing.

      Groeten,
      Roel

  5. Hallo Roel, vanaf precies 1 januari telt mijn gasverbruik niet meer op in home assistant. Huidig verbruik wordt nog wel getoond. Ik heb niets veranderd aan de instellingen. Heb je dit vaker gehoord en weet je misschien waar het door komen kan?

    Groeten Gerry

    1. Hoi Gerrry,

      Hiervan is mij niks bekend. Je kunt via telnet of mqtt alle gegevens inzien die de meter verstuurd. Als ze hier bij zitten dan doet de gateway zijn werk. Je kunt dat in HA verder zoeken. Wellicht handig om HA even te updaten naar de laatste versie en de tijd te controleren.

      Groeten,
      Roel

  6. Hoi Roel,

    Dit weekend de overstap gemaakt van Domoticz naar Homeassistant.
    De P1 meter (zonder display) heb ik aangesloten, en werkt prima. Ook kan ik verbinding maken via mqtt explorer.
    Ook heb ik je slimme meter dashboard aangemaakt in Homeassistant, alles werkt, alleen 1 waarde
    komt vanuit de p1 poort binnen in in kW (electricity_currently_deliverd = 0.36), hoe kan ik deze in de gauge
    in de eerste vertical stack zo zetten dat ik daar de waarde te zien krijg in W (dus 360).

  7. Ik heb een P1-meter van Homewizard, welke gegevens moet ik dan invoeren in de Configuration.yaml?

Leave a Reply

Your email address will not be published. Required fields are marked *