Wie erstelle ich einen intelligenten Button

7vn82

New member
Hallo zusammen,

ich habe schon ein bisschen gegoogelt, aber nicht das gefunden, was ich suche. Ich fasse mal zusammen:
Ich habe zwei Tapo Kameras. Ich würde nun gerne einen Button auf dem Dashboard haben mit dem ich die Motion Detection und Person Detection von beiden Kameras mit nur einem Knopfdruck aktivieren kann. Und mit einem weiteren Druck auf den Knopf wieder deaktiviere.

Die Entitäten wären folgende:
YAML:
select.tapo_cam_carport_motion_detection
select.tapo_cam_carport_person_detection

select.tapo_cam_terrasse_motion_detection
select.tapo_cam_terrasse_person_detection

Mit Standardboardmitteln bekomme ich, als Leihe, höchstens hin das er eine der beiden Kameras anspricht und auch nur eine der jeweils beiden Entitäten. Und ein weiterer Druck auf den Knopf deaktiviert den Zustand leider nicht wieder :/

Ein weiteres Problem: Motion Detection und Person Detection haben nicht den Zustand On und Off, sondern High, Normal, Low und Off.

Vielleicht habt ihr ja ein paar Ideen oder sowas sogar schon gebastelt. Custom button-cards könnte das Problem lösen, ich weiss aber leider nicht wie ich die verschiedenen Entitäten in den Code einbinde.

Viele Grüße
7vn
 
Zuletzt bearbeitet von einem Moderator:
Eine von vielen Möglichkeiten. Mit der Wenn dann Aktion.
Wenn Option "Off" dann Die Option "High" auswählen. Sonst die Option "Off" auswählen.
Und das für alle Deine 4 Entitäten.

YAML:
description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - button.xyz
condition: []
action:
  - if:
      - condition: state
        entity_id: select.tapo_cam_carport_motion_detection
        state: Off
    then:
      - service: select.select_option
        data:
          option: High
        target:
          entity_id: select.tapo_cam_carport_motion_detection
    else:
      - service: select.select_option
        data:
          option: "Off"
        target:
          entity_id: select.tapo_cam_carport_motion_detection
  - if:
      - condition: state
        entity_id: select.tapo_cam_carport_person_detection
        state: Off
    then:
      - service: select.select_option
        data:
          option: High
        target:
          entity_id: select.tapo_cam_carport_person_detection
    else:
      - service: select.select_option
        data:
          option: "Off"
        target:
          entity_id: select.tapo_cam_carport_person_detection
  - if:
      - condition: state
        entity_id: select.tapo_cam_terrasse_motion_detection
        state: Off
    then:
      - service: select.select_option
        data:
          option: High
        target:
          entity_id: select.tapo_cam_terrasse_motion_detection
    else:
      - service: select.select_option
        data:
          option: "Off"
        target:
          entity_id: select.tapo_cam_terrasse_motion_detection
  - if:
      - condition: state
        entity_id: select.tapo_cam_terrasse_person_detection
        state: Off
    then:
      - service: select.select_option
        data:
          option: High
        target:
          entity_id: select.tapo_cam_terrasse_person_detection
    else:
      - service: select.select_option
        data:
          option: "Off"
        target:
          entity_id: select.tapo_cam_terrasse_person_detection

Somit hast Du für jede Deiner 4 Entitäten ein Art Umschalteten. Von "Off" zu "High" und von "High" zu "Off"
Der Nachteil wäre, dass jede der 4 Entitäten individuell umgeschaltet wird und nicht sicher gestellt ist, dass alle den gleichen Status haben. Wenn das zwingend erforderlich ist, musst einen der 4 Entitäten als Referenz verwenden und dann nach dem Motto:
Wenn Entität 1 = "Off", Dann Entität 1, Entität 2, Entität 3 und Entität 4 auf "High" setzen. Sonst Entität 1, Entität 2, Entität 3 und Entität 4 auf "Off" setzen.

YAML:
description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - button.xyz
condition: []
action:
  - if:
      - condition: state
        entity_id: select.tapo_cam_carport_motion_detection
        state: "Off"
    then:
      - service: select.select_option
        data:
          option: High
        target:
          entity_id:
            - select.tapo_cam_carport_motion_detection
            - select.tapo_cam_carport_person_detection
            - select.tapo_cam_terrasse_motion_detection
            - select.tapo_cam_terrasse_person_detection
    else:
      - service: select.select_option
        data:
          option: "Off"
        target:
          entity_id:
            - select.tapo_cam_carport_motion_detection
            - select.tapo_cam_carport_person_detection
            - select.tapo_cam_terrasse_motion_detection
            - select.tapo_cam_terrasse_person_detection

Der Button button.xyz ist natürlich ein Platzhalter und muss gegen Deine Button Entität ersetzt werden.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.115
Beiträge
59.428
Mitglieder
6.162
Neuestes Mitglied
jurik
Zurück
Oben