In deze handleiding vertel ik je hoe je eenvoudig je slimme meter met DSMR P1 poort kunt uitlezen via MQTT. Weet je al alles over een slimme meter of MQTT, sla dan de eerste alinea’s over.

Wat is een slimme meter?

Een slimme meter is een digitale meter waarvan de standen op afstand worden uitgelezen door de energieleverancier en de netbeheerder. Je hoeft dus geen meterstanden meer door te geven aan je energieleverancier en er hoeft geen meteropnemer meer langs te komen.

De slimme meter meet je stroomverbruik en geeft de standen van de gasmeter door. Oude gasmeters kunnen niet met de slimme meter communiceren; de netbeheerder vervangt die gelijktijdig met de elektriciteitsmeter.

De slimme meter wordt op de volgende momenten uitgelezen door de energieleverancier of netbeheerder:

  • 1 keer per jaar voor het opmaken van de jaarrekening;
  • 12 keer per jaar voor een verbruik- en kostenoverzicht (voor jezelf);
  • bij een eventuele overstap naar een andere leverancier of verhuizing;
  • bij beheer of onderhoud van het energienet, als dat nodig is.

Met de slimme meter krijg je meer inzicht in je energieverbruik, bijvoorbeeld dankzij de maandelijkse kostenoverzichten. Maar vooral als je er zelf nog een energieverbruiksmanager op aansluit.

Beter inzicht zorgt ook vaak voor een besparing. Goed voor het milieu en voor jouw portemonnee. Tegenwoordig hebben steeds meer huishoudens een slimme elektriciteitsmeter. Op deze digitale elektriciteitsmeters zitten ‘gebruikerspoorten’ waarop een eigen ‘slimme’ toepassingen kan worden verbonden. Maar je kunt de slimme meter gateway ook stand-alone gebruiken. Het enige dat je nodig hebt is deze slimme meter gateway en een smartphone.

Als klant zit je zo zélf aan het stuur van je energieverbruik en -productie. Door gebruik te maken van een slimme meter is het niet meer nodig voor energie leveranciers om de meterstanden te komen opnemen.

Besparen

Met alleen de slimme meter ga je nog niet besparen. Maar met het maandelijkse verbruiks- en kostenoverzicht van de energieleverancier kun je makkelijker en sneller controleren of je verbruik niet onverwacht omhoog gaat. Energieleveranciers ondernemen geen actie als je verbruik opeens sterk stijgt. Je moet dat dus zelf in de gaten houden.

Ook kun hiervoor de slimme meter gateway aan de slimme meter koppelen en uitlezen via je smartphone. Die kunnen je helpen om energie te gaan besparen.

In Nederland en België zijn alle nieuwe slimme meters voorzien van een P1 poort waarop de gateway kan worden aangesloten. In Nederland is deze poort altijd geactiveerd. In België staat de p1 poort echter standaard uitgeschakeld. Deze kan door de distributienetbeheerder worden geactiveerd. Bij Fluvius kan dit bijvoorbeeld via de volgende link: https://mijn.fluvius.be/poortbeheer.

Enexis Netbeheer

Eenmaal geactiveerd, kan door het volgende stappenplan te doorlopen de meter in real-time worden uitgelezen door een app op je telefoon.

Gasverbruik ook vaak zichtbaar

Veel huizen hebben naast een slimme elektriciteitsmeter ook een slimme gasmeter. De gasmeter heeft in dit geval een draadloze verbinding met de slimme elektriciteitsmeter. Het kan ook zijn dat de gasmeter via een kabeltje met de elektriciteitsmeter is verbonden.

In deze post leg ik je uit hoe je eenvoudig je slimme meter kunt uitlezen via MQTT en inzichtelijk kunt maken in Home Assistant. Zo kun je precies zien hoeveel energie en gas je verbruikt en hoe je kunt besparen op je energiekosten.

 

Wat is MQTT?

