-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Comments
I made this definition: External definitionconst {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?
Also:
|
@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. |
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? |
@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. |
Okay, so I couldn't wait until tomorrow to pair it (thanks @basvdploeg): 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? 🧐 |
Made a new definition, this one fixes the issue's with Energy and Power @QempZor External definitionconst {} = 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; |
@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 |
This looks very promising! I think I'll need to go out to eat some hotdogs for lunch pretty soon :) |
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) |
I am almost certain that this must be a firmware issue, I hope Ikea will come up with an update soon.
Yup, that's @basvdploeg :) |
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. |
I bought 3 INSPELNING, one of them reports as TRETAKT (2204). I checked the label on the plug, it really says 2206 (INSPELNING). |
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? |
@busene do your 3 plugs show different firmware versions? |
@itkama nope, all show the same version |
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. 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. It also seems like that the latest firmware version is 2.4.45, mine are both 2.4.34. |
This is the same that I experienced with mine. |
@Rembock mine are also 2.4.34, is there a way to update them without the ikea hub? |
I just bought a Dirigera and indeed there is an update. v2.4.45 is out However the Power problem is still there. Above 1000w is shown as 100,0w 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. |
The OTA update for the plug is available here: But I’m not sure how it can be used through Z2M. |
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: 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 ;) |
Thanks, I will play around with these settings. |
@georgbachmann are you sure the wall socket is okay? Did you try swapping the two plugs from socket to see if any change? |
@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... |
Another attempt: I updated my skyconnect device to the latest zigbee firmware... no success :/ |
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. |
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. |
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) |
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) |
Same problem occurs couple times. Please check my posts above with screenshots (more than 1 month ago) |
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. |
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. 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. Ran the OTA process in Z2M once Z2M started - worked like a champ, took about 30 minutes. 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: |
Same problem here, one Plug did a jump of nearly 10 kWh today. Edit: a second one jumped 12,6 kWh |
It's not simple calc as you think. |
Sorry my mistake. You are right! |
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. |
@fifthh Yes, AC true power is |
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? |
@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. |
If you are concerned the measurements are wrong then get a separate basic power meter and compare them. 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
so apparent power (VA) is So power factor is This seems inline with the expectations of a freezer 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. |
@fifthh The correct measurement is |
any updates on this? |
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
What does/doesn't work with the external definition?
Out of the box in:
Configuration page (in HA) shows a Power-on behavior wich works as expected
The text was updated successfully, but these errors were encountered: