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
I've been playing around with the XYPad and had a think about things that would really expand the number of things that it could be used for (without needing to create custom services and the like)
Allowing us to set an initial value for the XYPad when clicked would be useful as this makes it much easier to do relative changes without needing a custom service like your light.relative_brightness/color referred to in the examples. As you mentioned, it can be done without this, but it's not exactly nice.
For an idea of how this could look:
service: honeycomb
service_data:
entity: light.kitchen
x:
initial_value: '[[[ return entity.attributes.brightness ]]]' ## only updates when the pad is initially clicked
service: light.turn_on
service_data:
entity_id: entity
brightness: '[[[ return Math.max(Math.min({{x_initial_value}} + {{ x_percentage }}), 100),0) ]]]'
Additionally, I think expanding the action options as a whole could be very useful, and supercede the current format of only one service with some top level booleans deciding when it's fired - it would also potentially allow for different behaviour in the x/y directions e.g.
service: honeycomb
service_data:
entity: light.kitchen
x:
on_move:
service: some service
service_data: some data
y:
on_release:
service: some other service
service_data: some other data
To improve the on_move behavior a bit and also improve the UI a bit it would also be good to be able to assign a "value template" to the XYPad - e.g.
service: honeycomb
service_data:
entity: climate.kitchen
x:
min: -5
max: 5
value_template: '[[[ return Math.round({{x_percentage}}/10)/2 ]]]' ##-5 to 5 in steps of 0.5, useful for changing a temperature
I'd imagine this could be used to add "detents" to the pad movement, only updating when the value_template changes in value, and could similarly be used to limit calls to the on_move action
Closed as not planned... Honeycomb is not actively developed for new features etc... although the license allows you to fork and customise to your heart content and use at your own descretion... enjoy 😄
I've been playing around with the XYPad and had a think about things that would really expand the number of things that it could be used for (without needing to create custom services and the like)
Allowing us to set an initial value for the XYPad when clicked would be useful as this makes it much easier to do relative changes without needing a custom service like your
light.relative_brightness/color
referred to in the examples. As you mentioned, it can be done without this, but it's not exactly nice. For an idea of how this could look:Additionally, I think expanding the action options as a whole could be very useful, and supercede the current format of only one service with some top level booleans deciding when it's fired - it would also potentially allow for different behaviour in the x/y directions e.g.
To improve the
on_move
behavior a bit and also improve the UI a bit it would also be good to be able to assign a "value template" to the XYPad - e.g.I'd imagine this could be used to add "detents" to the pad movement, only updating when the
value_template
changes in value, and could similarly be used to limit calls to theon_move
action