Message Queuing Telemetry Transport is een protocol waarmee gegevens tussen IoT devices kunnen worden uitgewisseld. Het is ontworpen voor verbinding met externe locaties waar een “kleine code footprint” wordt vereist. Externe locaties hebben vaak geen stroomvoorziening of snelle internetverbinding. De dataoverdracht moet dus efficiënt, energiezuinig en betrouwbaar zijn. Het MQTT protocol is om deze reden ook zeer geschikt voor domotica toepassingen omdat deze ook uit veel sensoren met batterijen bestaat.

Er bestaat twee verschillende apparaten namelijk:

  • MQTT Client
  • MQTT Broker of Message Broker

De broker zorgt voor de verwerking van berichten. Clients kunnen berichten naar een broker sturen onder een bepaald topic (onderwerp). Dit kan bijvoorbeeld de temperatuur zijn of het energieverbruik van de slimme meter WiFi gateway met display of de versie zonder display (Advanced):

Andere clients kunnen zich abonneren op een topic om de data uit te lezen. Dit kan bijvoorbeeld Home Assistant zijn die de sensordata verder verwerkt. MQTT gebruikt voor het versturen van data twee poorten, namelijk tcp/1883 voor clear-text en tcp/8883 voor versleutelde berichten via TLS (Transport Layer Security). Aanmelden op de server kan anoniem, met een gebruikersnaam en wachtwoord of met client certificaten. Het vaakst wordt hiervoor een gebruikersnaam en wachtwoord gebruikt.

Een MQTT server kan op een aparte server worden geïnstalleerd of in de cloud. Binnen Home Assistant wordt de MQTT broker vaak geïnstalleerd op de Home Assistant server zelf. De software die hiervoor het meest geschikt is is de Mosquitto MQTT Broker van Eclipse. Kijk hier voor een stap instructie hoe de Mosquitto MQTT Broker binnen Home Assistant geïnstalleerd kan worden.

Lees hier hoe je alle gegevens van de slimme meter kunt weergeven in een overzichtelijk dashboard:

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.

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 gateway via wifi 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!

 

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.

 

Slimme meter gateway koppelen aan Home Assistant via MQTT

De gateway met scherm dient eerst gereset te worden naar fabrieksinstellingen om toegang te krijgen tot de configuratieportal. Druk hiervoor 10 seconden het knopje rechts onder naast het display in en laat dit los. Het reset scherm wordt weergegeven. Nadat de gateway opnieuw is opgestart kan er verbonden worden met het wifi netwerk dat de gateway uitzendt. Vul de comsetting en baudrate in die bij jouw meter horen. Voor DSMR2 is dit 9600 / 7E1. De hogere versies gebruiken 115200 / 8N1.

Gebruikers met de gateway zonder display Advanced kunnen het knopje indrukken om de portal te activeren. Het wifi netwerk CONNECTIX P1 READER wordt uitgezonden en is benaderbaar via http://192.168.4.1

Je kunt de MQTT gegevens vervolgens invullen in de portal

 

Vul de volgende velden in:

  • MQTT SERVER: ip adres van jouw mqtt broker (waarschijnlijk het ip adres van jouw raspberry pi waar home assistant op draait)
  • MQTT SERVER PORT: het poortnummer van jouw mqtt broker (standaard is dit 1883)
  • MQTT USERNAME: de gebruiker die je hebt aangemaakt op jouw mqtt broker
  • MQTT PASSWORD: het bijbehorende wachtwoord
  • MQTT INTERVAL: de interval (in seconden) waarmee de gateway updates verstuurt naar jouw broker. Als je niks invult is dit 10. Hiermee kun je beperken hoe vaak de gateway updates naar Home Assistant verstuurt
  • MQTT PREFIX: het voorloop topic dat je kunt gebruiken. Dit is alleen voor geavanceerde gebruikers. De meeste gebruikers hoeven hier niks in te vullen

Eenmaal ingevuld zal de gateway verbinding maken met jouw mqtt broker en data versturen met de interval die je hebt ingesteld.

 

