Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New device support]: IKEA INSPELNING smart plug with power monitoring #23961

Open
QempZor opened this issue Sep 13, 2024 · 297 comments
Open

[New device support]: IKEA INSPELNING smart plug with power monitoring #23961

QempZor opened this issue Sep 13, 2024 · 297 comments
Labels
new device support New device support request

Comments

@QempZor
Copy link

QempZor commented Sep 13, 2024

Link

US Version: https://www.ikea.com/us/en/p/inspelning-plug-smart-energy-monitor-90569846/
Dutch version: No ikea link yet, but buyable in the stores.. :)

Database entry

{"id":53,"type":"Router","ieeeAddr":"0xecf64cfffef2b718","nwkAddr":27855,"manufId":4476,"manufName":"IKEA of Sweden","powerSource":"Mains (single phase)","modelId":"INSPELNING Smart plug","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":266,"inClusterList":[0,3,4,5,6,8,1794,2820,4096,64636,64645],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"INSPELNING Smart plug","manufacturerName":"IKEA of Sweden","powerSource":1,"zclVersion":8,"appVersion":2,"stackVersion":114,"hwVersion":1,"dateCode":"20240215","swBuildId":"2.4.34"}},"haElectricalMeasurement":{"attributes":{"acPowerDivisor":10,"acPowerMultiplier":1,"acCurrentDivisor":1000,"acCurrentMultiplier":1,"acVoltageDivisor":10,"acVoltageMultiplier":1,"activePower":0,"rmsCurrent":3,"rmsVoltage":236}},"seMetering":{"attributes":{"divisor":1000,"multiplier":1,"currentSummDelivered":[0,77]}},"genLevelCtrl":{"attributes":{"onLevel":255,"currentLevel":254}},"genOnOff":{"attributes":{"onOff":1}}},"binds":[{"cluster":2820,"type":"endpoint","deviceIeeeAddress":"0xb43522fffe12b3b4","endpointID":1},{"cluster":1794,"type":"endpoint","deviceIeeeAddress":"0xb43522fffe12b3b4","endpointID":1}],"configuredReportings":[{"cluster":2820,"attrId":1291,"minRepIntval":10,"maxRepIntval":65000,"repChange":50},{"cluster":2820,"attrId":1288,"minRepIntval":10,"maxRepIntval":65000,"repChange":50},{"cluster":2820,"attrId":1285,"minRepIntval":10,"maxRepIntval":65000,"repChange":50},{"cluster":1794,"attrId":0,"minRepIntval":10,"maxRepIntval":65000,"repChange":[0,100]}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[33],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":2,"stackVersion":114,"hwVersion":1,"dateCode":"20240215","swBuildId":"2.4.34","zclVersion":8,"interviewCompleted":true,"meta":{"configured":332242049},"lastSeen":1726245436588}

Zigbee2MQTT version

1.40.1

Comments

Just picked this plugs up at the Ikea in Amsterdam. They're quite new, no infopage on the Ikea site (NL)
I tried to follow the "How to add support" page, but.. well,.. to complicated for this noob :)

However I want to help so here is al the information I know.

Out of the box, in Z2M, a lot works already quite well. See the results below.

Extra;
Some Tweakers forum information (Dutch): https://gathering.tweakers.net/forum/list_message/80105532#80105532

External definition

const {light, electricityMeter} = require('zigbee-herdsman-converters/lib/modernExtend');

const definition = {
    zigbeeModel: ['INSPELNING Smart plug'],
    model: 'INSPELNING Smart plug',
    vendor: 'IKEA of Sweden',
    description: 'Automatically generated definition',
    extend: [light(), electricityMeter()],
    meta: {},
};

module.exports = definition;

What does/doesn't work with the external definition?

Out of the box in:

  • ON OFF switch works as expected.
  • There is an "Effect" thing in HA/Z2M: Dont think it needs to be there for plug
  • There is an "Brightness slider" Dont think it needs to be there for plug
  • Energy Sensor is a sum of total consumed energy. Don't know if correct. See next point.
  • Power monitoring works kinda. When I charge my iPad it reads around 20W wich seems to be good. However if i plug in my toaster (wich is around 2000w) it reports around 209w) So there seems like a decimal error thing?
  • Same problem for voltage. It reports 23,3-23,6v (when pluged in to a 230v outlet ofcourse)
  • ̶P̶r̶o̶b̶a̶b̶l̶y̶ ̶t̶h̶e̶ ̶s̶a̶m̶e̶ ̶t̶h̶i̶n̶g̶ ̶f̶o̶r̶ ̶t̶h̶e̶ ̶a̶m̶p̶e̶r̶a̶g̶e̶.̶.̶ ̶D̶i̶d̶n̶t̶ ̶t̶e̶s̶t̶ ̶t̶h̶a̶t̶.̶ UPDATE: After testing the amperage seems to be correct.

