Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
12.09k stars 1.68k forks source link

Schneider Electric PowerTag #7975

Closed OsteHovel closed 1 year ago

OsteHovel commented 3 years ago

Information about the device + link

Schneider Electric PowerTag Monoconnect 63A 1P+N top position

This is energy sensor utilizing Zigbee 3 Green Power

https://www.se.com/ww/en/product/A9MEM1521/energy-sensor%2C-powertag-monoconnect-63a-1p%2Bn-top-position/

data/database.db entry of the device

This gets added during pairing, but it actually does not really pair completely more info below

{
  "id": 3,
  "type": "GreenPower",
  "ieeeAddr": "0x00000000e20765cb",
  "nwkAddr": 26059,
  "manufId": null,
  "modelId": "GreenPower_254",
  "epList": [
    242
  ],
  "endpoints": {
    "242": {
      "epId": 242,
      "inClusterList": [],
      "outClusterList": [],
      "clusters": {},
      "binds": [],
      "configuredReportings": [],
      "meta": {}
    }
  },
  "interviewCompleted": true,
  "meta": {},
  "lastSeen": 1625428765211
}
Info Info
OS Windows
Zigbee2mqtt Latest on master branch
Zigbee-herdsman Latest on master branch
Cordinator CC2531
Channel 15
Network key 0c9f45818f14a953d0993f2304015e10

I have tried with both using a Philips Hue Light strip and using a IKEA E1746 TRADFRI signal repeater

Utilizing the Philips Hue Light strip the light strip does not reply to the channel request sent out by the PowerTag. By utilizing a IKEA signal repeater that actually replies to the channel requests and gets it on the correct channel and sending out a commissioning notification, see Channel request and configuration.pcapng.

I had to do some changes to Zigbee-herdsman to get it actually decode the packet correctly buffaloZcl.ts - Added a check for key present during payload

private readGdpFrame(options: TsType.Options): Gdp | {raw: Buffer} | Record<string, never> {
    // Commisioning
    if (options.payload.commandID === 224) {
        const deviceID = this.readUInt8();
        const options1 = this.readUInt8();
        const extendedOptions = this.readUInt8();

        const gdpKeyPresent = (extendedOptions & 0x20) != 0;
        if (gdpKeyPresent) {
            return {
                deviceID: deviceID,
                options: options1,
                extendedOptions: extendedOptions,
                securityKey: this.readBuffer(16),
                keyMic: this.readUInt32(),
                outgoingCounter: this.readUInt32(),
            };
        } else {
            return {
                deviceID: deviceID,
                options: options1,
                extendedOptions: extendedOptions,
                securityKey: null,
                keyMic: null,
                outgoingCounter: this.readUInt32(),
            };
        }
    } else if (this.position != this.buffer.length) {
        return {raw: this.buffer.slice(this.position)};
    } else {
        return {};
    }
}

greenPower.ts

public async onZclGreenPowerData(dataPayload: AdapterEvents.ZclDataPayload): Promise<void> {
    if (dataPayload.frame.Payload.commandID === 224 && typeof dataPayload.address === 'number') {

        const keyPresent = (dataPayload.frame.Payload.extendedOptions & 0x20) != 0;
        if (keyPresent) {
            const key = this.encryptSecurityKey(
                dataPayload.frame.Payload.srcID, dataPayload.frame.Payload.commandFrame.securityKey
            );

            const payload = {
                options: 0b1_1_100_10_1_0_10_0_1_000,
                srcID: dataPayload.frame.Payload.srcID,
                sinkGroupID: this.adapter.greenPowerGroup,
                deviceID: dataPayload.frame.Payload.commandFrame.deviceID,
                frameCounter: dataPayload.frame.Payload.commandFrame.outgoingCounter,
                gpdKey: [...key],
            };

            const frame = Zcl.ZclFrame.create(
                Zcl.FrameType.SPECIFIC, Zcl.Direction.SERVER_TO_CLIENT, true,
                null, ZclTransactionSequenceNumber.next(), 'pairing', 33, payload
            );

            await this.adapter.sendZclFrameToAll(242, frame, 242);
        } else {
            // Key not present security
            const key = Buffer.from([0xc9, 0x79, 0xd5, 0x22, 0x9c, 0xb9, 0xe9,
                0xd2, 0x8d, 0x5d, 0xa6, 0x99, 0xf8, 0xca, 0x02, 0x97]);

            const options = 0b1_1_010_11_1_1_10_0_1_000;
            const payload = {
                options: options,
                srcID: dataPayload.frame.Payload.srcID,
                sinkGroupID: this.adapter.greenPowerGroup,
                deviceID: dataPayload.frame.Payload.commandFrame.deviceID,
                frameCounter: dataPayload.frame.Payload.commandFrame.outgoingCounter,
                gpdKey: [...key],
            };

            const frame = Zcl.ZclFrame.create(
                Zcl.FrameType.SPECIFIC, Zcl.Direction.SERVER_TO_CLIENT, true,
                null, ZclTransactionSequenceNumber.next(), 'pairing', 33, payload
            );

            await this.adapter.sendZclFrameToAll(242, frame, 242);
        }

        const eventData: GreenPowerDeviceJoinedPayload = {
            sourceID: dataPayload.frame.Payload.srcID,
            deviceID: dataPayload.frame.Payload.commandFrame.deviceID,
            networkAddress: dataPayload.address,
        };

        this.emit(GreenPowerEvents.deviceJoined, eventData);
    }
}

