Liebe SmartHome for Dummies Gemeinde.

Die phpBB Forum Software gehört nicht wirklich zu den modernsten seiner Art.
Ich habe mich an einer Migration zu Discourse versucht und bin leider kläglich gescheitert.

Möchte aber trotzdem einen Neuanfang auf einer modernen Plattform starten.
Gerne möchte ich Euch animieren das neue Discourse Forum zu benutzen.
Bestehenden Usern bleibt es leider nicht erspart, sich auf der neuen Platform neu anzumelden.

Das Forum hier, bleibt selbstverständlich Online. Ich würde versuchen einiges händisch zu migrieren.
Da fallen mir die Rubriken "Template Sammlungen" oder "Best Practice Automatisierungen" ein.

SmartHome for Dummies Discourse Platform.

Binary Sensor mit Value Template Thema ist als GELÖST markiert

Bereich rings rum zum Thema Yaml und seine Tücken.


Antworten
Benutzeravatar
Friedi
Beiträge: 509
Registriert: Do 22. Jul 2021, 16:57
3
Has thanked: 43 times
Been thanked: 29 times

Binary Sensor mit Value Template

Beitrag von Friedi »

Ich habe das Problem bei einem binary_sensor, dass dieser auf einen Kalendereintrag einen Tag in der Zukunft aufbaut. Dazu habe ich mal folgendes gebaut:

Code: Alles auswählen

    urlaub_marco_tomorrow:
      friendly_name: "Urlaub Marco (morgen)"
      value_template: >-
        {% if now().timestamp() >= as_timestamp(state_attr('calendar.gemeinsam_urlaub_marco', 'start_time')) - 3600*24 and 
          now().timestamp() <= as_timestamp(state_attr('calendar.gemeinsam_urlaub_marco', 'end_time')) - 3600*24 %}
          on
        {% else %}
          off
        {% endif %}
        
Solange am nächsten Tag tatsächlich ein Termin in calendar.gemeinsam_urlaub_marco vorhanden ist, ist das alles kein Problem. Wenn aber nun kein Termin da ist, wird der Sensor unverfügbar.
Eigentlich hoffte ich, dass ich das eben mit der else-Bedingung abfangen kann. Dem ist aber wohl nicht so.

Hat irgendwer ne Idee, wie man so was abfängt? Oder wie man anders auf einen CalDAV-Termin in der Zukunft aufbauen kann (auch wenn dann ggf. kein Termin vorhanden ist)?
Benutzeravatar
Friedi
Beiträge: 509
Registriert: Do 22. Jul 2021, 16:57
3
Has thanked: 43 times
Been thanked: 29 times

Re: Binary Sensor mit Value Template

Beitrag von Friedi »

Falls das noch jemand mal benötigen sollte, hier meine Lösung. Ich weiß nicht, ob es bessere Lösungen gibt, aber die hier funktioniert:

Code: Alles auswählen

    urlaub_marco_tomorrow:
      friendly_name: "Urlaub Marco (morgen)"
      value_template: >-
        {{ now().timestamp() >= as_timestamp(state_attr('calendar.gemeinsam_urlaub_marco', 'start_time'), now().timestamp() + 3600*24) - 3600*24 and
          now().timestamp() <= as_timestamp(state_attr('calendar.gemeinsam_urlaub_marco', 'end_time'), now().timestamp() + 3600*24) - 3600*24 }}
Antworten