Configuration page (in HA) shows a Power-on behavior wich works as expected

@QempZor QempZor added the new device support New device support request label Sep 13, 2024
@Rembock
Copy link

Rembock commented Sep 13, 2024

I made this definition:

External definition

const {electricityMeter, onOff, identify} = require('zigbee-herdsman-converters/lib/modernExtend');
const {addCustomClusterManuSpecificIkeaUnknown, ikeaOta} = require('zigbee-herdsman-converters/lib/ikea')

const definition = {
   zigbeeModel: ['INSPELNING Smart plug'],
   model: 'E2206',
   vendor: 'IKEA',
   description: 'INSPELNING Smart plug',
   extend: [addCustomClusterManuSpecificIkeaUnknown(), onOff(), identify(), ikeaOta(), electricityMeter()],
   meta: {},
};

module.exports = definition;

What does this external definition fix?

  • Removes "Effect"
  • Removes "Brightness slider"

Also:

  • Energy Sensor looks indeed like a sum of total consumed energy, I have another energymeter that does the same
  • Power monitoring works like it should, the voltage differs depending of the connected device onto your plug & should never use the full 230v.
  • Same applies to voltage and amperage

@QempZor
Copy link
Author

QempZor commented Sep 14, 2024

clarifying the voltage and wattage.
1500w toaster connected shows this on a 240v outlet:
Schermafbeelding 2024-09-14 113711

@Rembock
Copy link

Rembock commented Sep 16, 2024

You're right, I think I've extended the external definition correctly now. Can you try if this external definition works for you as well?

External definition

const {} = require('zigbee-herdsman-converters/lib/modernExtend');
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const ota = require('zigbee-herdsman-converters/lib/ota');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;

const {electricityMeter, onOff, identify} = require('zigbee-herdsman-converters/lib/modernExtend');
const {addCustomClusterManuSpecificIkeaUnknown, ikeaOta} = require('zigbee-herdsman-converters/lib/ikea');

const definition = {
   zigbeeModel: ['INSPELNING Smart plug'],
   model: 'E2206',
   vendor: 'IKEA',
   description: 'INSPELNING Smart plug',
   extend: [addCustomClusterManuSpecificIkeaUnknown(), onOff(), identify(), ikeaOta()],      
   fromZigbee: [fz.electrical_measurement, fz.metering],
   toZigbee: [],
   configure: async (device, coordinatorEndpoint, logger) => {
       const endpoint = device.getEndpoint(1);
       await reporting.bind(endpoint, coordinatorEndpoint, ['haElectricalMeasurement', 'seMetering']);
       await reporting.activePower(endpoint);
       await reporting.rmsVoltage(endpoint);
       await reporting.rmsCurrent(endpoint); 
       await reporting.currentSummDelivered(endpoint);               
       endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {
           acPowerMultiplier: 1,
           acPowerDivisor: 10,
           acVoltageMultiplier: 1,
           acVoltageDivisor: 1,
           acCurrentMultiplier: 1,
           acCurrentDivisor: 1000,            
       });
       endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 100, multiplier: 1});        
       device.save();
   },
   exposes: [e.power(), e.voltage(), e.current(), e.energy()],
};

module.exports = definition;

This is my result:
Screenshot 2024-09-17 000819
I am not sure if the number of kWh is correct yet

Also don't forget to restart zigbee2mqtt and re-pair your device, otherwise it won't work.

@QempZor
Copy link
Author

QempZor commented Sep 17, 2024

Voltage is correct now. I think the total sum of Energy already was correct
Power is still wrong when wattage reach >1000w
Schermafbeelding 2024-09-17 100056

EDIT: Total sum of energy looks like it 10 times to high

@ronaldevers
Copy link

@Rembock the "effect" actually worked on the light on the plug. I could for example make the light "breathe". The brightness did not appear to do anything. So I don't think the "effect" should be removed.

@itkama
Copy link

itkama commented Sep 18, 2024

These are also available in Germany now. Just bought 2. I will take a look if your external controller works for me tomorrow @Rembock. Any clue on how to get these into pairing mode?

@basvdploeg
Copy link

@itkama You can put them in pairing mode by pressing and holding the small button next to the power button. You probably need a pointy object to do so.

@itkama
Copy link

itkama commented Sep 18, 2024

Okay, so I couldn't wait until tomorrow to pair it (thanks @basvdploeg):
image
Seems to be kind of working out of the box already? Voltage looks about right. On/Off working. Not sure about the power measurement, as this is the first time I'm measuring my vacuum bot.

