Skip to content

Artnet channel mapping inconsistent #23859

@thirstyice

Description

@thirstyice

PROBLEM DESCRIPTION

Docs state that artnet data should be of the form GBRWW when controlling the global light, but the actual channel order differs depending on the component driving the LEDs, even when ChannelRemap is set correctly.

REQUESTED INFORMATION

  • 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
  • Problem is not scripter related, in this case open a discussion and tag gemu2015
  • Device used (e.g., Sonoff Basic): Multiple
  • Tasmota binary firmware version number used: Multiple, including latest
    • Pre-compiled
    • Self-compiled
  • Flashing tools used: Tasmota web installer, platformio
  • Provide the output of command: Backlog Template; Module; GPIO 255:
Bulb 1:
00:00:35.736 CMD: Backlog Template; Module; GPIO 255
00:00:35.761 RSL: RESULT = {"NAME":"Merkury EBE-BAW419-B","GPIO":[0,0,0,4032,4066,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
00:00:35.962 RSL: RESULT = {"Module":{"0":"Merkury EBE-BAW419-B"}}
00:00:36.169 RSL: RESULT = {"GPIO0":{"0":"None"},"GPIO1":{"0":"None"},"GPIO2":{"0":"None"},"GPIO3":{"4032":"SM2135 Clk"},"GPIO4":{"4066":"SM2135 Dat3"},"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"},"GPIO18":{"0":"None"},"GPIO19":{"0":"None"},"GPIO20":{"0":"None"},"GPIO21":{"0":"None"}}


Bulb 2:
00:02:54.352 CMD: Backlog Template; Module; GPIO 255
00:02:54.377 RSL: RESULT = {"NAME":"Merkury EBE-BAW419-C","GPIO":[0,0,0,9024,9056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
00:02:54.581 RSL: RESULT = {"Module":{"0":"Merkury EBE-BAW419-C"}}
00:02:54.785 RSL: RESULT = {"GPIO0":{"0":"None"},"GPIO1":{"0":"None"},"GPIO2":{"0":"None"},"GPIO3":{"9024":"BP5758D Clk"},"GPIO4":{"9056":"BP5758D Dat"},"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"},"GPIO18":{"0":"None"},"GPIO19":{"0":"None"},"GPIO20":{"0":"None"},"GPIO21":{"0":"None"}}
  • If using rules, provide the output of this command: Backlog Rule1; Rule2; Rule3:
  Rules output here:
  N/A
  • Provide the output of this command: Status 0:
Bulb 1:
00:01:42.411 CMD: Status 0
00:01:42.414 RSL: STATUS = {"Status":{"Module":0,"DeviceName":"CYPT-Bulb1","FriendlyName":["CYPT-Bulb1",""],"Topic":"tasmota_214B64","ButtonTopic":"0","Power":"01","PowerLock":"00","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}}
00:01:42.448 RSL: STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32c3.bin","RestartReason":"Vbat power on reset","Uptime":"0T00:01:43","StartupUTC":"","Sleep":50,"CfgHolder":4617,"BootCount":12,"BCResetTime":"2025-04-09T23:17:06","SaveCount":113}}
00:01:42.482 RSL: STATUS2 = {"StatusFWR":{"Version":"14.5.0(release-tasmota32)","BuildDateTime":"2025-02-18T14:37:31","Core":"3_1_1","SDK":"5.3.2.250120","CpuFrequency":160,"Hardware":"ESP32-C3 v0.4","CR":"413/699"}}
00:01:42.505 RSL: STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"FileLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Technet-ESP",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008001","2805C800019F0600003C5A0A192800000000","00000088","00006000","00004000","00000004"]}}
00:01:42.536 RSL: STATUS4 = {"StatusMEM":{"ProgramSize":2034,"Free":845,"Heap":178,"StackLowMark":4,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"164020","FlashFrequency":80,"FlashMode":"DIO","Features":["0809","9F9AD7DF","0015A001","B7F7BFCF","05DA9BC4","E0360DC7","480840D2","20200000","D4BC482D","810A80F1","00000815"],"Drivers":"1,!2,!3,4,!5,!7,!8,9,10,11,!12,!14,!16,!17,!20,!21,!24,26,!27,29,!34,!35,38,50,52,!59,!60,62,!63,!66,!67,!68,!71,!73,!75,82,!86,!87,!88,!91,!121","Sensors":"1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,26,31,34,37,39,40,42,43,45,51,52,55,56,58,59,64,66,67,74,85,92,95,98,103,105,109,127","I2CDriver":"7,8,9,10,11,12,13,14,15,17,18,20,24,29,31,36,41,42,44,46,48,58,62,65,69,76,77,82,89"}}
00:01:42.602 RSL: STATUS5 = {"StatusNET":{"Hostname":"CYPT-Bulb1","IPAddress":"172.17.1.202","Gateway":"172.17.1.1","Subnetmask":"255.255.255.0","DNSServer1":"172.17.1.1","DNSServer2":"0.0.0.0","Mac":"98:3D:AE:21:4B:64","IP6Global":"","IP6Local":"fe80::9a3d:aeff:fe21:4b64%st2","Ethernet":{"Hostname":"","IPAddress":"0.0.0.0","Gateway":"0.0.0.0","Subnetmask":"0.0.0.0","DNSServer1":"172.17.1.1","DNSServer2":"0.0.0.0","Mac":"00:00:00:00:00:00","IP6Global":"","IP6Local":""},"Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":19.0}}
00:01:42.647 RSL: STATUS7 = {"StatusTIM":{"UTC":"1970-01-01T00:01:42Z","Local":"1970-01-01T00:01:42","StartDST":"2025-03-30T02:00:00","EndDST":"2025-10-26T03:00:00","Timezone":"+00:00","Sunrise":"20:13","Sunset":"05:47"}}
00:01:42.665 RSL: STATUS10 = {"StatusSNS":{"Time":"1970-01-01T00:01:42","ArtNet":{"PacketsReceived":0,"PacketsAccepted":0,"Frames":0,"PacketsPerRow":[0]}}}
00:01:42.683 RSL: STATUS11 = {"StatusSTS":{"Time":"1970-01-01T00:01:42","Uptime":"0T00:01:43","UptimeSec":103,"Heap":176,"SleepMode":"Dynamic","Sleep":5,"LoadAvg":188,"MqttCount":0,"Berry":{"HeapUsed":4,"Objects":45},"POWER1":"ON","Dimmer1":100,"POWER2":"OFF","Dimmer2":100,"Color":"FFFFFF00FF","HSBColor":"0,0,100","White":100,"CT":500,"Channel":[100,100,100,0,100],"Scheme":0,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"Technet-ESP","BSSId":"02:24:01:F2:5B:C9","Channel":6,"Mode":"HT40","RSSI":100,"Signal":-44,"LinkCount":1,"Downtime":"0T00:00:11"}}}


Bulb 2:
00:00:13.673 CMD: Status 0
00:00:13.677 RSL: STATUS = {"Status":{"Module":0,"DeviceName":"CYPT-Bulb2","FriendlyName":["CYPT-Bulb2",""],"Topic":"tasmota_7C8734","ButtonTopic":"0","Power":"11","PowerLock":"00","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}}
00:00:13.710 RSL: STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32c3.bin","RestartReason":"Vbat power on reset","Uptime":"0T00:00:13","StartupUTC":"","Sleep":50,"CfgHolder":4617,"BootCount":11,"BCResetTime":"2025-02-25T23:32:25","SaveCount":51}}
00:00:13.744 RSL: STATUS2 = {"StatusFWR":{"Version":"14.5.0(release-tasmota32)","BuildDateTime":"2025-02-18T14:37:31","Core":"3_1_1","SDK":"5.3.2.250120","CpuFrequency":160,"Hardware":"ESP32-C3 v0.4","CR":"413/699"}}
00:00:13.767 RSL: STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"FileLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Technet-ESP",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008001","2805C80001B70600003C5A0A192800000000","00000088","00006000","00004000","00000004"]}}
00:00:13.798 RSL: STATUS4 = {"StatusMEM":{"ProgramSize":2034,"Free":845,"Heap":177,"StackLowMark":4,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"164020","FlashFrequency":80,"FlashMode":"DIO","Features":["0809","9F9AD7DF","0015A001","B7F7BFCF","05DA9BC4","E0360DC7","480840D2","20200000","D4BC482D","810A80F1","00000815"],"Drivers":"1,!2,!3,4,!5,!7,!8,9,10,11,!12,!14,!16,!17,!20,!21,!24,26,!27,29,!34,!35,38,50,52,!59,!60,62,!63,!66,!67,!68,!71,!73,!75,82,!86,!87,!88,!91,!121","Sensors":"1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,26,31,34,37,39,40,42,43,45,51,52,55,56,58,59,64,66,67,74,85,92,95,98,103,105,109,127","I2CDriver":"7,8,9,10,11,12,13,14,15,17,18,20,24,29,31,36,41,42,44,46,48,58,62,65,69,76,77,82,89"}}
00:00:13.865 RSL: STATUS5 = {"StatusNET":{"Hostname":"CYPT-Bulb2","IPAddress":"172.17.1.205","Gateway":"172.17.1.1","Subnetmask":"255.255.255.0","DNSServer1":"172.17.1.1","DNSServer2":"0.0.0.0","Mac":"48:31:B7:7C:87:34","IP6Global":"","IP6Local":"fe80::4a31:b7ff:fe7c:8734%st1","Ethernet":{"Hostname":"","IPAddress":"0.0.0.0","Gateway":"0.0.0.0","Subnetmask":"0.0.0.0","DNSServer1":"172.17.1.1","DNSServer2":"0.0.0.0","Mac":"00:00:00:00:00:00","IP6Global":"","IP6Local":""},"Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":19.0}}
00:00:13.910 RSL: STATUS7 = {"StatusTIM":{"UTC":"1970-01-01T00:00:13Z","Local":"1970-01-01T00:00:13","StartDST":"2025-03-30T02:00:00","EndDST":"2025-10-26T03:00:00","Timezone":"+00:00","Sunrise":"20:13","Sunset":"05:47"}}
00:00:13.926 RSL: STATUS10 = {"StatusSNS":{"Time":"1970-01-01T00:00:13","ArtNet":{"PacketsReceived":0,"PacketsAccepted":0,"Frames":0,"PacketsPerRow":[0]}}}
00:00:13.942 RSL: STATUS11 = {"StatusSTS":{"Time":"1970-01-01T00:00:13","Uptime":"0T00:00:13","UptimeSec":13,"Heap":176,"SleepMode":"Dynamic","Sleep":5,"LoadAvg":142,"MqttCount":0,"Berry":{"HeapUsed":4,"Objects":45},"POWER1":"ON","Dimmer1":100,"POWER2":"ON","Dimmer2":100,"Color":"FFFFFFFF00","HSBColor":"0,0,100","White":100,"CT":153,"Channel":[100,100,100,100,0],"Scheme":0,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"Technet-ESP","BSSId":"02:24:01:F2:5B:C9","Channel":6,"Mode":"HT40","RSSI":100,"Signal":-38,"LinkCount":1,"Downtime":"0T00:00:03"}}}
  • Set weblog to 4 and then, when you experience your issue, provide the output of the Console log:
  Console output here:
  Not sure how to do this - the issue is not an event, it's present at all times.

TO REPRODUCE

  • Flash Tasmota to multiple devices with different channel mappings (in my case 2 bulbs that are identical except that one uses an SM2135 and the other uses a BP5758D)
  • Set ChannelRemap so the colors are correct when controlled from the main page (31 (GBRW) and 54 (BGRW), respectively)
  • Enable Artnet
  • Send Artnet data to the light, setting the first channel to 100% and the rest to 0
  • Observe that different LEDs are illuminated (Green and Blue, respectively)

EXPECTED BEHAVIOUR

Artnet mapping to be consistent across devices (ideally RGBW).

SCREENSHOTS

ADDITIONAL CONTEXT

Probably worth noting that both LED driver chips are 5 channel chips, but the lights are only RGBW. The behaviour of the 5th channel differs between the devices, but that's a problem for another time. For the purposes of this issue, I'm only looking at the inconsistent channel mapping over Artnet.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleAction - Issue left behind - Used by the BOT to call for attention

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions