"state_image" abhängig der Tageszeit

Deladusde

Member
Hallo zusammen,

ich baue in unserem neuen Haus das Smart Home von Grund auf neu auf. Ich habe nun einen Flurplan des Hauses erstellt, je nach Sonnenstand wird ein Tag- oder ein Nachtbild des Hauses angezeigt. Wird Licht eingeschaltet sieht man im Flurplan auch das Licht leuchten...

Beispiel am Wohnzimmer:

Tag, Licht aus:
Screenshot 2024-08-24 143552.png

Tag, Licht an:
Screenshot 2024-08-24 143729.png

Nacht, Licht aus:
Screenshot 2024-08-24 143900.png

Nacht, Licht an:
Screenshot 2024-08-24 143910.png

aktuell werden die Fenster als Icon angezeigt die dann je nach Fensterzustand auf oder zu anzeigen. soviel vom IST-Zustand.

Jetzt möchte ich folgendes umsetzen:
Statt den state_icon möchte ich jetzt ein state_image nuten und die fenster als "Offen" anzuzeigen und das Icon damit ersetzen. Grundsätzlich funktioniert es auch. für eine Tageszeit. folgenden Code nutze ich:
Code:
           - type: image
              action: none
              entity: binary_sensor.hmip_hap_terrassentur
              hold_action:
                action: none
              tap_action:
                action: none
              state_image:
                'on': /local/floorplan/ErdgeschossTagFensterOffenWohnzimmer.png
                'off': /local/floorplan/transparent.png
                unavailable: /local/floorplan/transparentError.png
              style:
                mix-blend-mode: normal
                top: 50%
                left: 50%
                width: 100%
                height: 100%
Anmerkung: aktuell ist es mit einem Switch verbunden, damit ich während der Tests nicht immer das Fenster auf und zu machen muss. deshalb steht das on/off statt open/closed

Tagsüber sieht es schmal wie gewollt aus:
Screenshot 2024-08-24 144648.png

Nur Nachts passt es nicht, da ist der Bereich der Terrassentüre Tag hell. jetzt habe ich das selber bild noch mal bei Nacht erstellt, aber wie sage ich jetzt HA, dass er bei Sonnenuntergang nicht das Tagbild nutzen soll, sondern das Nacht Bild! Denke da evtl. an einer "If-Funktion" aber wie setze ich es um, oder gibt es noch eine andere Möglichkeit?

Würde mich über Ideen und Hilfe sehr freuen.

Gruß
Dennis
 
Übrigens dies ist der Code, der den Tag/Nacht Wechsel bestimmt:
Code:
        card:
          type: picture-elements
          image: /local/floorplan/ErdgeschossTag.png
          style: |
            ha-card:first-child {
              background: rgba(42, 46, 48, 1)
            }
          elements:
            - type: image
              action: none
              entity: sun.sun
              state_image:
                above_horizon: /local/floorplan/ErdgeschossNacht.png
                below_horizon: /local/floorplan/transparent.png
              tap_action:
                action: none
              hold_action:
                action: none
              style:
                top: 50%
                left: 50%
                width: 100%
                height: 100%
 
Denke da evtl. an einer "If-Funktion" aber wie setze ich es um, oder gibt es noch eine andere Möglichkeit?
Über card_mod könntest Du das regeln und dann das jeweilig gewünschte Bild über CSS als Hintergrund setzen. Also grundsätzlich muss man natürlich ein Standardbild angeben, dafür dann ein transparentes verwenden (ich habe hier ein transparentes Bild als Base64 genommen), aber das wird dann eben überschrieben. Beispiel:

YAML:
type: picture-elements
elements:
  - type: state-badge
    entity: binary_sensor.hmm
    style:
      top: 32%
      left: 40%