Tried the other one with a pretty efficient GAN-USB-Charger to charge a powerbank that shows how much is going in. While the plug reported 30 to 31W, while the powerbank was reporting around 25W of input power. So for low power it may be kind of accurate.

What does the external converter really change now though? The power number atleast on low wattages seems to be looking correct? 🧐

@Rembock
Copy link

Rembock commented Sep 18, 2024

Made a new definition, this one fixes the issue's with Energy and Power @QempZor
@ronaldevers i will try to take a look if there's a dimmer functionality hidden somewere,

External definition

const {} = require('zigbee-herdsman-converters/lib/modernExtend');
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const ota = require('zigbee-herdsman-converters/lib/ota');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;

const {electricityMeter, onOff, identify} = require('zigbee-herdsman-converters/lib/modernExtend');
const {addCustomClusterManuSpecificIkeaUnknown, ikeaOta} = require('zigbee-herdsman-converters/lib/ikea');

const definition = {
   zigbeeModel: ['INSPELNING Smart plug'],
   model: 'E2206',
   vendor: 'IKEA',
   description: 'INSPELNING Smart plug',
   extend: [addCustomClusterManuSpecificIkeaUnknown(), onOff(), identify(), ikeaOta()],      
   fromZigbee: [fz.electrical_measurement, fz.metering],
   toZigbee: [],
   configure: async (device, coordinatorEndpoint, logger) => {
       const endpoint = device.getEndpoint(1);
       await reporting.bind(endpoint, coordinatorEndpoint, ['haElectricalMeasurement', 'seMetering']);
       await reporting.activePower(endpoint);
       await reporting.rmsVoltage(endpoint);
       await reporting.rmsCurrent(endpoint); 
       await reporting.currentSummDelivered(endpoint);               
       endpoint.saveClusterAttributeKeyValue('haElectricalMeasurement', {
           acPowerMultiplier: 1,
           acPowerDivisor: 1,
           acVoltageMultiplier: 1,
           acVoltageDivisor: 1,
           acCurrentMultiplier: 1,
           acCurrentDivisor: 1000,            
       });
       endpoint.saveClusterAttributeKeyValue('seMetering', {divisor: 1000, multiplier: 1});        
       device.save();
   },
   exposes: [
       e.power(), 
       e.voltage(), 
       e.current(), 
       e.energy()
   ],    
};

module.exports = definition;

Screenshot 2024-09-18 222031

@Rembock
Copy link

Rembock commented Sep 18, 2024

@ronaldevers I get Data confirm errors in my log when I add light to the extended definition, so I decided not to configure the effect

@LeoSum8
Copy link

LeoSum8 commented Sep 19, 2024

This looks very promising! I think I'll need to go out to eat some hotdogs for lunch pretty soon :)
Can anyone share how often the values are updated? Thanks!

@QempZor
Copy link
Author

QempZor commented Sep 19, 2024

Okay, so I couldn't wait until tomorrow to pair it (thanks @basvdploeg): image Seems to be kind of working out of the box already? Voltage looks about right. On/Off working. Not sure about the power measurement, as this is the first time I'm measuring my vacuum bot.

Tried the other one with a pretty efficient GAN-USB-Charger to charge a powerbank that shows how much is going in. While the plug reported 30 to 31W, while the powerbank was reporting around 25W of input power. So for low power it may be kind of accurate.

What does the external converter really change now though? The power number atleast on low wattages seems to be looking correct? 🧐

Power readings below 1000w are fine (out of the box), But above 1000W everything is shown as 100,0w (or f.e. 132,4w)

With the ext. def. from Rembock, everything above 1000W seems to be good; but below 1000w is then show 10x too much (7,2w LED bulb reads 72w power... )

Also; I saw someone on Tweakers (dutch tech forum) who bought 2 of these plugs and didn't show any data. He changed them at another Ikea store and then one of them is showing the correct voltage, and one is shown 10times to high voltage, with the same settings/ext.def.) So there might also be a (small) problem within the units itself. (<- Thats just speculation)

@Rembock
Copy link

Rembock commented Sep 19, 2024

I am almost certain that this must be a firmware issue, I hope Ikea will come up with an update soon.

Also; I saw someone on Tweakers (dutch tech forum) who bought 2 of these plugs and didn't show any data. He changed them at another Ikea store and then one of them is showing the correct voltage, and one is shown 10times to high voltage, with the same settings/ext.def.) So there might also be a (small) problem within the units itself. (<- Thats just speculation)

Yup, that's @basvdploeg :)

@itkama
Copy link

itkama commented Sep 19, 2024

