HoneyComb menu stopped working - service call removed

Hi,

I’m using the Honeycomb menu in a floorplan. Recently it stopped working because the depreciated service call was removed.
So, I updated my yaml but its still not working. Based on docs I had to change the service call to a fire-dom-event. However, when I do, it still does not work.

Below is a sample of the Yaml and the error message.

Error in the logs:
Uncaught error from Chrome 135.0.0.0 on Windows 10 TypeError: Cannot read properties of null (reading ‘addEventListener’) zt.close (/hacsfiles/honeycomb-menu/honeycomb-menu.js:257:973) /hacsfiles/honeycomb-menu/honeycomb-menu.js:119:3195 window.honeycomb_menu (/hacsfiles/honeycomb-menu/honeycomb-menu.js:119:3901) HTMLBodyElement. (/hacsfiles/honeycomb-menu/honeycomb-menu.js:119:4110) pe (/hacsfiles/ha-floorplan/floorplan.js:52:482) Pi.handleActions (/hacsfiles/ha-floorplan/floorplan.js:131:19122) me.onClick (/hacsfiles/ha-floorplan/floorplan.js:131:17855) /hacsfiles/ha-floorplan/floorplan.js:52:3424

Yaml code:

                - entities:
                    - fan.master_bed_room_fan
                    - fan.south_bed_room_fan
                    - fan.north_bed_room_fan
                  tap_action:
                    action: fire-dom-event
                    honeycomb_menu:
                      buttons:
                        - icon: mdi:information-variant
                          tap_action:
                            action: more-info
                        - icon: mdi:fan-off
                          active: '[[[ return entity.attributes.speed == "off" ]]]'
                          tap_action:
                            action: call-service
                            service: fan.set_preset_mode
                            data:
                              entity_id: entity
                              preset_mode: "off"
                        - icon: mdi:fan-speed-1
                          active: '[[[ return entity.attributes.speed == "slow" ]]]'
                          tap_action:
                            action: call-service
                            service: fan.set_preset_mode
                            data:
                              entity_id: entity
                              preset_mode: slow
                  state_action:
                    action: call-service
                    service: floorplan.class_set
                    service_data:
                      class: >-
                        ${(entity.state === "on") ? "fan-" +
                        entity.attributes.preset_mode : ""}

For me with the last update, both floorplan and honeycomb works. Have you tried reinstalling both plugins?

Thxs for the reply. I redownloaded both floor-plan and honeycomb, same issue.
If I specify one entity, like the following, it works.
If I have a list of entities, in the original post, it does not:

                 tap_action:
                    action: fire-dom-event
                    honeycomb_menu:
                    entity: fan.master_bed_room_fan
                      buttons:
                        - icon: mdi:information-variant
                          tap_action:
                            action: more-info
                        - icon: mdi:fan-off

There is probably a conflict, probably because floorplan doesn’t use config as a normal lovelace card and therefore honeycomb can’t assign the correct entities.

Anyway, try to assign entity to a button, or use variables. My config looks like this

menu

Thxs for the reply.
However, this will not work for me.
For my honeycomb menu, each position (0 thru 5) does an operation for the entity under - entities

In your case, you have hard coded the entity, for each position.

One work around for me, maybe is to use a script and pass in the entity.
I think that was what you were referring to by using variables.

I think right now, I’ll back out honeycomb menu version to the previous version.
I’m going to write this up as an issue.

No, variables in honeycomb uses a similar way as custom:button-card via template… in readme you have an example how to use it…

Hello,
I’m having the same problem; I can’t get Honeycomb to work with Floorplan.
Have you found a solution?
Thanks

Using the older version of HoneyComb is the only solution.
They closed the issue I reported, so there is no plan to fix it I guess.
They said there is no issue but multiple users have reported an issue.
So, who knows if it will ever be fixed.

Hi,
Yes, I found a solution that works very well.
The following code works, but it’s essential to use the correct module.

action: fire-dom-event
honeycomb_menu:
  buttons:

github.com

GitHub - Sian-Lee-SA/honeycomb-menu: Honeycomb menu is a Home Assistant module (not a…

Honeycomb menu is a Home Assistant module (not a card) that can be applied to any lovelace card. When activated by the defined action on said card, the module will display a ‘rounded’ list of honeycomb buttons with an optional XY pad to make interfacing with lovelace more fluent

sample :

type: state-icon
entity: light.haprod0x003c84fffebbf4a1
style:
  top: 68%
  left: 60%
tap_action:
  action: fire-dom-event
  honeycomb_menu:
    buttons:
      - icon: mdi:power
        color_type: card
        color: white
        tap_action:
          action: call-service
          service: light.turn_off
          data: {}
          target:
            device_id: 511e0c6765c4f65e0e51e5f4e03cf60d

This only works if there is only one entity in the list. If you try multiple entities, it will not work.

Here is a snippet of code I use for my floorplan. I jumped to the new format the second I saw the warning in the logs and it gave me an opportunity to iron it out, so-to-speak.

          - type: state-icon
            tap_action:
              action: toggle
            hold_action:
              action: fire-dom-event
              honeycomb_menu:
                entity: camera.backyard_live_view
                buttons:
                  - icon: mdi:cctv
                    tap_action:
                      action: more-info
                  - icon: mdi:camera
                    entity: camera.backyard_live
                  - icon: mdi:light-switch
                    tap_action:
                      action: call-service
                      service: light.toggle
                      service_data:
                        entity_id: light.backyard_light_2
                  - icon: mdi:alarm-bell
                    tap_action:
                      action: call-service
                      service: switch.toggle
                      service_data:
                        entity_id: switch.backyard_siren_2
                autoclose: false
                active: true
            entity: light.backyard_light_2
            style:
              top: 63.5%
              left: 65%
              transform: translate(-50%, -50%) scaleX(-1)
              '--mdc-icon-size': 20px
              '--paper-item-icon-color': white

Thxs for the replay.

So, if you have the following entities and you wanted the buttons to be; off, slow, low, medium, high. How would you do that?
- fan.master_bed_room_fan
- fan.south_bed_room_fan
- fan.north_bed_room_fan

See the original post for the complete issue.
Kevin

Correct me if I’m wrong, but what you’re trying to do is have the buttons in a honeycomb control all 3 fans simultaneously?

If so, your logic is mucked up a bit. A simple fix is to create a helper (choose group, then fan group) and use the group as your main entity. You can’t use entities: (that I know of) and then list multiple entities.

Also, for the data fields for each button, you would list the fan group as your entity_id. You have to define an entity in that field irregardless. You currently have entity.

No, it would not control all 3 fans at one time. Before the update, you could include multiple fans, and based on which one you selected in the GUI, it would use this one rule.

Now, you have to separate out each fan, into its own, honeycomb rule for the same exact functionality of the buttons. Its duplicating the same YAML, for each entity. Something that is harder to maintain.

I see… well that’s a bummer. I’ve reread the readme and that functionality isn’t there, so yea, it must’ve been removed with the new call service. You could reach out to the developer on GitHub and request that feature back or something similar be added. Otherwise, unfortunately, it seems you’ll need to define honeycomb menus for each of your fans. That’s what I do and I include it on the state-icons on my floorplan.

yes, its a real bummer. So I have a total of 6 ceiling fans in my house. Each honeycomb Yaml is about 60 lines, so instead of 60 lines of Yaml, I now have 60 * 6 = 360 lines of Yaml. Also, if I need to make changes to the ceiling Fan Yaml, I have to make the same change 6 times. The only difference, is one line, the entity name. This is really a poor design change!