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

Ikea Tradfri Zigbee Lamp - Reports "ON" when "OFF" command sent. Need to send 2 x "OFF" commands to report correctlty #22752

Open
13 of 14 tasks
huwdavid opened this issue Jan 2, 2025 · 0 comments

Comments

@huwdavid
Copy link

huwdavid commented Jan 2, 2025

PROBLEM DESCRIPTION

I am using a TRADFRI bulb E14 WS candle 470l with the Zigbee on Tasmota.

When I send a power on command, the bulb turns on and reports "on".

When I send a power off command, the bulb turns off, however, reports on and the status shows as on still.

If I send a second power off command, the bulb remains off and reports correct as off.

REQUESTED INFORMATION

Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

  • Read the Contributing Guide and Policy and the Code of Conduct
  • Searched the problem in issues
  • Searched the problem in discussions
  • Searched the problem in the docs
  • Searched the problem in the chat
  • Device used (e.g., Sonoff Basic): Sonoff Zigbee Bridge Pro
  • Tasmota binary firmware version number used: Tasmota 14.4.1 (release-zbbrdgpro)
    • Pre-compiled
    • Self-compiled
  • Flashing tools used: Web
  • Provide the output of command: Backlog Template; Module; GPIO 255:
  Configuration output here:

18:44:42.539 MQT: stat/SonoffZBPro/RESULT = {"NAME":"Sonoff Zigbee Pro","GPIO":[0,0,576,0,480,0,0,0,0,1,1,5792,0,0,0,3552,0,320,5793,3584,0,640,608,32,0,0,0,0,0,1,0,0,0,0,0,0],"FLAG":0,"BASE":1}
18:44:42.281 MQT: stat/SonoffZBPro/RESULT = {"Module":{"0":"Sonoff Zigbee Pro"}}
18:44:42.539 MQT: stat/SonoffZBPro/RESULT = {"GPIO0":{"0":"None"},"GPIO1":{"0":"None"},"GPIO2":{"576":"LedLink_i"},"GPIO3":{"0":"None"},"GPIO4":{"480":"Buzzer"},"GPIO5":{"0":"None"},"GPIO6":{"0":"None"},"GPIO7":{"0":"None"},"GPIO8":{"0":"None"},"GPIO9":{"0":"None"},"GPIO10":{"0":"None"},"GPIO11":{"0":"None"},"GPIO12":{"0":"None"},"GPIO13":{"0":"None"},"GPIO14":{"0":"None"},"GPIO15":{"5792":"Zigbee Rst1"},"GPIO16":{"0":"None"},"GPIO17":{"0":"None"},"GPIO18":{"0":"None"},"GPIO19":{"3552":"Zigbee Tx"},"GPIO20":{"0":"None"},"GPIO21":{"320":"Led_i1"},"GPIO22":{"5793":"Zigbee Rst2"},"GPIO23":{"3584":"Zigbee Rx"},"GPIO24":{"0":"None"},"GPIO25":{"640":"I2C SDA1"},"GPIO26":{"608":"I2C SCL1"},"GPIO27":{"32":"Button1"},"GPIO32":{"0":"None"},"GPIO33":{"0":"None"},"GPIO34":{"0":"None"},"GPIO35":{"0":"None"},"GPIO36":{"0":"None"},"GPIO37":{"0":"None"},"GPIO38":{"0":"None"},"GPIO39":{"0":"None"}}
  • If using rules, provide the output of this command: Backlog Rule1; Rule2; Rule3:
  Rules output here:

{"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":32,"Free":479,"Rules":"ON System#Boot DO Status 5 endon"}}
  • Provide the output of this command: Status 0:
  STATUS 0 output here:

18:47:42.042 MQT: stat/SonoffZBPro/STATUS = {"Status":{"Module":0,"DeviceName":"ZBProHub","FriendlyName":["ZBProHub"],"Topic":"SonoffZBPro","ButtonTopic":"0","Power":"0","PowerLock":"0","PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0,"StatusRetain":0}}
18:47:42.052 MQT: stat/SonoffZBPro/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/tasmota32-zbbrdgpro.bin","RestartReason":"Software reset CPU","Uptime":"0T05:03:43","StartupUTC":"2025-01-02T12:43:59","Sleep":50,"CfgHolder":4617,"BootCount":16,"BCResetTime":"2024-12-20T10:28:38","SaveCount":81}}
18:47:42.061 MQT: stat/SonoffZBPro/STATUS2 = {"StatusFWR":{"Version":"14.4.1(release-zbbrdgpro)","BuildDateTime":"2024-12-15T13:32:49","Core":"3_1_0","SDK":"5.3.2","CpuFrequency":160,"Hardware":"ESP32-D0WD-V3 v3.1","CR":"400/699"}}
18:47:42.067 MQT: stat/SonoffZBPro/STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["WC_IOT",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00108009","2805C80001000600003C5A0A192800000000","00000080","40046082","00004000","00000000"]}}
18:47:42.084 MQT: stat/SonoffZBPro/STATUS4 = {"StatusMEM":{"ProgramSize":1513,"Free":342,"Heap":159,"StackLowMark":3,"PsrMax":2048,"PsrFree":2038,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"1640C8","FlashFrequency":40,"FlashMode":"DIO","Features":["0809","0F8087CE","00548001","000000C3","00000000","C0000881","40020080","00200000","54000808","00000080","00000004"],"Drivers":"1,2,!4,!8,9,10,12,!16,!20,!21,23,24,29,!35,38,!41,50,52,!59,62,!68,82,!121","Sensors":"1,2,5,6,127","I2CDriver":""}}
18:47:42.093 MQT: stat/SonoffZBPro/STATUS5 = {"StatusNET":{"Hostname":"ZBProHub","IPAddress":"192.168.1.147","Gateway":"192.168.1.254","Subnetmask":"255.255.255.0","DNSServer1":"192.168.1.254","DNSServer2":"8.8.8.8","Mac":"C8:2E:18:57:6C:F8","IP6Global":"","IP6Local":"fe80::ca2e:18ff:fe57:6cf8%st1","Ethernet":{"Hostname":"","IPAddress":"0.0.0.0","Gateway":"0.0.0.0","Subnetmask":"0.0.0.0","DNSServer1":"192.168.1.254","DNSServer2":"8.8.8.8","Mac":"00:00:00:00:00:00","IP6Global":"","IP6Local":""},"Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":16.0}}
18:47:42.102 MQT: stat/SonoffZBPro/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.1.60","MqttPort":1883,"MqttClientMask":"SonoffZBPro","MqttClient":"SonoffZBPro","MqttUser":"mqtt","MqttCount":5,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
18:47:42.108 MQT: stat/SonoffZBPro/STATUS7 = {"StatusTIM":{"UTC":"2025-01-02T17:47:42Z","Local":"2025-01-02T18:47:42","StartDST":"2025-03-30T02:00:00","EndDST":"2025-10-26T03:00:00","Timezone":"+01:00","Sunrise":"08:43","Sunset":"17:04"}}
18:47:42.119 MQT: stat/SonoffZBPro/STATUS10 = {"StatusSNS":{"Time":"2025-01-02T18:47:42"}}
18:47:42.130 MQT: stat/SonoffZBPro/STATUS11 = {"StatusSTS":{"Time":"2025-01-02T18:47:42","Uptime":"0T05:03:43","UptimeSec":18223,"Heap":158,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":5,"Berry":{"HeapUsed":3,"Objects":38},"Wifi":{"AP":1,"SSId":"WC_IOT","BSSId":"16:B0:24:05:24:43","Channel":6,"Mode":"HT40","RSSI":92,"Signal":-54,"LinkCount":3,"Downtime":"0T00:00:26"}}}
  • Set weblog to 4 and then, when you experience your issue, provide the output of the Console log:
  Console output here:

18:48:53.008 CMD: zbsend {"device":"ZBLampTradfri01","send":{"Power":0}}
18:48:53.009 SRC: WebConsole from 192.168.1.117
18:48:53.011 CMD: Grp 0, Cmd 'ZBSEND', Idx 1, Len 47, Pld -99, Data '{"device":"ZBLampTradfri01","send":{"Power":0}}'
18:48:53.013 ZIG: guessing endpoint 1
18:48:53.014 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:""
18:48:53.016 ZIG: ZbZNPSent 240202AC810000000000000100000106002D301E0300112D00
18:48:53.021 MQT: stat/SonoffZBPro/RESULT = {"ZbSend":"Done"}
18:48:53.050 ZIG: {"ZbZNPReceived":"640200"}
18:48:53.057 ZIG: {"ZbZNPReceived":"45C4AC8100"}
18:48:53.107 ZIG: {"ZbZNPReceived":"448000012D"}
18:48:53.257 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:"0000"
18:48:53.259 ZIG: ZbZNPSent 240202AC810000000000000100000106002E301E0500002E000000
18:48:53.307 ZIG: {"ZbZNPReceived":"640200"}
18:48:53.357 ZIG: {"ZbZNPReceived":"448000012E"}
18:48:53.409 ZIG: {"ZbZNPReceived":"448100000600AC810101008E0062E397000008082E010000001000AC811D"}
18:48:53.410 ZIG: {"ZbZCLReceived":{"groupid":0,"clusterid":"0x0006","srcaddr":"0x81AC","srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"LinkQuality":142,"securityuse":0,"seqnumber":0,"fc":"0x08","frametype":0,"direction":1,"disableresp":0,"manuf":"0x0000","transact":46,"cmdid":"0x01","payload":"0000001000"}}
18:48:53.413 ZIG: ZbZCLRawReceived: {"0x81AC":{"0006/0000":0,"Endpoint":1,"LinkQuality":142}}
18:48:53.812 MQT: tele/SonoffZBPro/ZBLampTradfri01/SENSOR = {"ZBLampTradfri01":{"Device":"0x81AC","Name":"ZBLampTradfri01","Power":0,"Endpoint":1,"LinkQuality":142}}
18:48:55.108 WIF: Checking connection...
18:49:05.614 CMD: zbsend {"device":"ZBLampTradfri01","send":{"Power":1}}
18:49:05.615 SRC: WebConsole from 192.168.1.117
18:49:05.617 CMD: Grp 0, Cmd 'ZBSEND', Idx 1, Len 47, Pld -99, Data '{"device":"ZBLampTradfri01","send":{"Power":1}}'
18:49:05.619 ZIG: guessing endpoint 1
18:49:05.620 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x01, send:""
18:49:05.623 ZIG: ZbZNPSent 240202AC810000000000000100000106002F301E0300112F01
18:49:05.628 MQT: stat/SonoffZBPro/RESULT = {"ZbSend":"Done"}
18:49:05.658 ZIG: {"ZbZNPReceived":"640200"}
18:49:05.667 ZIG: {"ZbZNPReceived":"448000012F"}
18:49:05.867 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:"0000"
18:49:05.869 ZIG: ZbZNPSent 240202AC8100000000000001000001060030301E05000030000000
18:49:05.917 ZIG: {"ZbZNPReceived":"640200"}
18:49:05.967 ZIG: {"ZbZNPReceived":"4480000130"}
18:49:06.019 ZIG: {"ZbZNPReceived":"448100000600AC810101008E0085EAA30000080830010000001001AC811D"}
18:49:06.021 ZIG: {"ZbZCLReceived":{"groupid":0,"clusterid":"0x0006","srcaddr":"0x81AC","srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"LinkQuality":142,"securityuse":0,"seqnumber":0,"fc":"0x08","frametype":0,"direction":1,"disableresp":0,"manuf":"0x0000","transact":48,"cmdid":"0x01","payload":"0000001001"}}
18:49:06.023 ZIG: ZbZCLRawReceived: {"0x81AC":{"0006/0000":1,"Endpoint":1,"LinkQuality":142}}
18:49:06.422 MQT: tele/SonoffZBPro/ZBLampTradfri01/SENSOR = {"ZBLampTradfri01":{"Device":"0x81AC","Name":"ZBLampTradfri01","Power":1,"Endpoint":1,"LinkQuality":142}}
18:49:15.074 WIF: Checking connection...
18:49:19.328 BRY: GC from 4669 to 3708 bytes, objects freed 4/38 (in 0 ms) - slots from 49/91 to 41/91
18:49:19.337 MQT: tele/SonoffZBPro/STATE = {"Time":"2025-01-02T18:49:19","Uptime":"0T05:05:20","UptimeSec":18320,"Heap":162,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":5,"Berry":{"HeapUsed":3,"Objects":38},"Wifi":{"AP":1,"SSId":"WC_IOT","BSSId":"16:B0:24:05:24:43","Channel":6,"Mode":"HT40","RSSI":94,"Signal":-53,"LinkCount":3,"Downtime":"0T00:00:26"}}
18:49:35.083 WIF: Checking connection...
18:49:46.840 CMD: zbsend {"device":"ZBLampTradfri01","send":{"Power":0}}
18:49:46.841 SRC: WebConsole from 192.168.1.117
18:49:46.843 CMD: Grp 0, Cmd 'ZBSEND', Idx 1, Len 47, Pld -99, Data '{"device":"ZBLampTradfri01","send":{"Power":0}}'
18:49:46.844 ZIG: guessing endpoint 1
18:49:46.846 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:""
18:49:46.848 ZIG: ZbZNPSent 240202AC8100000000000001000001060031301E0300113100
18:49:46.852 MQT: stat/SonoffZBPro/RESULT = {"ZbSend":"Done"}
18:49:46.882 ZIG: {"ZbZNPReceived":"640200"}
18:49:46.942 ZIG: {"ZbZNPReceived":"45C4AC8100"}
18:49:46.992 ZIG: {"ZbZNPReceived":"4480000131"}
18:49:47.092 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:"0000"
18:49:47.094 ZIG: ZbZNPSent 240202AC8100000000000001000001060032301E05000032000000
18:49:47.142 ZIG: {"ZbZNPReceived":"640200"}
18:49:47.192 ZIG: {"ZbZNPReceived":"4480000132"}
18:49:47.244 ZIG: {"ZbZNPReceived":"448100000600AC8101010083003E3ECB0000080832010000001001AC811D"}
18:49:47.245 ZIG: {"ZbZCLReceived":{"groupid":0,"clusterid":"0x0006","srcaddr":"0x81AC","srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"LinkQuality":131,"securityuse":0,"seqnumber":0,"fc":"0x08","frametype":0,"direction":1,"disableresp":0,"manuf":"0x0000","transact":50,"cmdid":"0x01","payload":"0000001001"}}
18:49:47.248 ZIG: ZbZCLRawReceived: {"0x81AC":{"0006/0000":1,"Endpoint":1,"LinkQuality":131}}
18:49:47.647 MQT: tele/SonoffZBPro/ZBLampTradfri01/SENSOR = {"ZBLampTradfri01":{"Device":"0x81AC","Name":"ZBLampTradfri01","Power":1,"Endpoint":1,"LinkQuality":131}}
18:49:53.850 CMD: zbsend {"device":"ZBLampTradfri01","send":{"Power":0}}
18:49:53.851 SRC: WebConsole from 192.168.1.117
18:49:53.853 CMD: Grp 0, Cmd 'ZBSEND', Idx 1, Len 47, Pld -99, Data '{"device":"ZBLampTradfri01","send":{"Power":0}}'
18:49:53.855 ZIG: guessing endpoint 1
18:49:53.857 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:""
18:49:53.859 ZIG: ZbZNPSent 240202AC8100000000000001000001060033301E0300113300
18:49:53.863 MQT: stat/SonoffZBPro/RESULT = {"ZbSend":"Done"}
18:49:53.889 ZIG: {"ZbZNPReceived":"640200"}
18:49:53.900 ZIG: {"ZbZNPReceived":"4480000133"}
18:49:54.100 ZigbeeZCLSend device: 0x81AC, endpoint:1, cluster:0x0006, cmd:0x00, send:"0000"
18:49:54.102 ZIG: ZbZNPSent 240202AC8100000000000001000001060034301E05000034000000
18:49:54.150 ZIG: {"ZbZNPReceived":"640200"}
18:49:54.200 ZIG: {"ZbZNPReceived":"4480000134"}
18:49:54.252 ZIG: {"ZbZNPReceived":"448100000600AC810101008E00FAE9D10000080834010000001000AC811D"}
18:49:54.254 ZIG: {"ZbZCLReceived":{"groupid":0,"clusterid":"0x0006","srcaddr":"0x81AC","srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"LinkQuality":142,"securityuse":0,"seqnumber":0,"fc":"0x08","frametype":0,"direction":1,"disableresp":0,"manuf":"0x0000","transact":52,"cmdid":"0x01","payload":"0000001000"}}
18:49:54.258 ZIG: ZbZCLRawReceived: {"0x81AC":{"0006/0000":0,"Endpoint":1,"LinkQuality":142}}
18:49:54.655 MQT: tele/SonoffZBPro/ZBLampTradfri01/SENSOR = {"ZBLampTradfri01":{"Device":"0x81AC","Name":"ZBLampTradfri01","Power":0,"Endpoint":1,"LinkQuality":142}}

TO REPRODUCE

Steps to reproduce the behavior:

zbsend {"device":"ZBLampTradfri01","send":{"Power":1}}

Lamp powers on and reports
"Power":1

zbsend {"device":"ZBLampTradfri01","send":{"Power":0}}

Lamp powers off (ie it physically switches off as expected) but, reports as still on in the console reponse

"Power":1

This causes a problem in OpenHAB or indeed in any other control software as the device is still showing as on. In OpenHAB you physically see the switch go off, but immediately back to on as clearly the state being reported back is ON (1).

If a second power off command is sent then the lamp state is reported correctly.

zbsend {"device":"ZBLampTradfri01","send":{"Power":0}}

"Power":0

IN ADDITION:

It appears that I don't HAVE to send a second "Power":0 command - it seems ANY POWER command, except 1 will actually get the status to update correctly - for example

Lamp ON:
zbsend {"device":"ZBLampTradfri01","send":{"Power":1}}

Lamp OFF - but wrong state reported:
zbsend {"device":"ZBLampTradfri01","send":{"Power":0}}

Lamp OFF and correct state reported:
zbsend {"device":"ZBLampTradfri01","send":{"Power":99}}

(could be "Power": 3 or 10 or 1500!!!!!

EXPECTED BEHAVIOUR

A clear and concise description of what you expected to happen.

zbsend {"device":"ZBLampTradfri02","send":{"Power":0}}

should turn the lamp off AND report the state as 0 (or off).

SCREENSHOTS

If applicable, add screenshots to help explain your problem.
ZBLamp2

ADDITIONAL CONTEXT

Add any other context about the problem here.

(Please, remember to close the issue when the problem has been addressed)

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

No branches or pull requests

1 participant