Homey Community Forum

P1 smartmeter (API)

Here is the other screenshot. (not allowed to post than 1 image due to new user status)

Don’t know what courses your issue. Can you send a diagnostic log to the developer?

What’s invalid from your point of view?

Sure! df3bda2f-a396-41fa-8132-eec8de052fde.

The values “terug levering” and “huidig verbruik” should be switched.

As now my usage in the evening, when the sun is down, is zero. (which is not true)

Yes, they are flipped around. And also weird is that during the day you always seem to use energy (it is not zero), even though you seem to be delivering to the grid most of the time.

Do you have 3-phases maybe?

Or do you live in Belgium? I think the smart meters there report reversed, so that matches your experience with flipped results.

Yeah I have 3 phases. No i live in the Netherlands

Ah, when your usage is on 3 phases but your production is only on one phase, it explains why you still consume power even when your production is way higher.

Weird that your usage and production are switched. Did they give you a Belgian smart meter🤪?

Is this fixable?

To fix it you need a 3 phase inverter that feeds your production to the grid.

Or alternatively change your grid connection to only 1 phase, so you always use from the same phase as the one you are producing into. But if you for some reason need 3 phases that will not be possible (e.g. you have a 3 phase car charger, or high power demands in house)

We have 3 phases due to charger for our car.

Will dive into GitHub - koktaildotcom/com.p1.smartmeter-dsmr.reader to find a way to correct the values.

It worked fine when using DSMR on Home Assistant.

I saw that the node-dsmr has fixed this in release 0.1.18. Consumed and Produced values for phases seem reversed? · Issue #5 · reneklootwijk/node-dsmr · GitHub

I have just upgraded node-dsmr to 0.1.21 (latest release) and shows the correct values now.

1 Like

UPDATE: No it didn’t. It looked like it was working but apparently not…

1 Like


Can you please help me? I tried everything you where talking about but still rubbish. What do I do wrong:

{"message":"posted successfully to: https://xxxxxxxxx.connect.athom.com/api/app/com.p1/update","level":"info"}
{"message":"Unknown id: 0-0:96.�.�(�B����3�303035303�3�3�3�3�3�3�3���","level":"debug"}
{"message":"Unknown id: �-0:�.�.�(����0.5�0���詍","level":"debug"}
{"message":"Unknown id: �-0:�.�.�(���03.653���詍","level":"debug"}
{"message":"Unknown id: �-0:�.�.�(0�935.�55���詍","level":"debug"}
{"message":"Unknown id: �-0:�.�.�(06���.�3����詍","level":"debug"}
{"message":"Unknown id: 0-0:96.��.0(000���","level":"debug"}
{"message":"Unknown id: �-0:�.�.0(0000.00��ש�","level":"debug"}
{"message":"Unknown id: �-0:�.�.0(0000.0���ש�","level":"debug"}
{"message":"Unknown id: 0-0:��.0.0(0999.00��ש�","level":"debug"}
{"message":"Unknown id: 0-0:96.3.�0(���","level":"debug"}
{"message":"Unknown id: 0-0:96.�3.�(��","level":"debug"}
{"message":"Unknown id: 0-0:96.�3.0(��","level":"debug"}
{"message":"Unknown id: 0-�:��.�.0(3��","level":"debug"}
{"message":"Unknown id: 0-�:96.�.0(3�3�3�303�353�3�3�303039303�3�3�3���","level":"debug"}
{"message":"Unknown id: 0-�:��.3.0(��0����00000�(00�(60�(��(0-�:��.�.��(�3��","level":"debug"}
{"message":"Unknown id: 0-�:��.�.0(���","level":"debug"}
{"message":"SmartMeter: Telegram {\"power\":{},\"gas\":{}}","level":"debug"}
{"message":"p1 smartmeter update gas or power","level":"info"}
{ meterType: undefined,
  version: undefined,
  timestamp: undefined,
   { received: { tariff1: [Object], tariff2: [Object], actual: [Object] },
     delivered: { tariff1: [Object], tariff2: [Object], actual: [Object] },
     tariffIndicator: undefined,
     switchPosition: undefined,
     voltageSags: { L1: undefined, L2: undefined, L3: undefined },
     voltageSwell: { L1: undefined, L2: undefined, L3: undefined },
     instantaneous: { current: [Object], power: [Object] } },
   { deviceType: '003',
     equipmentId: undefined,
     timestamp: undefined,
     reading: undefined,
     unit: 'm3',
     valvePosition: undefined,
     reportedPeriod: undefined } }
{"message":"posted successfully to: https://xxxxxxxxxxx.connect.athom.com/api/app/com.p1/update","level":"info"}

When I read the port with 9600,7,none I see the correct data only screen. Am I using the wrong software for my meter maybe ?

Data send is something similar to:



Thanks for helping me out

I think this is DSMR2.2 format, it looks very similar to my meter (which is an MT382). I have no idea if the P1 app supports that format (it’s rather old).

As for the rubbish, the serial line protocol settings should be:

  • 9600bps
  • 7 bits data
  • even parity
  • 1 stop bit
  • inverted (but I expect your reader to handle that properly already)

Before i used the standalone script on raspberry pi, working great.
Now I am using DSMR reader with plug-in tot homey. Live usage is working fine, but total usage is calculated including export energy?

I tried to delete an add the p1 device is homey, without result.

Someone knows where it goes wrong?