@Rembock Firmware versions on both my plugs is 2.4.34 with a Firmware date of 20240215.
@QempZor there also is the TRETAKT plug. It looks really similar - but it has no power readings. Costs 2€ less here in Germany. Maybe he just got the wrong plugs? 😅

@basvdploeg
Copy link

basvdploeg commented Sep 19, 2024

@Rembock Firmware versions on both my plugs is 2.4.34 with a Firmware date of 20240215. @QempZor there also is the TRETAKT plug. It looks really similar - but it has no power readings. Costs 2€ less here in Germany. Maybe he just got the wrong plugs? 😅

No, they were the INSPELNING. Both showed only 1 (different) reading, and all the other values stayed empty. I tried re-pairing them multiple times, with and without external definition, but the results stayed the same.

When I switched them for two new version (from another IKEA store), I got all the data instantly. So it definitely looked like a problem in the plugs themselves.

@arjansiemons
Copy link

I bought 3 INSPELNING, one of them reports as TRETAKT (2204). I checked the label on the plug, it really says 2206 (INSPELNING).

@busene
Copy link

busene commented Sep 20, 2024

I bought 3 yesterday and added them to Zigbee2MQTT using the external definition from @Rembock . Somehow 1 shows all the values x10 (so my outlet is now outputting 2340Volts), but the other 2 show correct values. Anybody that knows whats going on?

@itkama
Copy link

itkama commented Sep 20, 2024

@busene do your 3 plugs show different firmware versions?

@busene
Copy link

busene commented Sep 20, 2024

@itkama nope, all show the same version

@Rembock
Copy link

Rembock commented Sep 20, 2024

Instead of using the power sensor from the E2206, I'm now using a sensor with the template integration as a helper from the UI in Home Assistant.

Screenshot 2024-09-20 181144

With this method you can 'tune' each plug to display the correct number of watts until Ikea pushes an firmware update that hopefully fixes the power sensor.
I also saw support voor the Tretakt listed here since the 3rd of May, I expect the Inspelning to be listed here soon as well.

It also seems like that the latest firmware version is 2.4.45, mine are both 2.4.34.

@basvdploeg
Copy link

I bought 3 yesterday and added them to Zigbee2MQTT using the external definition from @Rembock . Somehow 1 shows all the values x10 (so my outlet is now outputting 2340Volts), but the other 2 show correct values. Anybody that knows whats going on?

This is the same that I experienced with mine.

@busene
Copy link

busene commented Sep 20, 2024

@Rembock mine are also 2.4.34, is there a way to update them without the ikea hub?

@QempZor
Copy link
Author

QempZor commented Sep 20, 2024

I just bought a Dirigera and indeed there is an update. v2.4.45 is out
With this new update; out of the box the voltage and current are shown correctly in Z2M.

However the Power problem is still there. Above 1000w is shown as 100,0w
I checked the power in the Ikea Home app and there it's shown correctly. Above 1000w and also below 1000w.

In HomeAssistant with the template from @Rembock there is a big difference between the template measurement and the Z2M readings. This is maybe due to the fact that the Current readings are (quite a bit) off? Or at least; not accurate.

Example below is with an 30w ipad charger.
nieuwe_inspel
Quick translate:
"Ikea_plug_1" is the template sensor
"Vermogen" is Power straight out of Z2M

@basvdploeg
Copy link

The OTA update for the plug is available here:
https://fw.ota.homesmart.ikea.com/check/update/prod

But I’m not sure how it can be used through Z2M.

@notgood
Copy link

notgood commented Sep 21, 2024

Picked one today, comes with 2.4.34 firmware, would welcome any hints on updating it without Ikea hub.
It seems Zigbee2mqtt only supports the Tradfri OTA feed, not the Dirigera one.

Mine INSPELNING also came with a barely working and unreliable button, only third of keypresses actually did something.

Disassembled it: breakout board with a button and LED is pretty much floating midair, rather unfortunate and sloppy engineering design IMHO.
midair

Used a piece of plastic zip tie as a wedge between breakout board and relay, with a bit of electric tape to calibrate width.
fix

@folfy
Copy link

folfy commented Sep 22, 2024

I bought the new INSPELNING plug here in Austria two days ago, and experienced the same issue that power >=1000W is shown as 1/10th of the actual value (on ZHA).

I checked the Measurement Cluster for related attributes, and could figure out that the plug is dynamically adjusting the "ac_power_divisor" between 10 (<1000W) and 1 (>=1000W), which probably is not updated/reflected by ZHA or Z2M in the shown value accordingly:
inspelning_cluster

The off-value for the voltage seems to be fixed for some with the new firmware, see zigpy/zha-device-handlers#3374 (comment).

I'm currently looking into fixing/expanding the issue/quirk for ZHA, maybe someone here knows how to fix this in Z2M tho ;)

@Stimpy68
Copy link

Stimpy68 commented Jan 6, 2025

Maybe decrease the max reporting interval as a workaround, so it will update eventually?

Ideally maybe we make Z2M trigger an update automatically, right after the switch turned off, if the reported value != 0.

Well, that is a bit of the issue, When you turn the switch off, the switch status is reported instantly, but the power usage stays on the last reported value, so it doesn't go to 0w , only if you refresh that value in Z2M manually.

@folfy
Copy link

folfy commented Jan 6, 2025

Well, that is a bit of the issue, When you turn the switch off, the switch status is reported instantly, but the power usage stays on the last reported value, so it doesn't go to 0w , only if you refresh that value in Z2M manually.

Yeah, that was the whole point why I proposed to implement a fix/quirk in Z2M for making it force an update of the value when the plug turns off, cause apparently the plug doesn't do it on it's own (as a long-term solution for the future)
. Just to be sure and for me trying to reproduce this at some point, which firmware version are you on for your plug? I don't have the issue on ZHA, but my load is 70W+, so probably have to try with a rly small load.

@Zolli
Copy link

Zolli commented Jan 9, 2025

Is anyone notice wierd reported energy values since the OTA update (2.4.45) i update all my plugs after Z2M is updated to v2.0.0 and since then my electricity sensors in HA shows huge jumps even when connected devices are off. For example an electric towel rack jumped from 20 to 27kwh total consumption while its turned off (and turned off in previous days as well)
Edit: All my plugs does this.

@moonfall84
Copy link

Is anyone notice wierd reported energy values since the OTA update (2.4.45) i update all my plugs after Z2M is updated to v2.0.0 and since then my electricity sensors in HA shows huge jumps even when connected devices are off. For example an electric towel rack jumped from 20 to 27kwh total consumption while its turned off (and turned off in previous days as well)

Edit: All my plugs does this.

Same problem occurs couple times. Please check my posts above with screenshots (more than 1 month ago)

@bsuiram
Copy link

bsuiram commented Jan 12, 2025

Is anyone notice wierd reported energy values since the OTA update (2.4.45) i update all my plugs after Z2M is updated to v2.0.0 and since then my electricity sensors in HA shows huge jumps even when connected devices are off. For example an electric towel rack jumped from 20 to 27kwh total consumption while its turned off (and turned off in previous days as well) Edit: All my plugs does this.

Yes, i see these "jumps" as well, more often when there is movement in the network (such as when routers are added or removed, by plugging or unplugging power source), but also when the network appears to be stable.

I´m on 1.42.0 z2m and firmware 2.4.45.

@adamk125
Copy link

I have the same problem as @Gloomyeye, update is available but doesn't start:

[2024-12-18 22:46:03] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/ota_update/update', payload '{"data":{"id":"bathroom_dehumidifier"},"error":"Update of 'bathroom_dehumidifier' failed (Timeout. Device did not start/finish firmware download after being notified. (Error: {\"target\":8542,\"apsFrame\":{\"clusterId\":25,\"profileId\":260,\"sequence\":0,\"sourceEndpoint\":1,\"destinationEndpoint\":1,\"groupId\":0,\"options\":0},\"zclSequence\":null,\"commandIdentifier\":3} timed out after 150000ms))","status":"error","transaction":"4my30-10"}'
[2024-12-18 22:46:03] error: 	z2m: Update of 'bathroom_dehumidifier' failed (Timeout. Device did not start/finish firmware download after being notified. (Error: {"target":8542,"apsFrame":{"clusterId":25,"profileId":260,"sequence":0,"sourceEndpoint":1,"destinationEndpoint":1,"groupId":0,"options":0},"zclSequence":null,"commandIdentifier":3} timed out after 150000ms))

I tried pressing the button just before starting the update and kept pressing it every 1s for about 30 seconds as told in this post, but nothing happened, the update won't start. I'm on Z2M 1.42.0 commit: 861cba6

I tried a lot of different ways to start the update (press buttons, readding the device, place the plug near the coordinator, restart Z2M, pray ;-) ) nothing helped. In addition, I paried another ikea smart plug and have the same behaviour. OTA update is available, but will not start. So, it is not a problem of the first device. I have a skyconnect coordinator device with Z2M 1.42.0 installed as a docker container. Is my zigbee enviroment the problem?

OK so I have been struggling with updating these devices for a week or two and finally figured out the problem - the SkyConnect Firmware needs to be updated to the latest 7.4.4.0 (was on 7.4.3.0). I am using the ember driver for Z2M.

