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 · 288 comments
Open

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

QempZor opened this issue Sep 13, 2024 · 288 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 ;)

@ExquisiteMetropolis
Copy link

I've noticed that some plugs are not reporting usage correctly. For example dishwasher is done. And switches off. 0W is used at that time. However, Z2M reports usage of 2W. After a manual refresh in Z2M, the value is displayed correctly.
Report frequency of the plugs is also a bit intermittent.

This is likely down to reporting settings. I think mine are at defaults.

image

and I think the 50 means it will only report power changes of more than 5w. (Normally is there any real value in knowing it is using 101w vs 102w ?? Dishwashers etc. normally drop to very low usage at the end of cycle before they drop to zero. You might want to tweak the settings here but that will generate more Zigbee messages, more things for HA to process and more data to store (probably not a big issue in the greater scheme of things but something to be aware of)

Thanks, I will play around with these settings.
While it indeed is of no concern to see it live, I have some automation alerts on when the dishwasher is done.
As the plug keeps reporting a (random) last known value, the automation never triggers. Unless I manually refresh the plug in Z2M. It then reads the actual value again, in my case a true 0 W usage, as the entire unit shuts off after the job.
So kind of annoying that for hours it stays on for example 5W (value varies), while it's actually 0.
Same happens for the washingmachine and drycleaner. I don't want to use a certain expiration of time, as I use various programs on the devices, which vary in duration. So the Power Usage (W) is the one to go with for me. :)

@georgbachmann
Copy link

I just found this issue here because I was searching why my voltage is totally off. Mine shows 0.3V when it should be 230V. I already did a OTA update (2.4.45) and it's still off. I have two of those plugs here and one just worked out of the box, while the other has this issue. I don't have an IKEA hub so I don't know where the issues comes from.
But from your experience here, do you think it's a faulty device? Or just some settings I'd need to change?
Screenshot 2024-12-22 at 11 07 28

@ExquisiteMetropolis
Copy link

@georgbachmann are you sure the wall socket is okay? Did you try swapping the two plugs from socket to see if any change?
Did a device already consume power through the plug?
Did you try a reset of the plug? I have 16 plugs on 2.4.45 (also in a 230V country) I don't see this issue on my end.

@georgbachmann
Copy link

@ExquisiteMetropolis thanks for your help! So I just measured voltage with my measuring-tool and it's about 230V. So the outlet should be fine. Also I did power a ventilator behind it already and it's working. And I also tried changing the wall outlet now and still the same result. And my other outlet is working fine, so I guess it needs to be a hardware thing anyway...
I'll bring it back to IKEA next week. I also have two Parasoll contact sensors that only maintain battery for about 2-3 weeks, so I should be replacing those as well anyway...
Thanks for your help.

@Gloomyeye
Copy link

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.

That post is about a battery powered switch. Mains powered devices like plugs don't sleep and don't need a button press to wake up. I bought two new INSPELNING plugs yesterday, the upgrade did work without any problems.

Oops, I was on mobile and didn't read all the posts. I tried this morning moving the plug near the coordinator, but nothing seems to work. This evening i'll try resetting the device.

Removing the device from Z2M, resetting and re-adding it doesn't work either.

Another attempt: I updated my skyconnect device to the latest zigbee firmware... no success :/

@Gloomyeye
Copy link

Gloomyeye commented Jan 3, 2025

Update starts with Z2M 2.0. I could update both smart plugs with the Z2M 2.0 version.

@lu94sca
Copy link

lu94sca commented Jan 4, 2025

Update starts with Z2M 2.0. I could update both smart plugs with the Z2M 2.0 version.

Same here, with Z2M 2.0 update, ota works.

@Stimpy68
Copy link

Stimpy68 commented Jan 5, 2025

I've noticed that some plugs are not reporting usage correctly. For example dishwasher is done. And switches off. 0W is used at that time. However, Z2M reports usage of 2W. After a manual refresh in Z2M, the value is displayed correctly.
Report frequency of the plugs is also a bit intermittent.

This is likely down to reporting settings. I think mine are at defaults.
image
and I think the 50 means it will only report power changes of more than 5w. (Normally is there any real value in knowing it is using 101w vs 102w ?? Dishwashers etc. normally drop to very low usage at the end of cycle before they drop to zero. You might want to tweak the settings here but that will generate more Zigbee messages, more things for HA to process and more data to store (probably not a big issue in the greater scheme of things but something to be aware of)

Thanks, I will play around with these settings. While it indeed is of no concern to see it live, I have some automation alerts on when the dishwasher is done. As the plug keeps reporting a (random) last known value, the automation never triggers. Unless I manually refresh the plug in Z2M. It then reads the actual value again, in my case a true 0 W usage, as the entire unit shuts off after the job. So kind of annoying that for hours it stays on for example 5W (value varies), while it's actually 0. Same happens for the washingmachine and drycleaner. I don't want to use a certain expiration of time, as I use various programs on the devices, which vary in duration. So the Power Usage (W) is the one to go with for me. :)

I have the same issue and also using automations like you, have you resolved this?

@folfy
Copy link

folfy 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.

@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?

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