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.
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 SmartGateways 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 Smart Gateways Slimme Meter WiFi Gateway 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'
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:
ik gebruik jouw slimme meter met HA
wanneer ik de laatste regel uncomment dan krijg ik een error
in mqtt explorer ziet het er allemaal goed uit
# Voorbeeldconfiguratie Smart Gateways 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’
heb jij een idee ?
Beste Ad,
Er stond een fout in de configuratie. Ik heb het artikel aangepast. Je kunt de configuratie opnieuw proberen te plakken
Hi Roel,
Zou je de pagina kunnen updaten naar het laatste format van HA MQTT?
https://www.home-assistant.io/integrations/sensor.mqtt/
Nu verschijnt er een warning in HA
Gr,
Tony
Beste Roel,
Bedankt voor de uitgebreide uitleg.
Helaas zie ik alleen in HA of in de Windows mqtt explorer de meter niet voorbij komen. Als ik de meer via de gateway poort 82 probeer te benaderen krijg ik een leeg scherm met “Connectix SmartMeter Gateway”
Wat nu?
Dag Marnix,
Indien de webserver die melding geeft draait jouw gateway nog een oude firmware. De gateway controleert zelf op updates. Indien er een update is dan gaat hat blauwe ledje snel knipperen. Door kort op het knopje te drukken wordt de firmware geinstalleerd. Na ongeveer twee minuten is de nieuwe webserver aktief op de gateway en kun je in het vervolg ook de update uitvoeren via het firmware menu.
Groeten,
Roel
Beste Roel,
Het is gelukt om de gegevens via MQTT uit te lezen en een eigen dashboard te creëren met de gegevens. Ik kan de entities voor het verbruik en terug levering echter niet selecteren in het standaard ‘Home Assistant Energy Dashboard’. Heb je daar een tip voor?
Groeten,
Loek
Beste Loek,
Als je de handleidingen (mqtt in jouw geval) stap voor stap hebt gevolgd moeten deze sensoren gewoon beschikbaar zijn. Bij het aanpassen van een jaml bestand is het altijd nodig om home assistant te herstarten. Mochten de sensoren daarna nog niet beschikbaar zijn dan mail gerust even naar support@smartgateways.nl, dan help ik je zo even verder.
Hoi,
We hebben 2 meters en ik heb ook 2 smartgateway’s aangeschaft. Die wil ik koppelen aan Home Assistent met mqtt. Maar hoe zorg ik ervoor dat deze op 2 verschillende topics binnenkomen zodat ze ook los te integreren zijn. Is dat met de mqtt prefix optie?
Alvast bedankt,
Groeten Thijs
Hoi Thijs,
Dit kun je inderdaad doen dmv. een prefix. Gebruik bevoorbeeld meter1 en meter2. Je kunt vervolgens 2x de mqtt configuratie in 1 bestand zetten en alle topics en names laten starten met meter1 en meter2. Uiteraard moet je ook 2x het dahsboardbestand aanpassen aan de topics. Ik zou per meter een eigen dashboard maken.
Groeten,
Roel
Klopt de configuratie nog wel? Ik krijg volgende melding;
Your manually configured MQTT sensor(s) needs attention
This stops working in version 2022.12.0. Please address before upgrading.
Manually configured MQTT sensor(s) found under platform key sensor.
Please move the configuration to the mqtt integration key and restart Home Assistant to fix this issue. See the documentation, for more information.
Beste Tony,
De nieuwe handleiding kun je hier vinden: https://www.connectix.nl/home-assistant-slimme-meter-energy-dashboard-met-uitgebreide-grafieken/
FYI. Nieuwe formaat van de configuratie, ziet er zo uit, voor wie een waarschuwing krijgt na de laatste update:
sensor:
– platform: dsmr_reader
mqtt:
sensor:
– name: “Gasverbruik per uur”
state_topic: “dsmr/reading/gas_hourly_usage”
unit_of_measurement: ‘m3’
– name: “Electriciteitsverbruik per uur”
state_topic: “dsmr/reading/electricity_hourly_usage”
unit_of_measurement: ‘kW’
Beste Leon,
Bedankt voor je bericht. De geupdate handleiding kun je hier vinden:
https://www.connectix.nl/home-assistant-slimme-meter-energy-dashboard-met-uitgebreide-grafieken/
Hier staat ook de mqtt configuratie volgens de nieuwe home assistant standaard.