I was previously running Z2M (latest) 1.4x and the Z2M OTA process detects there's a firmware update available but when trying many different ways to update it just continues to fail with various network errors in the logs. I waited till Z2M 2.0.0 was released, upgraded and still same issues persists.

I tried using an SLZB-06 with ZHA to see if a different dongle and different OTA platform would be able to update these plugs but no dice. ZHA only says firmware version 34 for the plugs were available. I am sure I could try and figure a way out to get ZHA to recognise the 45 firmware release (even downloaded the manual OTA file). This pathway seemed like too much trouble.

image

Then I thought, maybe its the firmware of the SkyConnect that's causing the issue? Downloaded the Silicon Labs Flasher add-on, chose my SkyConnect and used it to flash from v7.4.3.0 to v7.4.4.0.

image

Ran the OTA process in Z2M once Z2M started - worked like a champ, took about 30 minutes.

image

What a pain in the a....

Hope that's helpful to anyone else who was struggling with OTA updates in Z2M.

I suspect this fix in 7.4.4.0 was the issue:

image

@MaxRower
Copy link

MaxRower commented Jan 18, 2025

Is anyone notice wierd reported energy values since the OTA update (2.4.45) i update all my plugs after Z2M is updated to v2.0.0 and since then my electricity sensors in HA shows huge jumps even when connected devices are off. For example an electric towel rack jumped from 20 to 27kwh total consumption while its turned off (and turned off in previous days as well) Edit: All my plugs does this.

Same problem here, one Plug did a jump of nearly 10 kWh today. Edit: a second one jumped 12,6 kWh

@ncseffai
Copy link

Does this happen to anyone else? Something is off with the calculation.

P=U*I

The values don't add up. The power should be ~230 watt

Image

What can be the issue?

@moonfall84
Copy link

It's not simple calc as you think.
It's AC not DC. Power factor is missing :)

@ncseffai
Copy link

It's not simple calc as you think. It's AC not DC. Power factor is missing :)

Sorry my mistake. You are right!

@karlbeecken
Copy link

Hi,

I just received my Inspelning today and after the OTA update, the reported values seem to be correct.

Thanks to everyone that helped support this device! 🙌

One small thing I noticed: everything except the Total Energy Usage is a Diagnostic value in HA, not a Sensor—is there a reason for this?

Image

@fifthh
Copy link

fifthh commented Jan 25, 2025

Hi,

I just received my Inspelning today and after the OTA update, the reported values seem to be correct.

Thanks to everyone that helped support this device! 🙌

One small thing I noticed: everything except the Total Energy Usage is a Diagnostic value in HA, not a Sensor—is there a reason for this?
Image

I just installed mine and upgraded the firmware as well. However, I noticed that the displayed values for voltage and current, 230V × 0.94A, don’t match the reported power. Based on the formula, it should be around 216W, but the device shows a lower power value (e.g., 142W). This seems to be the same you’re experiencing from your screenshot.

Could this discrepancy be related to the power factor (PF)? For devices like UPSs or others with reactive loads, the PF can reduce the actual power calculation to account for inefficiencies. However, if the energy consumption over time is accurate (e.g., 0.2kWh per hour, implying ~200W average), this makes the discrepancy between instantaneous power and energy consumption even more confusing.

Is this expected behavior, or could it be an issue with the way the plug reports instantaneous power or calculates energy usage?

@Zolli
Copy link

Zolli commented Jan 25, 2025

I want to share a little update, my plugs was consistently reported high values, but i dont know why, its sattled in the past few days, i dont get any high values.

@folfy
Copy link

folfy commented Jan 25, 2025

@fifthh Yes, AC true power is U*I*cos(phi), were IKEA plugs don't report the latter

@fifthh
Copy link

fifthh commented Jan 25, 2025

@fifthh Yes, AC true power is U*I*cos(phi), were IKEA plugs don't report the latter

In other words, is it correct to say that voltage, current, and consumption are accurate, but the power reading is slightly off because the plug doesn't account for the power factor (cos φ) when calculating true power?

@folfy
Copy link

folfy commented Jan 25, 2025

@fifthh It accounts for the power factor, as you're only billed for true power ya shown, while apparent power U*I is the combination of true power and reactive power. The latter increases load on your wires and the grid, but it's otherwise irrelevant to you as a regular consumer, as it's only energy flowing back and forth and not rly "used/consumed" - only industrial customers are billed for that. You can look it up on the internet. TLDR your plug and reading is fine, as long as there is not a huge 10x discrepancy.

@fifthh
Copy link

fifthh commented Jan 26, 2025

@fifthh It accounts for the power factor, as you're only billed for true power ya shown, while apparent power U*I is the combination of true power and reactive power. The latter increases load on your wires and the grid, but it's otherwise irrelevant to you as a regular consumer, as it's only energy flowing back and forth and not rly "used/consumed" - only industrial customers are billed for that. You can look it up on the internet. TLDR your plug and reading is fine, as long as there is not a huge 10x discrepancy.

