-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 ;) |
Define what change you want to trigger an update (I think most are multiplied by 10 but I never really figured this out in the Zigbee docs.) So when set to 50 it will report when voltage changes by 5v. If you wanted to report when the value changes by 2v set it 20.... I can see this being useful for power and energy but voltage and current are already disabled by default as there really isn't much value in them. |
How can we know with precision the min reporting change meaning? I tried to see the activePower value through the dev console with read attribute but nothing happened ... |
It is the smallest change that will trigger an update. AIUI this is cluster dependant but ultimately I think it is just order of magnitude that matters. So 50 will either trigger on 0.5, 5 or 50. If you want the definitive answer it will be buried in https://zigbeealliance.org/wp-content/uploads/2019/12/07-5123-06-zigbee-cluster-library-specification.pdf |
I confirm. I don't have a different meter in cascade, but I do have a plug also on my washing machine, and I did run it after the firmware update (and when I did that I reconfirmed that all reporting was set to their default values), and the peak power is 100W which would be amazing for my electricity bill if it was true. It doesn't really affect my use case because being wrong by a factor of 10x does not break the automation that detects if it is running a cycle, however if I actually wanted to use the device as a power meter it is not good... |
Yeah, I've seen other comments and the measurements seem to be in the right ballpark. I just updated my plugs a few days ago, so I don't have more than a single data point but this weekend we will do laundry and I will look at the consumption in more detail. I wonder if the difference is that it measures resistive loads correctly, but not inductive loads? I only have a very superficial understanding of electricity, can someone with more knowledge maybe chime in? |
The heater of the washing machine should be a resistive load, just like the water cooker. So there should be no difference. |
Thanks. Actually I'm in the middle of doing laundry right now, the washing machine heated up the water to 40 degrees but the peak consumption was < 200W which is way too low. (in this graph, top line is 200W and middle line is 100W) |
I will switch the plugs between water cooker and washing machine, I'm curious, what the next test shows. |
When you do an upgrade, and the version changes, Z2M reconfigures the device as if you have pressed the button to reconfigure it. I explicitly tested this when I upgraded my plugs a couple of days ago, and the moment the plug upgraded the reporting settings changed from my ad-hoc tweaks, to the settings in the Z2M source code. At least this is what happened in my system. I have multiple plugs, and I picked one of them to be a control and I actually removed it from the network and joined it again. The reporting settings are the same and it's behaving as the others which I just upgraded without re-joining them. All plugs have identical reporting settings, the stock ones, that I deliberately didn't touch (yet). |
OK, finished a whole cycle now. Top line is 600W, this last peak was when the machine did some tumbling for a bit to partially dry the clothes before it was done. Does 550W seem to be in the ballpark of what a motor would consume during this process? Maybe that part is right, but heating the water (even if only to 40C) in the beginning using <200W still feels too low for me. |
After swapping those plugs, the water cooker showed the wrong values. Taking a closer look at the reporting settings showed that the power divisor was missing at all. It seems, z2m did not setup all plugs identically? I only changed the reporting settings, but did not add any new ones. |
based on the the screenshot that is what the device is reporting. 5,994 / 10 give you the 599.4w that Z2M would be showing. On a UK plug I put this on an air fryer last night and it seemed to quite happily flip between over and under 1kw. |
Ok, after adding the settings for the power divisor, the values are correct. So better double check, if that setting is there, if your plug is reporting the wrong power! |
Seems ok, the tumbler starts at a low speed, and increases constantly before shutting off. |
Hello Robert |
It is now listed on the ikea.nl website: https://www.ikea.com/nl/nl/p/inspelning-stekker-smart-stroommonitor-00569836/ |
Can someonen tell me if this plug also work as Zigbee repeater? I am trying to have more coverage in my apartment. |
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: