Sian-Lee-SA / Home-Assistant-Switch-Manager

Switch manager is a centralised component to handle button pushes for your wireless switches. This includes anything passed through the event bus. The component relies on switch blueprints which is easily made to allow GUI configuration of your switches and their button pushes. This helps remove clutter from the automations.
Other
225 stars 85 forks source link

Switch Manager don't see SYMFONISK button #64

Closed PrzemekSkw closed 1 year ago

PrzemekSkw commented 1 year ago

When i choose Symfonisk blueprint and press button it don't discover my device. I see it's working in settings when I click or rotate.

image

Regards.

Sian-Lee-SA commented 1 year ago

Not sure what you mean by "I see it's working in settings". Are you saying it works when you put the MQTT topic in manually?

PrzemekSkw commented 1 year ago

Hi, I mean I see state is changing when I use that button in HA but nothing happen in Switch Manager.

Sian-Lee-SA commented 1 year ago

OK, have you set zigbee2mqtt default topic to something else? If so you will need to enter the topic manually. You can check using mqtt Explorer

PrzemekSkw commented 1 year ago

I read docs but really understand where I can find that mqtt topic. I go to developers tools but don't know how to listen.

Sian-Lee-SA commented 1 year ago

Just use a program like MQTT Explorer and connect to your mqtt broker which you can view all topics being published

PrzemekSkw commented 1 year ago

I thought that thanks to the Switch Manager integration it would be easier to handle the buttons, but I will probably use the default automation. Regards.

Sian-Lee-SA commented 1 year ago

All good, the only reason why auto discovery wouldn't work is if you have changed the default topic for Z2M to something else or running an older version. Automations have a trigger and this would be the same mqtt topic in the automation as it would be for Switch Manager. But if automation is doing the job for you and you're not sure how to work with MQTT and Events then I think sticking to what you know is best.

Shadowex3 commented 1 year ago

@Sian-Lee-SA I can confirm this is specifically Switch Manager and Symfonisks. Switch Manager worked fine with my Styrbar remote and two separate Symfonisks work fine in node-red, plus I can see their MQTT payloads in the viewer. For some reason Switch Manager doesn't like Symfonisks.

Sian-Lee-SA commented 1 year ago

Could you post the payload and topic for the device?

Shadowex3 commented 1 year ago

Here's the full output of the initial press. I have legacy set to false and a delta of 20 with an interval of 100. There's also 3 other events sent afterwards with action either "" or null. {"topic":"zigbee2mqtt/symfonisk_1","payload":{"action":"toggle","battery":74,"brightness":255,"last_seen":"2023-03-10T00:40:39+02:00","linkquality":112,"rate":195,"update":{"installed_version":553797169,"latest_version":587728433,"state":"available"},"update_available":null},"qos":0,"retain":false,"_topic":"zigbee2mqtt/symfonisk_1","_msgid":"3ba99e7de0b7d126"}

Sian-Lee-SA commented 1 year ago

is there a topic zigbee2mqtt/symfonisk_1/action?

Sian-Lee-SA commented 1 year ago

@jhhbe You may want to double check your blueprint for this device as the action in the payload from previous post is a toggle yet not in the blueprint.

Sian-Lee-SA commented 1 year ago

Here's the full output of the initial press. I have legacy set to false and a delta of 20 with an interval of 100. There's also 3 other events sent afterwards with action either "" or null. {"topic":"zigbee2mqtt/symfonisk_1","payload":{"action":"toggle","battery":74,"brightness":255,"last_seen":"2023-03-10T00:40:39+02:00","linkquality":112,"rate":195,"update":{"installed_version":553797169,"latest_version":587728433,"state":"available"},"update_available":null},"qos":0,"retain":false,"_topic":"zigbee2mqtt/symfonisk_1","_msgid":"3ba99e7de0b7d126"}

@Shadowex3 Are you sure legacy is off? https://www.zigbee2mqtt.io/devices/E1744.html#legacy-integration. The action with toggle is under the assumption legacy is on

Shadowex3 commented 1 year ago

I'm certain legacy is off, I turned it off because of the auto-detect prompt insisting on doing so.

Sian-Lee-SA commented 1 year ago

On the device itself? the global legacy setting is not the same as the one on the device

Shadowex3 commented 1 year ago

Gotcha, I thought they were the same setting. I've got it disabled on the device itself. The Styrbar worked fine with it so I figured it was the symfonisk that was the issue.

Sian-Lee-SA commented 1 year ago

Not everything comes with legacy options as they're trying to move away from that. Really depends on when the device was released and whether legacy was heavily used. Other devices come with legacy default t off and the newer ones don't have an option at all. The idea is to not use legacy from Switch Manager and personally, I feel to make life easier for everyone, that Z2M starts to remove the option and start fresh without legacy options. It does create a headache

Shadowex3 commented 1 year ago

It's more of a headache than that. I went through zigbee2mqtt's documentation and infuriatingly they use the term "legacy" for four different things. There's the legacy availability payload, the legacy homeassistant triggers, the "legacy API" which may or may not be a superset of the other two, and the "legacy" per-device setting.

And of course none of them are clearly explained.

jhhbe commented 1 year ago

@jhhbe You may want to double check your blueprint for this device as the action in the payload from previous post is a toggle yet not in the blueprint.

I have been away for a few days - I named the action 'PRESS' for consistency with other switches managed in switch manager and PRESS 2x, 3x. The payload is 'play_pause', so not sure if we want to naming consistent with buttons, then it would be 'press' or with the original use of the zigbee device and then it is 'play_pause'? The device not being recognized most likely is a result of having a topic which is not 'zigbee2mqtt/+/action'

Sian-Lee-SA commented 1 year ago

This has nothing to do with the title, it's to confirm and check that the your config is done with legacy off and that the actions are indeed those that are in the blueprint. As Shadowex3 was adamant that his legacy was set to off, but I beleive he didn't have the correct setting set to off when trying originally. The action property within the base topic is also the same that gets pushed to the action topic.

D3SL commented 1 year ago

So I have this too and I have every single reference to "legacy" anywhere in Zigbee2MQTT's configs and the device specific configs set to "off". I can see events just fine in the MQTT listener and use node-red with the E1744 remote, but switch manager won't detect it.

Excerpt of references to legacy in zigbee2mqtt itself:

            "homeassistant_legacy_entity_attributes": false,
            "last_seen": "ISO_8601_local",
            "legacy_api": false,
            "legacy_availability_payload": false,

Raw device config in zigbee2mqtt:

"redacted": {
                "debounce": 0.1,
                "debounce_ignore": [
                    "action",
                    "brightness"
                ],
                "description": "name",
                "friendly_name": "friendly_name",
                "homeassistant": {
                    "last_seen": {
                        "enabled_by_default": true
                    }
                },
                "legacy": false,
                "optimistic": true,
                "retain": false,
                "simulated_brightness": {
                    "delta": 20,
                    "interval": 100
                }
            },

Sample payload:

{
    "action": "toggle",
    "battery": 100,
    "brightness": 0,
    "last_seen": "2023-06-08T14:56:40+03:00",
    "linkquality": 180,
    "update": {
        "installed_version": 604241925,
        "latest_version": 604241925,
        "state": "idle"
    },
    "update_available": null
}