I have flipped around with the options to try to get any response.

PowerTag Commissioning.pcapng is a captured when the PowerTag is being commissioned by a Schnieder Electric Acti 9 Smartlink SI B

Zigbee2mqtt pairing.pcapng is a capture of what happening when I am trying to pair with zigbee2mqtt I am thinking it is because the IKEA Signal Repeater (and for that matter the Philips Hue) is repeating the Green Power using protocol version 2 instead of 3, or I am just formatting the packets wrong.

jlama commented 2 years ago

Since I didn't want to use an extra proxy device to use my PowerTags, I wrote my own software for a Sonoff dongle with a SiLabs chip (TI chips can't work as their NCP stack doesn't handle Green Power at all).

I could make it work with a single-phase PowerTag, but never with a 3-phase model. The only difference between the two is the timing. The 3-phase models generate larger payloads that are slower to process, and the slow UART doesn't help. I discovered that PowerTags are very finicky regarding the timing of the proprietary ACK command (0xfe) they expect to receive. They will blink red if they don't receive it in less than 30ms.

ghogberg commented 2 years ago

I guess that is the issue overall yes @jlama, that the ACK doesn't show up fast enough. Z2M shows it as discovered, but then it keeps blinking orange for a while, until it falls back to blinking Red again. I'm almost at the point of just buying one of the ModBus TCP IP gateways instead and poll the data that way (if possible), even thou having the direct ZigBee would be ideal. But not if it's going to be this much fidgeting :)

jlama commented 2 years ago

@ghogberg According to this document , the modbus gateways (A9XMWDxx) are not compatible with the R9Mxx PowerTags...

The whole ecosystem is awful. Too bad because the PowerTags are otherwise neat.

ghogberg commented 2 years ago

Darn... I have a mix of R9's and A9's right now, by far more R9's thou. And I had almost done a JSON extractor from the Resi IP Gateway, until Schneider suddenly did a firmware update remotely and messed it all up :-/

NicolaiPetri commented 2 years ago

I'm still stuck with getting my wiser powertags working. But at least I know have a working zigbee sniffer which might make it easier to understand what's going on. Do anyone have insights in pairing process ? I'm a bit puzzled that my network is on channel 11, but I see a trace where next channel is 15 ? (See screenshot)

image

I can provide wireshark traces of pairing to anyone who might feel more into the entire green power protocol if needed.

jlama commented 2 years ago

The first step of the pairing process is channel matching, where the GP device will repeatedly send "Channel Request" frames until a GP proxy replies. The GP proxy should reply only when it receives a "Channel Request" matching its network channel.

Also 0x5 is channel 16, not 15 (Channel 11 = 0x00). If you are not seeing a "Channel Config" reply following a "Channel Request" for your channel 11, it probably means some proxy/gateway in your network doesn't support GreenPower.

somlioy commented 2 years ago

Got a Elko EKO01824 which successfully appeared in zigbee2mqtt without any hassle, but the values for power is negative, and the energy values are not appearing (0 kWh). I checked the "currentSummRecieved", and that attribute has an value. Is it correct that energy values should be mapped from currentSummRecieved instead of currentSummDelivered? Also the attribute ID for phase A energy recieved is 16654 instead of 16652 for delivered energy. But since this is a 2 pole device, phase A energy and total energy has the same value.

