Button service call to script behaves differently than calling service directly

I have a script with a variable “room” that I can call through the service panel in the dev menu, but a button in lovelace that is configured the same throws the error “must contain at least one of entity_id, area_id.” and I am not sure whether it’s a bug or me.

This works in the dev panel:

Service: script.turn_on
Service data:

entity_id: script.climate_boost
variables:
  room: arbeitszimmer

and my lovelace config is basically the same:

          - type: button
            show_name: false
            icon: "mdi:thermometer-chevron-up"
            tap_action:
              action: call-service
              service: script.turn_on
              service-data:
                entity_id: script.climate_boost
                variables:
                  room: arbeitszimmer

But when I press the button in lovelace, I get “must contain at least one of entity_id, area_id.” while the service call through the dev menu successfully raises the room temperature.

Change service-data: to service_data:

1 Like

I am stupid. Thank you. I’ve been wondering for hours.

1 Like