image: "data:image/gif;base64,R0lGODlhZABkAOcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///yH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAP8ALAAAAABkAGQAAAihAP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsxYcEAAOw=="
card_mod:
  style: |
    ha-card {
    background-image:
      {% if states('sun.sun') == "above_horizon" %} url(https://forum.heimnetz.de/data/assets/logo/heimnetz_logo_forum.png);
      {% else %} url(https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png);
      {% endif %}
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
 
Hi,

erstmal vielen Dank für deinen Ansatz, leider funktioniert dieser nicht mir wird in meinem Flurplan nur ein Badge angezeigt, der den Status mitteilt, aber es tauchen keine Images auf. Ich habe erstmal deinen Code soweit übernommen und nur die entity geändert.

Hast du evtl. auch einen ansatz, wie ich meinen Funktionierenden Code dahingehend modifizieren kann?

Code:
- type: image
    action: none
    entity: binary_sensor.hmip_hap_terrassentur
    hold_action:
        action: none
    tap_action:
        action: none
    state_image:
        'OPEN': /local/floorplan/ErdgeschossTagFensterOffenWohnzimmer.png
        'CLOSE: /local/floorplan/transparent.png
        unavailable: /local/floorplan/transparentError.png
    style:
        mix-blend-mode: normal
        top: 50%
        left: 50%
        width: 100%
        height: 100%

Dieser funktioniert prinzipell ja, wenn ich auf den "Tag/Nacht-Wechsel" im Flurplan verzichten würde. Kann man im state_image beim Zustand "OPEN" nicht eine ähnliche IF/ELSE Funktion fahren?

Hatte es so versucht:
Code:
- type: image
    action: none
    entity: binary_sensor.hmip_hap_terrassentur
    hold_action:
        action: none
    tap_action:
        action: none
    state_image:
        'on': {% if states('sun.sun') == "above_horizon" %} /local/floorplan/ErdgeschossNachtFensterOffenWohnzimmer.png; {% else %} /local/floorplan/ErdgeschossTagFensterOffenWohnzimmer.png; {% endif %}
        'off': /local/floorplan/transparent.png
        unavailable: /local/floorplan/transparentError.png
    style:
        mix-blend-mode: normal
        top: 50%
        left: 50%
        width: 100%
        height: 100%

Bekomme aber diese Fehlermeldung:
YAML kann nicht geparst werden: YAMLException: missed comma between flow collection entries (154:24) 151 | tap_action: 152 | action: none 153 | state_image: 154 | 'on': {% if states('sun.sun') == "abov ... ------------------------------^ 155 | 'off': /local/floorplan/transparent.png 156 | unavailable: /local/floorplan/transpar ...
 
Zuletzt bearbeitet:
leider funktioniert dieser nicht
Hast du card_mod installiert und aktiviert?

Sofern das der Fall ist und Du nichts mit den Einrückungen verhauen hast (also Karte hinzufügen, dann unten auf Code-Editor, meinen Code einfügen) sollte das grundsätzlich erstmal laufen.

Das state_image unterstützt glaube ich keine Templates, wobei ich es grade nicht sicher sagen kann, habe aktuell keinen Zugriff auf eine HA-Instanz.
 
Sorry die späte Rückmeldung.

Grundsätzlich funktioniert die Card_mod, nur nicht in meinem Code. Als Kachel klappt es wunderbar. Ich habe aber auch rausgefunden warum (vermutlich) Ich nutze "image" schon für meinen Grundriss. Es meckert immer, dass man dies nicht 2 mal verwenden kann....

Ich habe mich jetzt entschieden, auch hinsichtlich der Übersichtlichkeit, 3 Flurpläne zu machen. eine für Fenster und Türen, wo ich den Status der Fenster, der Rolladen und Türen anzeige, Licht und Geräte und Klimatisierung. Bei einem ganzen Haus, welches fast vollständig vom Smartphone gesteuert werden kann, ist alles in einem Plan doch etwas unübersichtlich :)

Jetzt stehe ich zwar vor einer neuen Herausforderung, wie ich das alles sinnvoll und möglichst intuitiv verknüpfe.... aber dafür mache ich besser ein neues Thema auf.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.283
Beiträge
52.555
Mitglieder
5.037
Neuestes Mitglied
galaxyaner
Zurück
Oben