Thanks for clarifying! However, if the plug is showing a discrepancy of around 80 watts, which is quite significant percentage-wise compared to the total power, wouldn't that make the reported power (W) almost irrelevant for practical purposes? It becomes hard to rely on the real-time measurements if the error is that large.

That said, if the plug doesn’t rely on the reported power (W) to calculate energy consumption (kWh) and the consumption value is accurate, then I guess it doesn’t really matter in the end.

@jamesonuk
Copy link

If you are concerned the measurements are wrong then get a separate basic power meter and compare them.
The actual ZCL attributes being reported are RMS current and voltage and active power (see reporting tab).
The device doesn't report power factor so you can't actually tell but in theory given the above values you can calculate it.

It is early and I have not had coffee so probably some mistakes in here but here we go....

I just used the dev console to read a bunch of values on one attached to my freezer and got

{
    "rmsCurrent": 250,
    "rmsVoltage": 2442,
    "activePower": 522,
    "acCurrentDivisor": 1000,
    "acCurrentMultiplier": 1,
    "acVoltageDivisor": 10,
    "acVoltageMultiplier": 1,
    "acPowerDivisor": 10,
    "acPowerMultiplier": 1
}

so apparent power (VA) is (2442 / 10 * 1) * (250 / 1000 * 1) = 61.05 VA
actual power according to the device is 522 / 10 * 1 = 52.2 w

So power factor is 52.2 / 61.05 = 0.85

This seems inline with the expectations of a freezer
https://energy.prayaspune.org/our-work/article-and-blog/refrigerator-electricity-consumption-patterns#:~:text=Power%20factor%20(PF)%20is%20the,a%20compressor%20in%20the%20refrigerator.

Ultimately the plug is calculating and reporting power and energy and the voltage and current are largely unimportant (hence why they are disabled by default in HA). If you want to check it against another power/energy meter then do so but I suspect it will just come back with similar values

@fifthh
Copy link

fifthh commented Jan 26, 2025

If you are concerned the measurements are wrong then get a separate basic power meter and compare them. The actual ZCL attributes being reported are RMS current and voltage and active power (see reporting tab). The device doesn't report power factor so you can't actually tell but in theory given the above values you can calculate it.

It is early and I have not had coffee so probably some mistakes in here but here we go....

I just used the dev console to read a bunch of values on one attached to my freezer and got

{
    "rmsCurrent": 250,
    "rmsVoltage": 2442,
    "activePower": 522,
    "acCurrentDivisor": 1000,
    "acCurrentMultiplier": 1,
    "acVoltageDivisor": 10,
    "acVoltageMultiplier": 1,
    "acPowerDivisor": 10,
    "acPowerMultiplier": 1
}

so apparent power (VA) is (2442 / 10 * 1) * (250 / 1000 * 1) = 61.05 VA actual power according to the device is 522 / 10 * 1 = 52.2 w

So power factor is 52.2 / 61.05 = 0.85

This seems inline with the expectations of a freezer https://energy.prayaspune.org/our-work/article-and-blog/refrigerator-electricity-consumption-patterns#:~:text=Power%20factor%20(PF)%20is%20the,a%20compressor%20in%20the%20refrigerator.

Ultimately the plug is calculating and reporting power and energy and the voltage and current are largely unimportant (hence why they are disabled by default in HA). If you want to check it against another power/energy meter then do so but I suspect it will just come back with similar values

Thanks for the detailed explanation and example – it’s really helpful! I think there’s a bit of a misunderstanding, though. I’m not questioning the accuracy of the plug but rather trying to understand why the reported power (W) doesn’t always align with what I’d expect based on voltage and current, and how it all ties together.

In my setup, the plug is installed before a UPS, which reports 100W on its display. From my understanding, this 100W is likely the output power the UPS is delivering to its load, not what it’s drawing from the wall. The plug, on the other hand, reports 145W, which makes sense considering the UPS’s efficiency losses. This discrepancy seems logical, as no UPS is 100% efficient.

What I’m curious about is how the plug calculates energy consumption (kWh). If it doesn’t directly rely on the reported power (W), does it instead use voltage and current over time to derive kWh? Or is the power factor somehow baked into the energy calculation even though it’s not explicitly reported?

I’m just trying to understand how the plug works internally, especially in a scenario like this where a UPS is involved. If the plug is primarily using voltage and current over time to calculate consumption, that would explain why kWh can still be accurate even if power readings seem slightly off.

Thanks again for your patience – I’m just trying to learn more about how these measurements work in practice.

