How can I change the detected Type of a node?

Hi,

I am using mostly zigbee devices and run into the problem that the Sonoff Switches are detected as Lights and Power sockets.
How I use them:

  • zbMini extreme (ZBMINIL2), for lights, because all my switches do not have an N wire
  • Zigbee Smart Switch (01MINIZB), for power socket control

Fun part nymea detects the ZBMINIL2 as power socket and the 01MINIZB as Light, so in my case the wrong way around.

Is there a way on changing the types of those devices, basically both are just switches and I could use them for whatever reason.

Cheers
Simon

Hi,

so, nymea presents them as the type of device they claim to be on the ZigBee level. For the ZBMINIL2 (the one that’s picked up as power socket) there’s an easy solution: You can create another thing, a generic light and then use the IO connections in the thing settings to connect the power state of the socket thing to the power state of the generic light. The idea is that for power sockets, you plug in something else and one can use the generic things to represent what’s actually plugged in.

However, for the other one, if it really claims to be a light, this mechanism is not in place, given that it doesn’t make sense to connect something to a light. However, you could still achieve the same using a rule or script, basically creating the generic thing you want and syncing the power state both ways. This will have the downside that it leaves you with a confusing light thing still there.

That said, you may want to enable the ZigBee debug category (system settings → developer tools → Logs), restart nymead and paste the node descriptor for the device, so we can verify that this is indeed what it is or if there’s something to improve in the code.

Sorry it took me some time to extend my network and reintegrate it back into the main network. Here are the descriptions:

the 01MINIZB

Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:  --->  ZigbeeNode(0xbdc1, 84:BA:20:FF:FE:01:1F:B9, SONOFF (0x1002), 01MINIZB, Router, RxOn:true)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Manufacturer: "SONOFF"
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Model: "01MINIZB"
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:    NodeDescriptor(ZigbeeDeviceProfile::NodeTypeRouter)
Apr 27 21:34:40 nymea nymead[148233]:     Complex descriptor available: false
Apr 27 21:34:40 nymea nymead[148233]:     User descriptor available: false
Apr 27 21:34:40 nymea nymead[148233]:     ZigbeeDeviceProfile::FrequencyBand2400Mhz
Apr 27 21:34:40 nymea nymead[148233]:     MacCapabilities("0x8e")
Apr 27 21:34:40 nymea nymead[148233]:     Alternate PAN Coordinator: false
Apr 27 21:34:40 nymea nymead[148233]:     ZigbeeDeviceProfile::DeviceTypeFullFunction
Apr 27 21:34:40 nymea nymead[148233]:     Power source main power: true
Apr 27 21:34:40 nymea nymead[148233]:     Receiver on when idle: true
Apr 27 21:34:40 nymea nymead[148233]:     Security capability: false
Apr 27 21:34:40 nymea nymead[148233]:     Allocate address: true
Apr 27 21:34:40 nymea nymead[148233]:     Manufacturer code: "0x1002"(4098)
Apr 27 21:34:40 nymea nymead[148233]:     Maximum buffer size: 82
Apr 27 21:34:40 nymea nymead[148233]:     Maximum RX size: 82
Apr 27 21:34:40 nymea nymead[148233]:     Maximum TX size: 82
Apr 27 21:34:40 nymea nymead[148233]:     ServerMask("0x2c00")
Apr 27 21:34:40 nymea nymead[148233]:     Primary trust center: false
Apr 27 21:34:40 nymea nymead[148233]:     Backup trust center: false
Apr 27 21:34:40 nymea nymead[148233]:     Primary binding cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Backup binding cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Primary discovery cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Backup discovery cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Network manager: false
Apr 27 21:34:40 nymea nymead[148233]:     DescriptorCapabilities("0x00")
Apr 27 21:34:40 nymea nymead[148233]:     Extended active endpoint list available: false
Apr 27 21:34:40 nymea nymead[148233]:     Extended simple descriptor list available: false
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:    PowerDescriptor("0x10")
Apr 27 21:34:40 nymea nymead[148233]:     Power mode: ZigbeeDeviceProfile::PowerModeAlwaysOn
Apr 27 21:34:40 nymea nymead[148233]:     Available power sources: (ZigbeeDeviceProfile::PowerSourcePermanentMainSupply)
Apr 27 21:34:40 nymea nymead[148233]:     Power source: ZigbeeDeviceProfile::PowerSourcePermanentMainSupply
Apr 27 21:34:40 nymea nymead[148233]:     Power level: ZigbeeDeviceProfile::PowerLevelFull
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Endpoints:  2
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:     -  ZigbeeNodeEndpoint(0x01, Zigbee::ZigbeeProfileHomeAutomation, Zigbee::HomeAutomationDeviceOnOffLight)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       Input clusters:
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0000, Basic, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x0005, ZigbeeDataType(Character string, 01MINIZB))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x0004, ZigbeeDataType(Character string, SONOFF))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x1000, TouchlinkCommissioning, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0006, OnOff, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x0000, ZigbeeDataType(Signed 8-bit integer, 0x00))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0005, Scenes, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0004, Groups, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0003, Identify, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       Output clusters:
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x1000, TouchlinkCommissioning, Client)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:     -  ZigbeeNodeEndpoint(0xf2, Zigbee::ZigbeeProfileGreenPower, Zigbee::GreenPowerDeviceProxyMinimum)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       Input clusters:
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       Output clusters:
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0021, GreenPower, Client)

and the ZBMINIL2

Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:  --->  ZigbeeNode(0x29b1, F0:82:C0:FF:FE:0B:27:E0, SONOFF (0x1286), ZBMINIL2, End device, RxOn:false)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Manufacturer: "SONOFF"
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Model: "ZBMINIL2"
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Version: "1.0.10"
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:    NodeDescriptor(ZigbeeDeviceProfile::NodeTypeEndDevice)
Apr 27 21:34:40 nymea nymead[148233]:     Complex descriptor available: false
Apr 27 21:34:40 nymea nymead[148233]:     User descriptor available: false
Apr 27 21:34:40 nymea nymead[148233]:     ZigbeeDeviceProfile::FrequencyBand2400Mhz
Apr 27 21:34:40 nymea nymead[148233]:     MacCapabilities("0x80")
Apr 27 21:34:40 nymea nymead[148233]:     Alternate PAN Coordinator: false
Apr 27 21:34:40 nymea nymead[148233]:     ZigbeeDeviceProfile::DeviceTypeReducedFunction
Apr 27 21:34:40 nymea nymead[148233]:     Power source main power: false
Apr 27 21:34:40 nymea nymead[148233]:     Receiver on when idle: false
Apr 27 21:34:40 nymea nymead[148233]:     Security capability: false
Apr 27 21:34:40 nymea nymead[148233]:     Allocate address: true
Apr 27 21:34:40 nymea nymead[148233]:     Manufacturer code: "0x1286"(4742)
Apr 27 21:34:40 nymea nymead[148233]:     Maximum buffer size: 82
Apr 27 21:34:40 nymea nymead[148233]:     Maximum RX size: 255
Apr 27 21:34:40 nymea nymead[148233]:     Maximum TX size: 255
Apr 27 21:34:40 nymea nymead[148233]:     ServerMask("0x2c00")
Apr 27 21:34:40 nymea nymead[148233]:     Primary trust center: false
Apr 27 21:34:40 nymea nymead[148233]:     Backup trust center: false
Apr 27 21:34:40 nymea nymead[148233]:     Primary binding cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Backup binding cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Primary discovery cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Backup discovery cache: false
Apr 27 21:34:40 nymea nymead[148233]:     Network manager: false
Apr 27 21:34:40 nymea nymead[148233]:     DescriptorCapabilities("0x00")
Apr 27 21:34:40 nymea nymead[148233]:     Extended active endpoint list available: false
Apr 27 21:34:40 nymea nymead[148233]:     Extended simple descriptor list available: false
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:    PowerDescriptor("0x10")
Apr 27 21:34:40 nymea nymead[148233]:     Power mode: ZigbeeDeviceProfile::PowerModeAlwaysOn
Apr 27 21:34:40 nymea nymead[148233]:     Available power sources: (ZigbeeDeviceProfile::PowerSourcePermanentMainSupply)
Apr 27 21:34:40 nymea nymead[148233]:     Power source: ZigbeeDeviceProfile::PowerSourcePermanentMainSupply
Apr 27 21:34:40 nymea nymead[148233]:     Power level: ZigbeeDeviceProfile::PowerLevelFull
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:   Endpoints:  1
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:     -  ZigbeeNodeEndpoint(0x01, Zigbee::ZigbeeProfileHomeAutomation, Zigbee::HomeAutomationDeviceOnOffOutput)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       Input clusters:
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0001, PowerConfiguration, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0000, Basic, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x0005, ZigbeeDataType(Character string, ZBMINIL2))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x0004, ZigbeeDataType(Character string, SONOFF))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x4000, ZigbeeDataType(Character string, 1.0.10))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0007, OnOffConfiguration, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0006, OnOff, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:         -  ZigbeeClusterAttribute(0x0000, ZigbeeDataType(Bool, 0x00))
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0b05, Diagnostics, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0003, Identify, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0xfc57, Unknown, Server)
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       Output clusters:
Apr 27 21:34:40 nymea nymead[148233]:  D | ZigbeeNetwork:       -  ZigbeeCluster(0x0019, OtaUpgrade, Client)