Logic Group ZDB5100 Matrix Switch

I highly recommend you do not do this. I did it, I do not know what I am doing, and it worked for me. It could possibly blow up your house (okay, maybe only wreck your home assistant installation). Please use extreme caution.

cd /var/lib/docker/overlay2/[randomStringYouWillHaveToFigureOut]/merged/usr/src/homeassistant/homeassistant/components/zwave_js
mv discovery.py discover.py.orig
wget https://raw.githubusercontent.com/home-assistant/core/56ab1e52011c948e2ba96808c2ab9f4e518078a7/homeassistant/components/zwave_js/discovery.py

Then restart home assistant.

Okay, that doesn’t sound like a good approach then.

I have now tried a different method and have “full” control over the LEDs via mqtt. Using zwavejs2mqtt.

light:
  - platform: mqtt
    name: 'Test Light'
    state_topic: 'zwave/nodeID_22/37/2/currentValue'
    command_topic: 'zwave/nodeID_22/37/2/targetValue'
    availability_topic: 'zwave/nodeID_22/status'
    rgb_state_topic: 'zwave/nodeID_22/51/2/currentColor'
    rgb_value_template: "{{ value.rgb | join(',') }}"
    rgb_command_topic: 'zwave/nodeID_22/51/2/hexColor/set'
    rgb_command_template: "{{ '%02x%02x%02x' | format(red, green, blue)}}"
    payload_available: 'true'
    payload_not_available: 'false'
    payload_on: 'true'
    payload_off: 'false'
    optimistic: false
    qos: 0
    retain: true

The above gives me a light in HA where I can click any color I like. However, I cannot figure out how to turn off the LED. Also making it blink is a mystery still.

EDIT: To turn off an LED, we can simply call the service mqtt.publish with

topic: "zwave/nodeID_22/51/2/hexColor/set"
payload: "000000"

I you select the node in the control panel, and then select the tap Home Assistant.

The Hass device json for one of my rgb buttons looks like this now:

{
  "type": "light",
  "object_id": "rgb_switch_1",
  "discovery_payload": {
    "payload_off": false,
    "payload_on": true,
    "value_template": "{{ value_json.value }}",
    "state_topic": "zwave/nodeID_4/37/1/currentValue",
    "command_topic": "zwave/nodeID_4/37/1/targetValue/set",
    "rgb_command_template": "{{ '#%02x%02x%02x' | format(red, green, blue)}}",
    "rgb_command_topic": "zwave/nodeID_4/51/1/hexColor/set",
    "rgb_state_topic": "zwave/nodeID_4/51/1/hexColor",
    "rgb_value_template": "{{ value_json.value[0:2] | int(0, 16) }},{{ value_json.value[2:4] | int(0, 16) }},{{ value_json.value[4:6] | int(0, 16) }}",
    "device": {
      "identifiers": [
        "zwavejs2mqtt_0xfbf1771e_node4"
      ],
      "manufacturer": "Logic Group",
      "model": "MATRIX Switch with Dimmer and Backlight (ZDB5100)",
      "name": "nodeID_4",
      "sw_version": "1.1"
    },
    "name": "nodeID_4_rgb_switch_1",
    "unique_id": "zwavejs2mqtt_0xfbf1771e_4-37-1-currentValue"
  },
  "values": [
    "51-1-hexColor",
    "37-1-currentValue",
    "37-1-targetValue"
  ],
  "discoveryTopic": "light/nodeID_4/rgb_switch_1/config",
  "persistent": true,
  "ignoreDiscovery": false,
  "id": "light_rgb_switch_1"
}

I can now toggle the light, dim it, and set a specific color.

Sort of a hack right? And besides that, there is no “Home assistant” tab when using default discovery (zwavejs integration).
I am pretty happy with my mqtt added light entities - but I really think these should be discovered as lights, without us doing anything.

The feature is there to change the config. It would be better if the discovery worked out of the box, but I am just not sure how to add it to the official release. I have looked into it, but not fully understand what it takes yet.

The feature is there for you who are using mqtt for discovery - not me :).

For the zwave_js integration, if you don’t see these exposed as light entities in the 2021.3 release, please submit an issue.

1 Like

Anyone got the blinking feature working? I cannot understand the manual regarding this - we are supposed to use the command class switch color set, some bits of the warm white …

I get one entity for each switch but it does not appear to control any lights in the switch.

Running core-2021.3.1

1 Like

I have just added a blueprint for the matrix if you are using the new zwavejs integration.

It handle the actions for tap, 2x tap 3x tap, hold and release.

Let me know if you have any problems.
I stil need to find out how easy to handle colors and hold/release for dimming up and down.

4 Likes

Has anyone gotten the ZBA7140 to work with Home Assistant?

Hello Mathias94

I have a pull request for Logic group devices on their github page. I am waiting on approval. And this device is in that pull request as well

That sounds great! Looking forward to be able to integrate the device, as it has some great potential.

So as far as I understand there is still no way to control the lights in the switch when using Z-wave js? The only way to do this so far are the methods mentioned by @ scaarup and @ Bayees

It would be a lot more elegant if the leds were exposed as regular .light in HA.

1 Like

Correct, it is a limitation in the integration i believe.
Which i have started an issue on

With my approach, I have the buttons as light entities. The only issue is when the button is lit with a specifik color and I press the button and it changes the LED to active. It will return to off and not notify HA.

Great - do you have a link so we can follow progress?

Have you tried setting “Internal LED control is disabled, only external” for the button under Pushbutton 1 LED indication in the config for the switch?

That is how I set it up with the old z wave integration and I controlled the light on/off and color from HA.

I just bought a ZBA, so I hope they add it soon. I can add the device to zwaveJS and get notification on click. But it still say unknown provider.

The PR seems to be this one, if others want to follow when its ready =)

When its merged in and released, I will add it to my Blueprint, which support ZDB for now.

1 Like

Also. Have you seen this video. https://youtu.be/Rii9dQkxbDs

It could be Nice to have such app in home assistant.