I also got the A9XMWD20 Modbus TCP gateway, but I'm not able to pair the EK01824 "smart tags" with it. Elko has its own gateway (Elko Gateway connector), which is cloud based only. So right of now, it seems that the A9XMWD20 is working as a GP proxy. Could it be that Elko Smart Tags are based on Schneiders R9-series which are not compatible with the modbus gateway as mentioned above?

filips commented 2 years ago

Could it be that your powertag is wired backwards?

As for the convention regarding "delivered" and "received" it is described in the zigbee cluster specification:

image

somlioy commented 2 years ago

Not really. It fits only one way on the fuse since it has pins that fits inside the fuse terminals and not wires. Top mounted version. Load is connected on the power/smart tag side.

image image

smulle48 commented 2 years ago

Not really. It fits only one way on the fuse since it has pins that fits inside the fuse terminals and not wires. Top mounted version.

image

image

And it's wired correctly? The top side of the power tag is the output.

Had mine on the wrong way and it was negative values

somlioy commented 2 years ago

@smulle48 Yes. Load is connected via the power tag.

verydrunk commented 2 years ago

@smulle48 Yes. Load is connected via the power tag.

Is it total power from incoming to the fuse? Because if power in come in on topside of the fuse then the power is going the wrong direction in the tag as for its design to read outgoing on topside.

I guess I need a picture to explain this correct but I hope u understand what I try to explain.

smulle48 commented 2 years ago

@smulle48 Yes. Load is connected via the power tag.

Just found how mine is wired

https://github.com/Koenkk/zigbee2mqtt/issues/7975#issuecomment-1096945467

smulle48 commented 2 years ago

@smulle48 Yes. Load is connected via the power tag.

Is it total power from incoming to the fuse?

Because if power in come in on topside of the fuse then the power is going the wrong direction in the tag as for its design to read outgoing on topside.

I guess I need a picture to explain this correct but I hope u understand what I try to explain.

This is how my PowerTag is connected to get correct readout

https://github.com/Koenkk/zigbee2mqtt/issues/7975#issuecomment-1096945467

somlioy commented 2 years ago

@verydrunk @smulle48 Power is going in arrow direction (incomming power on the bottom, load connected on top) If it was designed to be used the other way it would be stupid in my opinion. image

smulle48 commented 2 years ago

@verydrunk @smulle48

Power is going in arrow direction (incomming power on the bottom, load connected on top)

If it was designed to be used the other way it would be stupid in my opinion.

image

PowerTag always should always be installed with the flow from the top of the text and downwards. That's why there's an top and bottom version, depending on your installation in the breaker box

jlama commented 2 years ago

@somlioy IMO you have connected it correctly. The PowerTag should be on the load side, i.e. it should be OFF when the circuit breaker is OFF. Can you clarify what readings you're getting?

smulle48 commented 2 years ago

@somlioy IMO you have connected it correctly. The PowerTag should be on the load side, i.e. it should be OFF when the circuit breaker is OFF.

Can you clarify what readings you're getting?

The flow has to go from the top of the text and downwards/upwards to measure correctly

Just like this:

https://github.com/Koenkk/zigbee2mqtt/issues/7975#issuecomment-1096945467

somlioy commented 2 years ago

@smulle48 That dosent make any sense since when using a distribution/busbar across several circuit breakers you cant connect the powertag on that side.

smulle48 commented 2 years ago

@smulle48 That dosent make any sense since when using a distribution/busbar across several circuit breakers you cant connect the powertag on that side.

That's why you can buy a top and bottom version where the n is swapped / pins are on top

somlioy commented 2 years ago

@smulle48 Here you can see the infeed is at the bottom of the breakers and power tags at the top. This is the same setup I have. image

smulle48 commented 2 years ago

@smulle48

Here you can see the infeed is at the bottom of the breakers and power tags at the top. This is the same setup I have.

image

Then it seems like Elko is measuring the opposite way of Schneider PowerTag. All mine is just opposite.

Btw, the bottom left PowerTag on the picture is mounted incorrectly then.

verydrunk commented 2 years ago

@smulle48 Here you can see the infeed is at the bottom of the breakers and power tags at the top. This is the same setup I have.

Perfect example, exactly what I meant.

jlama commented 2 years ago

Seems like all PowerTags can be connected either way. Then I assume they have some toggle in their app to reverse the readings. flow

filips commented 2 years ago

This suggests that there might be a way of setting direct/reverse direction:

https://www.productinfo.schneider-electric.com/powertaglinkuserguide/powertag-link-user-guide/English/BM_PowerTag%20Link%20D%20User%20Manual_4af62430_T000501355.xml/$/TPC_PairingProcedureofPowerTagFlex160andRopeEnergySensorswithWebpageREF_0000503175

verydrunk commented 2 years ago

Yes, I can confirm that Schneider power tags can be installed both up/downstream. U can choose this when installing with their own IP gateway.

jlama commented 2 years ago

A Write Attribute command can be sent to the PowerTag to configure the flow direction. The attribute ID is 0x0700 and takes a 8-bit bitmap value where 0x00 = downstream and 0x01 = upstream.

up

smulle48 commented 2 years ago

A Write Attribute command can be sent to the PowerTag to configure the flow direction.

The attribute ID is 0x0700 and takes a 8-bit bitmap value where 0x00 = downstream and 0x01 = upstream.

up

Maybe we should get that added in the docs 😄

avsantos76 commented 2 years ago

Hello,

The powertags can't be connect either way. Because the current flow direction. If you pay attention to the picture that you post and search for the green icon you see this. Because the powertags are diferent. There is one to connect to the upper side and oner for the bottom side. The problemas has I said is the current flow direction, this is important to know, because the calculatiion of power factor. the power factor is obtain multiplying the the Current(I) and Voltage(V) and Cos of the angle between V and I. If you put the powertag in the wrong position the measurement of this value it will be wrong.

https://github.com/Koenkk/zigbee2mqtt/issues/7975#issuecomment-1300005198

EDIT: In the notes ection says that "some" powertags can be connect top or bottom. So I'm not fully correct, sorry!


From: jlama @.> Sent: Wednesday, November 2, 2022 10:30 To: Koenkk/zigbee2mqtt @.> Cc: avsantos76 @.>; Comment @.> Subject: Re: [Koenkk/zigbee2mqtt] Schneider Electric PowerTag (#7975)

Seems like all PowerTags can be connected either way. Then I assume they have some toggle in their app to reverse the readings. [flow]https://user-images.githubusercontent.com/1010241/199467117-7aa582e3-1b0e-42c6-91c9-86cd3f76ca85.png

— Reply to this email directly, view it on GitHubhttps://github.com/Koenkk/zigbee2mqtt/issues/7975#issuecomment-1300005198, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJI5WAIICGAHG7DSTB2FVN3WGI7EPANCNFSM4757JQ2Q. You are receiving this because you commented.Message ID: @.***>

somlioy commented 2 years ago

Any suggestions on how to send a command message on the power direction from zigbee2mqtt? I tried with an external converter but I'm only getting an timeout error on "No network route"

'Error: Write 0x00000000e20282b0/242 65300({"1792":{"value":0,"type":24}}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":4190,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))'

--- snip ---
const tzLocal = {
    powertag_direction: {
        key: ['powertag_direction'],
        convertSet: async (entity, key, value, meta) => {
            const lookup = {'Downstream': 0x00, 'Upstream': 0x01};
            utils.validateValue(value, Object.keys(lookup));
            const mode = lookup[value];
            await entity.write(0xff14, {0x0700: {value: mode, type: 0x18}}, {manufacturerCode: 0x105e});
            return {state: {powertag_direction: value}};
        },
    },
};
--- snip ---
module.exports = [
    {
        fingerprint: [{modelID: 'GreenPower_254', ieeeAddr: /^0x00000000e.......$/}],
        model: 'A9MEM1570',
        vendor: 'Schneider Electric',
        description: 'PowerTag power sensor',
        fromZigbee: [fzLocal.schneider_powertag],
        toZigbee: [tzLocal.powertag_direction],
        exposes: [
            exposes.enum('powertag_direction', ea.ALL, ['Downstream', 'Upstream'])
                .withDescription('PowerTag mounted Downstream (after) or Upstream (before) of the Circuit Breaker'),
--- snip ---

        ],
    },
];
filips commented 2 years ago

First step would be to implement the 0xF1 Write Attributes command in writeGdpFrame in buffaloZcl.ts in zigbee-herdsman. Then the command would be tunneled in a GP Response frame to the powertag device.

somlioy commented 2 years ago

Ok, according to the zgp spec, the write attributes command dosent seem too complicated. What other changes are needed and how is the command issued from the device converter?

hagove commented 2 years ago

Have the same issue with negative power on my Schneider Resi9 powertags, type R9M21. (I think the Elko powertags are rebranded from the Resi9 series.)

I have 2 tags, connected 2 a sonoff usb plus-p. Both tags are blinking red, and kwh, in the energy field says 0 all the time, so i guess there are some small difference in the init process between the Acti and Resi-series powertags? voltage, current, power, freq, pf seems to read correctly

Can the type of powertag type be identified from the ieee arddress? My Resi9 tags have the following addresses: 0x00000000e203d2ba 0x00000000e203d2bF

From debug log:

2022-11-03 14:46:30Received Zigbee message from 'bad1stfl', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"acCurrentDivisor":100,"acVoltageDivisor":10,"rmsCurrent":175,"rmsVoltage":2261},"clusterID":2820,"manufacturerCode":4190},"commandID":161,"frameCounter":25,"gppGddLink":255,"gppNwkAddr":35600,"options":20496,"payloadSize":24,"srcID":3791901370}' from endpoint 242 with groupID 53946 2022-11-03 14:46:30Received Zigbee message from 'bad1stfl', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"16652":[0,0],"17409":1000,"currentSummDelivered":[0,0],"divisor":1000,"powerFactor":-99},"clusterID":1794,"manufacturerCode":4190},"commandID":161,"frameCounter":27,"gppGddLink":255,"gppNwkAddr":35600,"options":22544,"payloadSize":38,"srcID":3791901370}' from endpoint 242 with groupID 53946 2022-11-03 14:46:33Received Zigbee message from 'heatpump', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"acCurrentDivisor":100,"acVoltageDivisor":10,"rmsCurrent":111,"rmsVoltage":2244},"clusterID":2820,"manufacturerCode":4190},"commandID":161,"frameCounter":194,"gppGddLink":255,"gppNwkAddr":35600,"options":20496,"payloadSize":24,"srcID":3791901375}' from endpoint 242 with groupID 53951 2022-11-03 14:46:33Received Zigbee message from 'heatpump', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"raw":{"data":[94,16,2,7,6,0,40,184,2,0,0,0,41,22,0,5,11,29,1,40,186,5,11,28,1,32,255,5,11,0,64,32,100,16,139,255],"type":"Buffer"}},"commandID":163,"frameCounter":196,"gppGddLink":2,"gppNwkAddr":4190,"options":22544,"payloadSize":33,"srcID":3791901375}' from endpoint 242 with groupID 53951

somlioy commented 2 years ago

@hagove, yeah the quickfix for me was to change schneider_electric.js line 112-113 from

                    if (attr.hasOwnProperty('currentSummDelivered')) {
                        const val = attr['currentSummDelivered'];

to

                  if (attr.hasOwnProperty('currentSummRecieved')) {
                      const val = attr['currentSummRecieved'];

Untill the ability to reverse the power direction by configuration is figured out.

My tag is also blinking red once in a while, never seen green blinks.

Received Zigbee message from 'Varmepumpe', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"manufacturerName":"Elko"},"clusterID":0,"manufacturerCode":4190},"commandID":161,"frameCounter":46,"gppGddLink":255,"gppNwkAddr":15247,"options":22544,"payloadSize":12,"srcID":3791815344}' from endpoint 242 with groupID 33456

Received Zigbee message from 'Varmepumpe', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"16654":[0,20989],"17409":1000,"currentSummReceived":[0,20989],"divisor":1000,"powerFactor":-87},"clusterID":1794,"manufacturerCode":4190},"commandID":161,"frameCounter":54,"gppGddLink":255,"gppNwkAddr":15247,"options":22544,"payloadSize":38,"srcID":3791815344}' from endpoint 242 with groupID 33456

Received Zigbee message from 'Varmepumpe', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"raw":{"data":[94,16,2,7,6,0,40,169,2,0,0,0,41,19,0,5,11,29,1,40,176,5,11,28,1,32,255,5,11,0,64,32,100,143,59,255],"type":"Buffer"}},"commandID":163,"frameCounter":114,"gppGddLink":2,"gppNwkAddr":4190,"options":22544,"payloadSize":33,"srcID":3791815344}' from endpoint 242 with groupID 33456

