jason0x43 / hacs-hubitat

A Hubitat integration for Home Assistant
MIT License
196 stars 48 forks source link

Zooz ZEN30 Double Switch relay child device not showing in Lights -> Switches workflow #134

Closed JohnNeville closed 1 year ago

JohnNeville commented 3 years ago

I have the "Zooz ZEN30 Double Switch" which includes a dimming light switch and a non-dimming switch which I am using to control my bathroom fan. For some reason the child relay device fails to show up in the Lights -> Switches workflow although the habitat parent device does.

When added to HASS it is showing up as light.bathroom_fan_switch rather than switch.bathroom_fan_switch. This is fine in some cases but it prevents me from using a lot of the blueprints for humidity fan controls when in HASS.

Ideally this would show up as a switch or as a configurable entity like the parent device.

This is the result of the device capabilities check:

Child Relay

{
    "id": "462",
    "name": "Zooz ZEN30 Double Switch RELAY",
    "label": "Bathroom Fan Switch",
    "type": "Generic Component Central Scene Switch",
    "attributes": [
        {
            "name": "released",
            "currentValue": null,
            "dataType": "NUMBER"
        },
        {
            "name": "switch",
            "currentValue": "off",
            "dataType": "ENUM",
            "values": [
                "on",
                "off"
            ]
        },
        {
            "name": "doubleTapped",
            "currentValue": null,
            "dataType": "NUMBER"
        },
        {
            "name": "switch",
            "currentValue": "off",
            "dataType": "ENUM",
            "values": [
                "on",
                "off"
            ]
        },
        {
            "name": "pushed",
            "currentValue": 1,
            "dataType": "NUMBER"
        },
        {
            "name": "held",
            "currentValue": null,
            "dataType": "NUMBER"
        },
        {
            "name": "numberOfButtons",
            "currentValue": 5,
            "dataType": "NUMBER"
        }
    ],
    "capabilities": [
        "Actuator",
        "Refresh",
        "HoldableButton",
        {
            "attributes": [
                {
                    "name": "held",
                    "dataType": null
                }
            ]
        },
        "ReleasableButton",
        {
            "attributes": [
                {
                    "name": "released",
                    "dataType": null
                }
            ]
        },
        "Light",
        {
            "attributes": [
                {
                    "name": "switch",
                    "dataType": null
                }
            ]
        },
        "Switch",
        {
            "attributes": [
                {
                    "name": "switch",
                    "dataType": null
                }
            ]
        },
        "PushableButton",
        {
            "attributes": [
                {
                    "name": "numberOfButtons",
                    "dataType": null
                },
                {
                    "name": "pushed",
                    "dataType": null
                }
            ]
        },
        "DoubleTapableButton",
        {
            "attributes": [
                {
                    "name": "doubleTapped",
                    "dataType": null
                }
            ]
        }
    ],
    "commands": [
        "doubleTap",
        "hold",
        "off",
        "on",
        "push",
        "refresh",
        "release"
    ]
}

Parent Device:

{
    "id": "461",
    "name": "Zooz ZEN30 Double Switch",
    "label": "Bathroom Lights Dimmer",
    "type": "Zooz ZEN30 Double Switch",
    "attributes": [
        {
            "name": "pushed",
            "currentValue": 2,
            "dataType": "NUMBER"
        },
        {
            "name": "numberOfButtons",
            "currentValue": 10,
            "dataType": "NUMBER"
        },
        {
            "name": "switch",
            "currentValue": "off",
            "dataType": "ENUM",
            "values": [
                "on",
                "off"
            ]
        },
        {
            "name": "assocDNI2",
            "currentValue": "none",
            "dataType": "STRING"
        },
        {
            "name": "syncStatus",
            "currentValue": "Synced",
            "dataType": "STRING"
        },
        {
            "name": "assocDNI3",
            "currentValue": "none",
            "dataType": "STRING"
        },
        {
            "name": "held",
            "currentValue": 1,
            "dataType": "NUMBER"
        },
        {
            "name": "level",
            "currentValue": 6,
            "dataType": "NUMBER"
        },
        {
            "name": "released",
            "currentValue": 1,
            "dataType": "NUMBER"
        }
    ],
    "capabilities": [
        "Configuration",
        "Actuator",
        "Refresh",
        "HoldableButton",
        {
            "attributes": [
                {
                    "name": "held",
                    "dataType": null
                }
            ]
        },
        "ReleasableButton",
        {
            "attributes": [
                {
                    "name": "released",
                    "dataType": null
                }
            ]
        },
        "SwitchLevel",
        {
            "attributes": [
                {
                    "name": "level",
                    "dataType": null
                }
            ]
        },
        "Switch",
        {
            "attributes": [
                {
                    "name": "switch",
                    "dataType": null
                }
            ]
        },
        "PushableButton",
        {
            "attributes": [
                {
                    "name": "numberOfButtons",
                    "dataType": null
                },
                {
                    "name": "pushed",
                    "dataType": null
                }
            ]
        }
    ],
    "commands": [
        "childDevices",
        "configure",
        "hold",
        "off",
        "on",
        "paramCommands",
        "push",
        "refresh",
        "release",
        "setLED",
        "setLEDMode",
        "setLevel"
    ]
}j
JohnNeville commented 2 years ago

I ended up working around this issue by editing my ./.storage/core.config_entries file manually and restarting HASS and reloading the integration.

"device_type_overrides": { "462": "switch" }

It is still failing to show up in the configuration step for changing device types but at least it will register as the correct one now.