PopUp auf verschiedenen Geräten

Moin,

ich benötige mal bitte Hilfe bei der Erstellung eines Buttons, wo das PopUp immer auf dem Gerät sich öffnen soll, von wo es auch aufgerufen wurde.

Ich habe mit Hilfe von ChatGPT folgenden Code erstellt.

show_name: true
show_icon: true
type: button
icon: mdi:car-defrost-front
name: Autoheizung neu
color: red
tap_action:
  action: call-service
  service: browser_mod.popup
  data:
    title: 🔌 Einschaltzeit
    size: fullscreen
    content:
      type: vertical-stack
      cards:
        - type: markdown
          content: |
            **Wann soll die Heizung eingeschaltet werden?**  
            *(einmalig)*
        - type: entities
          show_header_toggle: false
          entities:
            - entity: input_datetime.einschaltzeit_autoheizung
              name: Uhrzeit
        - type: horizontal-stack
          cards:
            - type: button
              name: ❌ Abbrechen
              icon: mdi:close-circle-outline
              tap_action:
                action: call-service
                service: browser_mod.sequence
                data:
                  sequence:
                    - service: script.turn_on
                      target:
                        entity_id: script.autoheizung_abbrechen
                    - delay: 300
                    - service: browser_mod.close_popup
            - type: button
              name: ✔ Bestätigen
              icon: mdi:check-circle-outline
              tap_action:
                action: call-service
                service: browser_mod.close_popup

Hier ist aber das Problem, das wenn ich den Button auf meinem mobilen Geräte drücke, das PopUp auf meinem PC sich öffnen.

Lt. ChatGPT sollte ich ein browser_id: THIS mit einfügen. Nun öffnet sich allerdings kein PopUp mehr. Egal ob ich den Button auf dem PC oder auf dem mobilen Gerät drücke.

Hier noch der geänderte Code:

show_name: true
show_icon: true
type: button
icon: mdi:car-defrost-front
name: Autoheizung3
color: red
tap_action:
  action: call-service
  service: browser_mod.popup
  service_data:
    browser_id: THIS
    title: 🔌 Einschaltzeit
    size: fullscreen
    content:
      type: vertical-stack
      cards:
        - type: markdown
          content: "**Wann soll die Steckdose eingeschaltet werden?** *(einmalig)*"
        - type: entities
          show_header_toggle: false
          entities:
            - entity: input_datetime.einschaltzeit_autoheizung
              name: Uhrzeit
        - type: horizontal-stack
          cards:
            - type: button
              name: ❌ Abbrechen
              icon: mdi:close-circle-outline
              tap_action:
                action: call-service
                service: browser_mod.sequence
                service_data:
                  browser_id: THIS
                  sequence:
                    - service: script.turn_on
                      target:
                        entity_id: script.autoheizung_abbrechen
                    - delay: 300
                    - service: browser_mod.close_popup
            - type: button
              name: ✔ Bestätigen
              icon: mdi:check-circle-outline
              tap_action:
                action: call-service
                service: browser_mod.close_popup
                service_data:
                  browser_id: THIS

ChatGPT gibt mir immer nur an, das BrowserMod nicht korrekt sein. Bei mir ist die Version 2.7.0 installiert.

Kann mir bitte jemand zufällig helfen? Dreht sich nur um die Problematik wo sich das PopUp öffnet. Alles ander funktioniert.

Vielen Dank.

VG

Marco

Du brauchst hier noch data und darunter browser_id.
Wusst chatgpt wohl nicht?

tap_action: # Browser call with THIS replacememt of Browser ID
  action: fire-dom-event
  browser_mod:
    service: script.print_clicking_browser
    data:
      browser_id: THIS

Der code ist aus dem github:

hass-browser_mod/documentation/services.md at master · thomasloven/hass-browser_mod hass-browser_mod/documentation/services.md at master · thomasloven/hass-browser_mod · GitHub

Ich habe hier doch

tap_action:
  action: call-service
  service: browser_mod.popup
  service_data:
    browser_id: THIS

drunter stehen, oder denke ich in eine falsche Richtung?

Ist kein “data” sondern ein “service_data”. Ist das falsch?

Teste es doch einfach

Dieser Code funktioniert nun. Augenscheinlich wird doch kein browser_id: THIS benötigt

type: custom:button-card
icon: mdi:car-defrost-front
name: Autoheizung 6
color: red
tap_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.popup
    data:
      title: 🔌 Einschaltzeit
      size: fullscreen
      content:
        type: vertical-stack
        cards:
          - type: markdown
            content: "**Wann soll die Steckdose eingeschaltet werden?** *(einmalig)*"
          - type: entities
            show_header_toggle: false
            entities:
              - entity: input_datetime.einschaltzeit_autoheizung
                name: Uhrzeit
          - type: horizontal-stack
            cards:
              - type: button
                name: ❌ Abbrechen
                icon: mdi:close-circle-outline
                tap_action:
                  action: call-service
                  service: script.autoheizung_abbrechen
              - type: button
                name: ✔ Bestätigen
                icon: mdi:check-circle-outline
                tap_action:
                  action: call-service
                  service: browser_mod.close_popup

Prima,

aber bei YAML ist es wie bei json oder html, dass die Keys genau so heissen müssen, wie sie erwartet werden. Und wenn browser mod data erwartet, kann es nichts mit service_data anfangen.
Daher hatte ich das github verlinkt. Ist im Zweifel immer die bessere Referenz als chatgpt.

Gruß
Guido