Received Zigbee message from 'Varmepumpe', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"57352":"ELKO Sikringer","57353":"1P+N T 230V"},"clusterID":0,"manufacturerCode":4190},"commandID":161,"frameCounter":168,"gppGddLink":255,"gppNwkAddr":15247,"options":22544,"payloadSize":37,"srcID":3791815344}' from endpoint 242 with groupID 33456

Received Zigbee message from 'Varmepumpe', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"modelId":"EKO01824"},"clusterID":0,"manufacturerCode":4190},"commandID":161,"frameCounter":112,"gppGddLink":255,"gppNwkAddr":15247,"options":22544,"payloadSize":16,"srcID":3791815344}' from endpoint 242 with groupID 33456

Received Zigbee message from 'Varmepumpe', type 'commandNotification', cluster 'greenPower', data '{"commandFrame":{"attributes":{"57345":"004.000.424","57346":"001.000.000"},"clusterID":0,"manufacturerCode":4190},"commandID":161,"frameCounter":136,"gppGddLink":255,"gppNwkAddr":15247,"options":22544,"payloadSize":34,"srcID":3791815344}' from endpoint 242 with groupID 33456

ghogberg commented 1 year ago

Since I didn't want to use an extra proxy device to use my PowerTags, I wrote my own software for a Sonoff dongle with a SiLabs chip (TI chips can't work as their NCP stack doesn't handle Green Power at all).

So this would be the Dongle-E version, correct? (As Dongle-P seems to be the TI version). I’ve too been trying the Dongle-E version with little to no luck with the stock Z2M and Philips Hue Plug.

jlama commented 1 year ago

@ghogberg Yes the -E version. This week I will try flashing it with a custom firmware based on the ncp-uart-hw-gp-multi-rail demo from SiLabs. This way the Schneider ACK will be handled directly in firmware with full control of the timings.

Sany-IO commented 1 year ago

Hello,

Nice Thread, i have actually a problem with my Schneider Electric RESI9 Tags R9M20,R9M40,R9M41. I have actually a Wiser IP Module EER31800.

I stuck on the pairing, my zigbee2mqtt works fine, no i have the problem, how can i reset my Tags for pairing?

When i delete the PowerTag over the App, i can't find the device with my zigbee2mqtt, what must i do, for activate the pairing mode?

Thanks, daniel

smulle48 commented 1 year ago

Hello,

Nice Thread, i have actually a problem with my Schneider Electric RESI9 Tags R9M20,R9M40,R9M41.

I have actually a Wiser IP Module EER31800.

I stuck on the pairing, my zigbee2mqtt works fine, no i have the problem, how can i reset my Tags for pairing?

When i delete the PowerTag over the App, i can't find the device with my zigbee2mqtt, what must i do, for activate the pairing mode?

Thanks, daniel

I don't got an ip module, but I guess it should be the same.

Power the tag completely down a few minutes. When you power it on again, it should go into pairing mode and it should be ready to pair with zigbee2mqtt.

Supposedly it should be flashing on the led, but mine don't when entering pairing mode

filips commented 1 year ago

After powering down the gateway for ~ 5 minutes, the powertag will start blinking red rapidly (2 times a second or so). Then, a power cycle of the powertag will immediately put it into pairing mode.On 8 Nov 2022, at 06.37, Daniel S. @.***> wrote: Hello, Nice Thread, i have actually a problem with my Schneider Electric RESI9 Tags R9M20,R9M40,R9M41. I have actually a Wiser IP Module EER31800. I stuck on the pairing, my zigbee2mqtt works fine, no i have the problem, how can i reset my Tags for pairing? When i delete the PowerTag over the App, i can't find the device with my zigbee2mqtt, what must i do, for activate the pairing mode? Thanks, daniel

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Sany-IO commented 1 year ago

After powering down the gateway for ~ 5 minutes, the powertag will start blinking red rapidly (2 times a second or so). Then, a power cycle of the powertag will immediately put it into pairing mode.On 8 Nov 2022, at 06.37, Daniel S. @.> wrote: Hello, Nice Thread, i have actually a problem with my Schneider Electric RESI9 Tags R9M20,R9M40,R9M41. I have actually a Wiser IP Module EER31800. I stuck on the pairing, my zigbee2mqtt works fine, no i have the problem, how can i reset my Tags for pairing? When i delete the PowerTag over the App, i can't find the device with my zigbee2mqtt, what must i do, for activate the pairing mode? Thanks, daniel —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.>