Hoe weet ik of de broker de verbinding met de broker juist tot stand is gekomen en de data correct aankomt?

Je kunt zelf verbinding maken met jouw mqtt broker door het programma MQTT Explorer te gebruiken. MQTT Explorer is hier te downloaden.

Als je MQTT Explorer hebt geïnstalleerd dien je eerst een verbinding met jouw mqtt broker tot stand te brengen. Selecteer de “+” om een nieuwe verbinding toe te voegen. Het scherm ziet er dan ongeveer als volgt uit:

Druk indien je alles hebt ingevuld op CONNECT.

Het volgende scherm wordt weergegeven. Hier zie je alle informatie (mqtt topics) die jouw broker afhandelt. Als het goed is zie je hier ook het dsmr topic en het smart_gateways topic. Door de pijltjes voor het topic te selecteren kun je alle gegevens tonen die de gateway verstuurt naar jouw broker.

Onder in het scherm zie je een grafiek van de laatste meterstanden. Door een ander topic te selecteren zie je de grafiek van het geselecteerde topic. Dit is dus een goede controle om te zien of jouw gateway goed communiceert met jouw MQTT broker.

Nu beschikbaar: de Watermeter Gateway!

Hoe kan ik de meterstanden weergeven in Home Assistant?

Als je bovenstaande stappen hebt doorlopen kun je beginnen met het aanmaken van de verschillende dashboards binnen Home Assistant. Home Assistant kent al een standaard integratie die alle waardes weergeven. Hiervoor dien je de configuration.yaml aan te passen met het volgende:

# Voorbeeldconfiguratie Connectix Slimme Meter WiFi Gateway
sensor:
  - platform: dsmr_reader
  - platform: mqtt
    name: "Gasverbruik per uur"
    state_topic: "dsmr/reading/gas_hourly_usage"
  - platform: mqtt
    unit_of_measurement: 'm3'
    name: "Electriciteitsverbruik per uur"
    state_topic: "dsmr/reading/electricity_hourly_usage"
    unit_of_measurement: 'kW'

De eerste regel (- platform: dsmr_reader) is in principe voldoende om de meterstanden via MQTT als sensors aan te maken binnen Home Assistant. De overige 2 – platform: mqtt sensors zijn voor het uurverbruik. Eventueel kun je ook het volgende topic toevoegen om een notificatie te maken indien er een firmware update beschikbaar is. Het topic smart_gateways/update_available verandert namelijk van false in true indien er een firmware update beschikbaar is voor de slimme meter wifi gateway. Op deze manier hoef je dus niet het scherm van de gateway in de gaten te houden.

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

Nadat Home Assistant is herstart kun je bijvoorbeeld het actuele stroomverbruik weergeven op het dashboard. Dit doe je door de volgende card aan te maken:

name: Huidig Energieverbruik
severity:
  green: 750
  red: 1500
  yellow: 1100
type: gauge
entity: sensor.dsmr_reading_electricity_currently_delivered
min: 200
max: 4000

Dit ziet er grafisch als volgt uit:

Je kunt ook het uurverbruik voor gas en electriciteit weergeven:

Dit doe je door de volgende tekst te gebruiken bij het aanmaken van bijvoorbeeld een Vertical Stack Card:

type: vertical-stack
cards:
  - type: sensor
    entity: sensor.electriciteitsverbruik_per_uur
    graph: line
   name: Electriciteitsverbruik / uur
   unit: kW
- type: sensor
  entity: sensor.gasverbruik_per_uur
  graph: line
  name: Gasverbruik / uur
  unit: m3

Dit ziet er grafisch als volgt uit:

Uiteraard kun je nog meer toevoegen aan het dashboard. Alle slimme meter sensoren beginnen met “sensor.dsmr_reading”. Je kunt dus zelf naar smak een mooie dashboard samenstellen. Een handleiding over hoe je de de meest relevante gegevens kunt weergeven in Home Assistant vind je hier: