Homey Community Forum

Simpele koppeling tussen DSMR en Homey

Dag mensen, ik bezit sinds een aantal weken een Homey en ben overgestapt van Domoticz. Nadat ik van de opstart problemen verlost ben moet ik zeggen dat ik eigenlijk zeer tevreden ben over het geheel.

Nu de vraag. Mijn Raspberry gebruik ik nog en daar heb ik nu DSMR op actief. Zeer prettig om mijn energieverbruik in grafieken te zien. Ik zou echter op een simpele manier beide geïntegreerd willen hebben. Is er een makkelijke manier om bv de info van DSMR te zien in Homey en direct in het energy tabblad te kunnen zien? Dat gaat me straks helpen om nog meer mooie flows te maken.

Ik zag diverse suggesties via MQTT of dergelijke, maar ik weet ongeveer hoe het werkt maar heb niet de kennis om daar verder iets van te maken.

Is er iemand die dit kant en klaar heeft in een app of kan iemand uitleggen wat ik moet doen?

Ik hoor graag!

Je bedoelt DSMR reader? (https://github.com/dennissiemensma/dsmr-reader)

Ik heb een flow welke via http get requests iedere zoveel tijd de waarden van verbruik/kosten ophaalt en in een variabele wegschrijft. Die zou je dan weer kunnen gebruiken om verder mee te gaan, bijvoorbeeld een virtual device in Homeydash. Kijk vooral eens naar de instructies betreffende de API van DSMR reader

1 Like

Bedankt voor je reactie, is het dan ook mogelijk om die informatie in je energy tab te krijgen? Ik heb het eerder geprobeerd om met Domoticz de info uit te lepelen, maar dan wordt het energieverbruik er extra bij opgeteld ipv als totaal gezien.

Zou je dit met ons kunnen delen? Ben erg benieuwd hoe je dit voor elkaar heb gekregen!

Ik denk dat dat een beperking van de Energy functie van Homey is…

{“method”:“get”,“protocol”:“http:”,“hostname”:“192.168.X.X”,“port”:XXXX,“path”:"/api/v2/consumption/today",“headers”:{“X-AUTHKEY”:“XXXXXXXXXX”}}

In de API van DSMR staan nog meer voorbeelden van json parameters als gasverbruik, dagelijkse kosten etc.

Ik gebruik de apps Http request flow cards en Better logic

Hoop dat dit je op het goede spoor zet!

Ik heb ook een raspberry in de meterkast hangen en daar draait onder andere een script op welke mijn slimme meter uit leest. Elke minuut stuur ik middels MQTT de meterstanden door naar Homey en in Homey bereken ik het verbruik per uur, per dag en per maand.

Tnx Jan Willem, heb lang zitten prutsen met dat MQTT maar heb het nooit werkend gekregen…

Ga maar even met http GET aan de gang :grimacing:

Ik had het (met hulp van het grote WWW) in een weekend werkend.

Als startpunt heb ik dit script gebruikt:

Echter bleek ik een DSMR 5.0 meter te hebben waardoor de uitlezing van de gasstanden niet bleek te werken. Dit heb ik kunnen aanpassen in het script. Tevens heb ik alle berekeningen uit het script gehaald en stuur enkel de meter standen naar homey, het rekenwerk doe ik in Homey zelf.

Voor het mqtt deel zul je ff moeten zoeken op paho.mqtt.client Dat was ook mijn startpunt naar het werkend krijgen van mqtt vanaf de raspberry. Ik weet zo niet meer waar, maar al snel vond ik een stap voor stap handleiding om alles in te stellen.

Er bestaat ook een Domoticz App voor Homey!

Ik gebruik momenteel een Plugwise Smile P1, die heeft een nette Homey app, maar vertrouw Plugwise niet echt in het kader van privacy

ik ga hier eens mee experimenteren, heb zojuist op Ali een DMSR kabeltje besteld à 9euro :stuck_out_tongue:

Heb dsmr reader inmiddels werkend met het ali-kabeltje
op de een of andere manier vind de Pi 4 het niet leuk als je dat ding in een USB3.0 poort steekt, kreeg geen data, heb die dongle open gemaakt en er twee ledjes en weerstanden op gebakken (footprint was aanwezig) en zag aan het RX ledje dat er wel data met een interval van 10s uit de meter kwam.

Heeft iemand al iets werkends om de data via zo’n json call in een virtuele device (energie meter) te stoppen? ik snap de syntax van die http-request flow cards niet, hoe kan ik de data die daar uitkomt linken aan een variabele/device?
met de ‘logic web verzoek’ flow card

of een http verzoek json card

Hi, I tried with the betterlogic (used jsonlint to verify my input) but getting an cannot get indexof Null error
afbeelding

I verified the path and parameters using the API doc (V2 since V3 doc is not filled yet)
https://dsmr-reader.readthedocs.io/en/v2/api.html#id24

and tried this one
{
“method”: “get”,
“protocol”: “http:”,
“hostname”: “192.168.X.X”,
“port”: 7777,
“path”: “/api/v2/consumption/electricity-live”,
“headers”: {
“X-AUTHKEY”: “ABCDEF…”
}
}

Does this help? Seems you have some spaces I don’t have?

{“method”:“get”,“protocol”:“http:”,“hostname”:“192.168.2.21”,“port”:8088,“path”:"/api/v2/consumption/today",“headers”:{“X-AUTHKEY”:“YOURAUTH”}}

Ik heb ZTATZ op de raspberry gezet en die kan rechtstreeks met homey communiceren via de ZTATZ app. Wellicht niet wat je zoekt maar ook een optie.

Een tegenhanger van plugwise is de Youless LS120. Daar heb je zelf de keuze of je data de cloud in wilt sturen of niet. En heeft een goede Homey app :wink:

1 Like

Ik heb even een python scriptje gemaakt (ben helaas niet zo’n python held) die hetzelfde doet, die leest hem gewoon uit

import requests
import json

URL = “http://192.168.2.5:7777/api/v2/consumption/today

APIKEY = “YOURKEY”

r = requests.get(url = URL, headers = {‘X-AUTHKEY’: APIKEY})

parsed=json.loads(r.text)

print(json.dumps(parsed, indent=2))

result:
{
“energy_supplier_price_electricity_returned_2”: 0.0,
“energy_supplier_price_electricity_returned_1”: 0.0,
“electricity2_cost”: 1.68,
“electricity_returned_merged”: 0.0,
“gas”: 5.302,
“energy_supplier_price_electricity_delivered_2”: 0.23789,
“energy_supplier_price_electricity_delivered_1”: 0.2224,
“total_cost”: 6.72,
“electricity2_returned”: 0.0,
“electricity1”: 2.465,
“gas_cost”: 4.49,
“electricity2”: 7.061,
“electricity1_cost”: 0.55,
“electricity_merged”: 9.526,
“day”: “2020-03-31”,
“energy_supplier_price_gas”: 0.84745,
“electricity1_returned”: 0.0
}

er gaat dus iets mis in mijn flowcard

I have the exact same card as far as I can tell, also A22.

What version of DSMR reader are you using?

I’m using version 3.7

Zelfde hier. Ik snap niet waarom het bij jou niet werkt :face_with_monocle:.

Heb je de betterlogic waarde wel aangemaakt eerst? Anders alles nog eens opnieuw proberen?