(i deconfigured not the tag over the app) Thank you, i powered off the gateway, the powertags starts blinking red (fast). after a power cycle blinks the led orange 1 times a second... (the manual says, the tag is searching for a data concentrator)

permit join is on, but the tag does not showing or connecting in zigbee2mqtt...

what i do wrong, or must i change anything?

jlama commented 1 year ago

After more testing, the timings are even more stringent than expected. The PowerTags RX window opens after a 25ms offset for only 5ms. This means PowerTags expect to receive the ACK frame between 25ms and 30ms after sending their report.

In other words they can't be reliably used with a generic UART gateway. The ACK must be implemented and handled directly in the radio firmware.

filips commented 1 year ago

After more testing, the timings are even more stringent than expected. The PowerTags RX window opens after a 25ms offset for only 5ms. This means PowerTags expect to receive the ACK frame between 25ms and 30ms after sending their report.

In other words they can't be reliably used with a generic UART gateway. The ACK must be implemented and handled directly in the radio firmware.

Interesting.. I believe the way this works with the Coordinator -> Router -> Power Tag setup is that the router (GP Proxy) has an internal TX queue, from which it can dispatch messages to a green power device very quickly when they become ready for RX.

jlama commented 1 year ago

I would be interested seeing a packet capture from someone with this setup and working PowerTags.

Sany-IO commented 1 year ago

Hello,

Now I got a Ikea repeater, and my PowerTags are visible, but all Tags are "not supported" In My Logfiles find i this:

2022-11-12T09:39:50.163Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":2,"manufacturerCode":null,"commandIdentifier":4},"Payload":{"options":2608,"srcID":3791777179,"frameCounter":34173541,"commandID":173,"payloadSize":50,"commandFrame":{"raw":{"type":"Buffer","data":[30,28,116,21,2,35,206,63,118,200,134,71,112,101,134,208,197,147,217,206,160,151,13,181,151,130,113,254,108,157,173,128,74,180,255,141,113,136,186,160,240,50,186,58,160,134,0,16,14,173,216,137,207,162,187,137,43]}},"gppNwkAddr":7198,"gppGddLink":116},"Command":{"ID":4,"parameters":[{"name":"options","type":33},{"name":"srcID","type":35,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":0}]},{"name":"gpdIEEEAddr","type":240,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"gpdEndpoint","type":32,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"frameCounter","type":35},{"name":"commandID","type":32},{"name":"payloadSize","type":32},{"name":"commandFrame","type":1009},{"name":"gppNwkAddr","type":33,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]},{"name":"gppGddLink","type":32,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]}],"name":"commisioningNotification"}},"address":35288,"endpoint":242,"linkquality":102,"groupID":0,"wasBroadcast":false,"destinationEndpoint":242}'
2022-11-12T09:39:50.163Z zigbee-herdsman:controller:greenpower Unhandled Zigbee GreenPower command: 0xad
2022-11-12T09:39:50.163Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

2022-11-12T09:39:50.199Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":3,"manufacturerCode":null,"commandIdentifier":4},"Payload":{"options":2616,"srcID":3791777179,"frameCounter":34173542,"commandID":137,"payloadSize":26,"commandFrame":{"raw":{"type":"Buffer","data":[7,202,210,239,22,203,173,125,23,116,245,23,104,199,172,39,35,65,8,73,85,196,108,195,16,253,216,137,207,41,153,144,212]}},"gppNwkAddr":51719,"gppGddLink":210},"Command":{"ID":4,"parameters":[{"name":"options","type":33},{"name":"srcID","type":35,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":0}]},{"name":"gpdIEEEAddr","type":240,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"gpdEndpoint","type":32,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"frameCounter","type":35},{"name":"commandID","type":32},{"name":"payloadSize","type":32},{"name":"commandFrame","type":1009},{"name":"gppNwkAddr","type":33,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]},{"name":"gppGddLink","type":32,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]}],"name":"commisioningNotification"}},"address":35288,"endpoint":242,"linkquality":105,"groupID":0,"wasBroadcast":false,"destinationEndpoint":242}'
2022-11-12T09:39:50.199Z zigbee-herdsman:controller:greenpower Unhandled Zigbee GreenPower command: 0x89
2022-11-12T09:39:50.199Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
Sany-IO commented 1 year ago

Hello,

Now I got a Ikea repeater, and my PowerTags are visible, but all Tags are "not supported" In My Logfiles find i this:

2022-11-12T09:39:50.163Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":2,"manufacturerCode":null,"commandIdentifier":4},"Payload":{"options":2608,"srcID":3791777179,"frameCounter":34173541,"commandID":173,"payloadSize":50,"commandFrame":{"raw":{"type":"Buffer","data":[30,28,116,21,2,35,206,63,118,200,134,71,112,101,134,208,197,147,217,206,160,151,13,181,151,130,113,254,108,157,173,128,74,180,255,141,113,136,186,160,240,50,186,58,160,134,0,16,14,173,216,137,207,162,187,137,43]}},"gppNwkAddr":7198,"gppGddLink":116},"Command":{"ID":4,"parameters":[{"name":"options","type":33},{"name":"srcID","type":35,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":0}]},{"name":"gpdIEEEAddr","type":240,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"gpdEndpoint","type":32,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"frameCounter","type":35},{"name":"commandID","type":32},{"name":"payloadSize","type":32},{"name":"commandFrame","type":1009},{"name":"gppNwkAddr","type":33,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]},{"name":"gppGddLink","type":32,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]}],"name":"commisioningNotification"}},"address":35288,"endpoint":242,"linkquality":102,"groupID":0,"wasBroadcast":false,"destinationEndpoint":242}'
2022-11-12T09:39:50.163Z zigbee-herdsman:controller:greenpower Unhandled Zigbee GreenPower command: 0xad
2022-11-12T09:39:50.163Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []

2022-11-12T09:39:50.199Z zigbee-herdsman:controller:log Received 'zcl' data '{"frame":{"Header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":true,"reservedBits":0},"transactionSequenceNumber":3,"manufacturerCode":null,"commandIdentifier":4},"Payload":{"options":2616,"srcID":3791777179,"frameCounter":34173542,"commandID":137,"payloadSize":26,"commandFrame":{"raw":{"type":"Buffer","data":[7,202,210,239,22,203,173,125,23,116,245,23,104,199,172,39,35,65,8,73,85,196,108,195,16,253,216,137,207,41,153,144,212]}},"gppNwkAddr":51719,"gppGddLink":210},"Command":{"ID":4,"parameters":[{"name":"options","type":33},{"name":"srcID","type":35,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":0}]},{"name":"gpdIEEEAddr","type":240,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"gpdEndpoint","type":32,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"frameCounter","type":35},{"name":"commandID","type":32},{"name":"payloadSize","type":32},{"name":"commandFrame","type":1009},{"name":"gppNwkAddr","type":33,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]},{"name":"gppGddLink","type":32,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]}],"name":"commisioningNotification"}},"address":35288,"endpoint":242,"linkquality":105,"groupID":0,"wasBroadcast":false,"destinationEndpoint":242}'
2022-11-12T09:39:50.199Z zigbee-herdsman:controller:greenpower Unhandled Zigbee GreenPower command: 0x89
2022-11-12T09:39:50.199Z zigbee-herdsman:adapter:zStack:unpi:parser --- parseNext []
CR77777 commented 1 year ago

Hi, I already get my powertag R90M60 I was not able to pair it in the zigbee2mqtt interface with a sonoff usb stick. As I already read is there a timing issue with a kind of ack. So there is this wiser gateway, are there any possibilities to connect it ? The idea of the powertag is really cool but I need the data in kind of a mqtt data … thanks

verydrunk commented 1 year ago

Hi, I already get my powertag R90M60 I was not able to pair it in the zigbee2mqtt interface with a sonoff usb stick. As I already read is there a timing issue with a kind of ack. So there is this wiser gateway, are there any possibilities to connect it ? The idea of the powertag is really cool but I need the data in kind of a mqtt data … thanks

Yes there is, read this thread from the beginning.

CR77777 commented 1 year ago

This is not really helpful there are a lot of trial and testing with different dongles over a long time. I try to understand what hardware I should get, to get a connection. So I read about sonoff with a hue smart plug can work. Can I use to different gateways to the same time with dir Z2M plugin? What are stable working setups with your experience?

verydrunk commented 1 year ago

Schneider changed the gateway so u have to push the physical setup button and generate a new key once a week. So yes I can connect but u have to reconnect 52/year

CR77777 commented 1 year ago

Ok well that’s not really an option. Any other possibilities at the moment to handle the devices ?