Lichterkette einschalten mit Anwesenheit über fritzbox und Sonnenuntergang

Hallo Community ich bin brandneu und bekomme meine erste Automation nicht zum laufen. Wir sind 5 Personen im Haushalt und ich möchte sobald eine Person anwesend ist und es nach Sonnenuntergang ist eine Steckdose schalten mit einer Lichterkette. Ich habe den Personen Handys zugeordnet die mir auch den Status anzeigen. Über die zone.home kann man die Anwesenheit erkennen oder nicht?

Mein Yaml Code dafür wäre:

alias: Lichterkette
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    above: 0
    below: 6
conditions:
  - condition: sun
    after: sunset
actions:
  - type: turn_on
    device_id: 2a313de4cc5b5b00b34b2501aada9294
    entity_id: 3f7f9f2a87e9e8a50c81879aeb619ac9
    domain: switch
mode: single

Könnte mir da jemand von Euch weiter helfen?

Vielen Dank

Moin,
der Auslöser löst nur aus wenn die Zone von 0 auf über 0 oder von 6 auf unter 6 wechselt.
Du solltest am besten Zone und Sonne als Auslöser und Bedingung benutzen.

VG

Wenn der erste nach Sonnenuntergang nach Hause kommt oder nach Sonnenuntergang und jemand ist schon zu Hause und Das Licht ist aus.
Dann Licht einschalten.

description: ""
mode: single
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    above: 0
  - trigger: sun
    event: sunset
    offset: 0
conditions:
  - condition: numeric_state
    entity_id: zone.home
    above: 0
  - condition: sun
    after: sunset
  - condition: state
    entity_id: light.xyz
    state:
      - "off"
actions:
  - action: light.turn_on
    metadata: {}
    target:
      entity_id: light.xyz
    data: {}

Gruß Osorkon

Danke für den Code. Wenn ich etwas in der Automation ändere muss ich dann den Server komplett neu starten oder wird das mit dem speichern automatisch übernommen?

Ich habe es jetzt mal geändert, geschalten wird die Steckdose aber immer noch nicht.

alias: Lichterkette
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    above: 0
  - trigger: sun
    event: sunset
    offset: 0
conditions:
  - condition: numeric_state
    entity_id: zone.home
    above: 0
  - condition: sun
    after: sunset
  - condition: state
    entity_id: light.test_licht
    state:
      - "off"
actions:
  - action: light.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: light.test_licht
mode: single

Wenn Du die Automation über die GUI erstellen tust, ist diese nach dem Speichern scharf.

Wenn Du diese in der automations.yaml editieren tust, was nicht zu empfehlen wäre. Muss Du die Automation Konfiguration neu laden.

Zum Testen kannst Du mal den Trigger home.Zone simulieren.
Entwicklungswerkzeuge —> Zustände —> Zustand setzen.
Hier mal den Zustand der Zone auf 0 und im Anschluss auf > 0 setzen.

Gruß Osorkon

Top das geht jetzt. Wenn ich jetzt noch eine Zeit mit ins Spiel bringen will. das die Lichterkette um 23:00 Uhr abschaltet, würdest Du dann eine oder zwei Automationen dafür machen?

Mein Favorit wäre eine Automation.

description: ""
mode: single
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    above: 0
    id: einschalten
  - trigger: sun
    event: sunset
    offset: 0
    id: einschalten
  - trigger: time
    at: "23:00:00"
    id: ausschalten
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: numeric_state
            entity_id: zone.home
            above: 0
          - condition: sun
            after: sunset
          - condition: time
            before: "23:00:00"
          - condition: state
            entity_id: light.xyz
            state:
              - "off"
        sequence:
          - action: light.turn_on
            metadata: {}
            target:
              entity_id: light.xyz
            data: {}
      - conditions:
          - condition: trigger
            id:
              - ausschalten
          - condition: state
            entity_id: light.xyz
            state:
              - "on"
        sequence:
          - action: light.turn_off
            metadata: {}
            target:
              entity_id: light.xyz
            data: {}

Gruß Osorkon

Danke Osorken, ich werde das morgen mal ausprobieren.

Müsste das nicht auch id: sein?

  - trigger: sun
    event: sunset
    id: einschalten
1 „Gefällt mir“

Wo Du recht hast, hast Du recht.

Bereits korrigiert.

  - trigger: sun
    event: sunset
    offset: 0
    id: einschalten

Gruß Osorkon

1 „Gefällt mir“

Ich habe das mal nach der Programmierung von Osorkon gemacht, siehe Box. Aber automatisch schaltet die nicht an. Erst wenn ich den Zustand home.zone manuell auf 0 setzte und dann wieder zurück, dann geht sie an.

alias: Lichterkette
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - zone.home
    above: 0
    id: einschalten
  - trigger: sun
    event: sunset
    offset: 0
    id: einschalten
  - trigger: time
    at: "23:00:00"
    id: ausschalten
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: numeric_state
            entity_id: zone.home
            above: 0
          - condition: sun
            after: sunset
          - condition: time
            before: "23:00:00"
          - condition: state
            entity_id: light.lichterkette_wohnzimmer
            state:
              - "off"
        sequence:
          - action: light.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: light.lichterkette_wohnzimmer
      - conditions:
          - condition: trigger
            id:
              - ausschalten
          - condition: state
            entity_id: light.lichterkette_wohnzimmer
            state:
              - "on"
        sequence:
          - action: light.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: light.lichterkette_wohnzimmer
mode: single

Ihre müsst erst mal alle die zone.home verlassen und dann nach Hause kommen.

Richtig, die Lichterkette sollte aber auch angehen wenn min. einer daheim ist.

Und das passiert bei Sonnenuntergang nicht?

Doch das passiert auch wenn jemand da ist.

Du kannst im Trace der Automation genau sehen warum etwas passiert oder nicht passiert.

Oben rechts in der Automation kannst du Trace aktivieren.

Damit ein Trigger aktiviert wird, muss immer der gegenteilige Zustand vorher auch vorgelegen haben. Wenn du bei der Zone nach above:0 triggerst, muss vorher auch 0 gewesen sein, damit bei 1 oder mehr getriggert wird. Um das zu testen musst du den Zustand der Home Zone erst auf 0 setzen und dann auf 1. Ist die Zone bei 1 und geht auf mehr oder weniger, wird nicht getriggert. Nur ein Zustand über 0 reicht nicht aus.

In der ersten Option müssen alle Bedingungen dann erfüllt sein.

  • Es muss jemand zu Hause sein.
  • Es muss bereits nach Sonnenuntergang sein
  • Es muss noch vor 23 Uhr sein
  • Die Lichterkette muss aus sein.

Beide Trigger, Home Zone und Sonnenuntergang haben dieselbe id. Es kann also bei beiden die Option 1 eintreten (einschalten), sofern alle weiteren Bedingungen erfüllt sind.

Wenn die Lichterkette immer aus sein soll, wenn niemand zuhause ist, dann kann es ja auch vorkommen, dass alle Bedingungen erfüllt sind, aber alle zwischen Sonnenuntergang und 23 Uhr die Zone Home verlassen. Wenn das passiert brennt das Licht durch, bis zum nächsten Trigger. Je nach Jahreszeit könnten das einige Stunden sein. Ich glaube im Winter ist irgendwann um 16 Uhr Sonnenuntergang.

Mit ausschalttrigger:

alias: Lichterkette
description: ""
triggers:
  - trigger: numeric_state
    entity_id: zone.home
    above: 0
    id: einschalten
  - trigger: sun
    event: sunset
    id: einschalten
  - trigger: time
    at: "23:00:00"
    id: ausschalten
  - trigger: numeric_state
    entity_id: zone.home
    below: 1
    id: ausschalten
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: einschalten
          - condition: numeric_state
            entity_id: zone.home
            above: 0
          - condition: sun
            after: sunset
          - condition: time
            before: "23:00:00"
        sequence:
          - action: light.turn_on
            target:
              entity_id: light.lichterkette_wohnzimmer
      - conditions:
          - condition: trigger
            id: ausschalten
        sequence:
          - action: light.turn_off
            target:
              entity_id: light.lichterkette_wohnzimmer
mode: single

Die Automation sollte also korrekt laufen.

  1. Schau dir in den Entwicklerwerkzeugen mal den Status der Zone an. Verlass die Zone und komm wieder, oder teste es in den Entwicklerwerkzeugen durch setzen der Zustände.
  2. Schau dir den Trace an
  3. Beachten, daß ein Trigger ausreicht damit die Automation losläuft. Trigger sind aller OR (oder)
  4. Beachten das die Bedingungen in der Option alle AND sind und damit alle erfüllt sein müssen

Sag dann wieder bescheid ob es geht oder was genau nicht geht.