@folfy
Copy link

folfy commented Jan 26, 2025

@fifthh The correct measurement is U*I*cos(phi), which the result of the plug reports as watts and accumulates in it's energy reading as kWh. U*I only gives you the apparent power in VA or kVA, which as said should be irrelevant to you. The only time this would matter is, when e.g. checking the load rating of your circuit breaker, as the reactive power flowing back and forth loads the wire as well, even though your electricity meter and bill don't care about that.

@amaharek
Copy link

amaharek commented Feb 3, 2025

any updates on this?

@k8ieone
Copy link

k8ieone commented Mar 25, 2025

Is there a way to reset the plug's energy?

I have a few plugs from NEO (Tuya-based probably) and their energy reading can be reset by sending {"reset":""} to zigbee2mqtt/SOCKET NAME/set with the caveat that some settings also seem to reset (e.g. power-on behavior).

This isn't universal - e.g. Aqara SP-EUC01 doesn't support this and the only way to reset the energy measurement is to completely reset and re-pair the plug.

@ncseffai
Copy link

ncseffai commented Apr 3, 2025

Hi,

I am experiencing a strange issue. One of the INSPELNING plug keeps sending data very frequently.

info 2025-04-03 18:25:53z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.42,"energy":62.31,"identify":null,"linkquality":244,"power":39.4,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":229}' info 2025-04-03 18:25:56z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.44,"energy":62.31,"identify":null,"linkquality":244,"power":39.4,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":229}' info 2025-04-03 18:26:03z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.44,"energy":62.31,"identify":null,"linkquality":244,"power":37.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":229}' info 2025-04-03 18:26:06z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.37,"energy":62.31,"identify":null,"linkquality":244,"power":37.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":229}' info 2025-04-03 18:26:13z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.37,"energy":62.31,"identify":null,"linkquality":244,"power":39.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":229}' info 2025-04-03 18:26:16z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.47,"energy":62.31,"identify":null,"linkquality":244,"power":39.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":229}'

As you can see it is almost every 5-10 seconds. The other IKEA plugs do not do this.

Any idea how to stop this?

@MaxRower
Copy link

MaxRower commented Apr 3, 2025

Check your report settings for that device.

@ncseffai
Copy link

ncseffai commented Apr 3, 2025

Check your report settings for that device.

I did that. It looks exactly the same.

@MaxRower
Copy link

MaxRower commented Apr 3, 2025

Maybe your other devices do not have a load, that is changing that often? Can you post your report settings here?

@ncseffai
Copy link

ncseffai commented Apr 3, 2025

Maybe your other devices do not have a load, that is changing that often? Can you post your report settings here?

Image

@ncseffai
Copy link

ncseffai commented Apr 3, 2025

It seems the haElectricalMeasurement activePower and rmsCurrent causing the constant report. I changed the Min rep change to 300 from 50 and now it looks good. What is interesting that the current fluctuating a lot while the other parameters (power, voltage) do not change.

`info 2025-04-03 20:37:43z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.45,"energy":62.31,"identify":null,"linkquality":212,"power":33.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":234.1}'

info 2025-04-03 20:37:53z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.38,"energy":62.31,"identify":null,"linkquality":224,"power":33.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":234.1}'

info 2025-04-03 20:38:32z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.5,"energy":62.31,"identify":null,"linkquality":212,"power":33.5," power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":234.1}'

info 2025-04-03 20:38:41z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Plug - PC', payload '{"current":0.39,"energy":62.31,"identify":null,"linkquality":212,"power":33.5,"power_on_behavior":null,"state":"ON","update":{"installed_version":33816645,"latest_version":33816645,"state":"idle"},"voltage":234.1}'`

@Landcross
Copy link

Is it normal it only reports energy in 0.1kWh increments? It gives a wrong individual energy graph in HA. Is it inherent to the plug?

Screenshot 2024-10-05 at 08 16 26

Does anyone know anything about this? I just got a couple of those Inspelning plugs and they seem to work fine, but the Energy is reported in 0.1 kWh increments, which causes confusion in the HA energy dashboard for low-power devices (where every couple of hours a sudden spike of 0.1 kWh is shown in the energy dashboard, while in reality the distribution was over multiple hours).

@jamesonuk
Copy link

but the Energy is reported in 0.1 kWh increments

Yes as shown above, the report tab is configured for seMetering / currentSummDelivered with a min rep change of 100. This means it will only report when the kWh value has gone up by 0.1

If you want it to report small changes then change the value in the reporting tab to a different value
100 = 0.1 change
50 = 0.05 change
10 = 0.01 change

etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new device support New device support request
Projects
None yet
Development

No branches or pull requests