Gesamtzustand der Fenster und Türen über Entitäten Filter anzeigen

Hallo,

über den Enitätenfilter kann ich ja auf meinem Dashboard alle Fenster und Türen auflisten lassen, die geöffnet sind. Das funktioniert alles bestens.

Blöd finde ich nur, dass keine “positive” Ausgabe erfolgt, wenn die alles geschlossen ist. Dann habe ich auf dem Dashboard nur einen leeren Platzhalter.

Wie kann man das so ändern, dass es eine Anzeige gibt, dass alles geschlossen ist?

Danke an Euch für Ideen!

type: entity-filter
entities:
  - binary_sensor.fensterkontakt1
  - binary_sensor.fensterkontakt2
  - binary_sensor.fensterkontakt3
  - binary_sensor.fensterkontakt4
state_filter:
  - "on"

2 Karten die Du mit entgegengesetzten Visibility Kriterien steuerst. In der einen steht dann nur der Text alles geschlossen. Praktisch wäre eine Gruppe anzulegen und deren Status als Kriterium zu nehmen.

1 „Gefällt mir“

Danke für die Idee. Aber ich wollte es ja so, dass es in der gleichen Karte steht und keine leere Karte bleibt.

dafür ist doch die Visibility/Sichtbarkeit da die @Bacardi angesprochen hat.

Ich bin mir nicht sicher, ob das nicht am Sinn vorbei geht. Due Filterst dir ja die offenen Fenster/Türen nach einem bestimmten Status. Du müsstest dann schon irgendwo in der Kette sagen, wenn / dann / sonst

Mal ein anderer Ansatz:

Da du ja sowieso nicht automatisch alle Fenster ind Türen Filterst, sondern nur nach State on suchst und die Entities manuell bennenst, kannst du es auch anders machen.

Pack alle Türen und /oder Fenster in einen Gruppenhelfer z.B. “Alle Fenster”.

Leg dir eine Dashboardkarte an. In diesem Beispeil eine Bubble Card (weil man die gut Stylen kann, geht aber sicher auch sehr gut mit der Button Card.

Beispielhaft so:

type: custom:bubble-card
card_type: button
button_type: state
card_layout: normal
styles: ""
tap_action:
  action: navigate
  navigation_path: "#fenster"
double_tap_action:
  action: none
hold_action:
  action: none
button_action:
  tap_action:
    action: navigate
    navigation_path: "#fenster"
use_accent_color: true
show_name: true
force_icon: false
icon: ""
show_last_changed: false
show_icon: true
scrolling_effect: false
show_state: true
show_attribute: false
sub_button:
  main:
    - entity: sensor.anzahl_offene_fenster_zahl
      hold_action:
        action: none
      tap_action:
        action: navigate
        navigation_path: "#fenster"
      double_tap_action:
        action: none
      show_icon: false
      show_state: true
  bottom: []
name: Fenster
modules:
  - state_window
entity: sensor.anzahl_offene_fenster
rows: 1

Das verwendete Modul state_window styled die Karte:

/* SLANG - ändert das Icon je nach Zustand */
${icon.setAttribute("icon", 
    hass.states['binary_sensor.alle_fenster'].state === 'on' ? 'mdi:window-open-variant' : 
    'mdi:window-closed-variant')
}

ha-card {
  --bubble-main-background-color: ${
      state === 'geschlossen' ? 'rgba(77, 177, 88, 0.2)' : 
      'rgba(243, 69, 60, 0.2)'} !important;
  --bubble-secondary-background-color: ${
      state === 'geschlossen' ? 'rgba(77, 177, 88, 1)' : 
      'rgba(243, 69, 60, 1)'} !important;
}
.bubble-name {
  font-weight: 300;
}
.bubble-state {
  font-weight: 400;
}
.bubble-sub-button {
  background-color: ${
      state === 'geschlossen' ? 'rgba(77, 177, 88, 1)' : 
      'rgba(243, 69, 60, 1)'} !important;
  font-weight: bold;
  font-size: 18px;
}
.bubble-icon {
  color: #e1e1e1 !important;
  opacity: 1 !important;
}

Das Teil sieht so aus, wenn Fenster offen sind:

image

und so wenn alle Fenster zu sind:

image

In dem SubButton steht immer die Anzahl der geöffneten Fenster. Klickt man da drauf, kommt eine Auflistung der offenen Fenster als PopUp. Zum Beispiel so:

Das ist nur ein Beipiel wie mans machen kann. Ich glaube das geht auch auf 1001 andere Wege… Such mal im Forum, jede Wette findest du noch was anderes…

Hab nochmal gebastelt… würde auch über auto-entities relativ simpel gehen:

Einfach alle Fenster in eine Helfergruppe packen (hier: Alle Fenster (binary_sensor.alle_fenster))

type: vertical-stack
cards:
  - type: custom:auto-entities
    card:
      type: entities
      title: "Offene Fenster:"
      show_header_toggle: false
      card_mod:
        style: |
          ha-card {
            background: rgba(139, 0, 0, 0.3) !important;
          }
          .card-header {
            color: #ff4a4a;
            font-weight: 300;
            font-size: 22px;
          }
    filter:
      include:
        - domain: binary_sensor
          attributes:
            device_class: window
          state: "on"
          options:
            card_mod:
              style:
                hui-generic-entity-row $: |
                  .info {
                    color: #ff4a4a !important;
                    font-weight:300;
                    font-size:16px;
                  }
                  state-badge {
                    color: #ff4a4a !important;
                  }
                  .state {
                    color: #f1e386 !important;
                  }
    show_empty: false
  - type: conditional
    conditions:
      - condition: state
        entity: binary_sensor.alle_fenster
        state: "off"
    card:
      type: markdown
      content: <ha-icon icon='mdi:shield-check'></ha-icon> Alle Fenster geschlossen
      card_mod:
        style: |
          ha-card {
            background: rgba(49, 107, 69, 0.4) !important;
          }
          ha-markdown {
            color: #2fb35c !important;
            font-weight:300;
            font-size:16px;
          }

Sieht dann so aus:

Je nach Zustand wird nur eins von beiden angezeigt.

1 „Gefällt mir“

Super Sache! So gefällt mir das sehr gut.

Eine Frage:
Ich habe einen Türkontakt im Keller im Innenbereich. Dieser dient nur dazu den Zustand zu überwachen, denn wenn die Tür bei kalten Temparaturen offen ist, macht es keinen Sinn den Raum unter dem Wohnzimmer zu heizen. Zur Überwachung habe ich eine funktionierende Alarmmeldung, die um 18 Uhr bei Temperaturen unter 5 Grad auf dem Handy/Ipad auf die offenen Tür hinweist.
Kann man nun diese eine Tür aus der Entity Abfrage der Windows herausnehmen?

Ja, das sollte doch einfach über nen exclude gehen im filter:

    exclude:
        - entity_id: binary_sensor.dein_auszuschliessendes_fenster

In der Helfergruppe dann das betreffende Fenster nicht hinzufügen

‘Danke Super! Hat geklappt!

Update:
So habe alles eingebaut. Sieht nun fast perfekt aus. Kann man die Schrift noch etwas verkleinern?
Ich habe bisher in der Darstellung mit Standard Bordmitteln von HA gearbeitet.

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Die Schrift? :slight_smile:

Welche denn? du kannst einfach font-size:; bearbeiten… steht jetzt auf 22px bzw 16px einmal für den card-header und einmal für info (das ist der Name der Entität). Schau mal im Code.

state-badge ist das Icon

state ist der Status… (also geöffnet oder geschlossen)

Wenn du die Schriftgröße im state brauchst, dann musst du da font-size:; hinzufügen.

Ah, gewusst wie! Nun ist es für mich perfekt! Nochmals vielen Dank!

@Schlumperdix

Dein Code hat mir sehr geholfen.

Allerdings werden mir nur offene Fenster angezeigt. Entities vom Typ ‘door’, die ich zu ‘Alle Fenster’ hinzugefügt habe, werden zwar berücksichtigt, aber nicht als offen angezeigt. Ändere ich im Code auf ‘device_class: door,’ werden nur Türen, aber keine Fenster als offen gemeldet.

Ich habe mir für alle Türen Helfer vom Typ binary-sensor angelegt, der Geräteklasse Fenster und den Zustand der jeweiligen Tür zugewiesen und nur die Helfer in “Alle Fenster” hinzugefügt.

Damit funktioniert es gut.

Gibt es einen eleganteren Weg ohne diese zusätzlichen Helfer?

Bin nicht ganz sicher ob ich es richtig verstanden habe… Du möchtest beide device Klassen? Also door und window?

Dann musst du die Liste der Domains wiederholen. Du brachst also nochmal die domain binary_sensor und dann eben die device_class: door. Der Card-Mod teil müsste dann entweder auch wiederholt werden, wenn der sich aber nicht unterscheidet, kann man glaube die options auch unter type verwenden. So dann:

gelöscht ... weil falsch

In der Helfergruppe “Alle Fenster” müssen dann die Türen einfach mit rein. Der hat mit auto_entities ja erstmal nichts zu tun.

Ansonsten benötigst du keine weiteren Helfer…

Probier mal…

EDIT:

leider falsch gedacht. Card Mod geht dann nicht mehr… dann so:

type: vertical-stack
cards:
  - type: custom:auto-entities
    card:
      type: entities
      title: "Offene Fenster:"
      show_header_toggle: false
      card_mod:
        style: |
          ha-card {
            background: rgba(139, 0, 0, 0.3) !important;
          }
          .card-header {
            color: #ff4a4a;
            font-weight: 300;
            font-size: 22px;
          }
    filter:
      include:
        - domain: binary_sensor
          attributes:
            device_class: window
          state: "on"
          options:
            card_mod:
              style:
                hui-generic-entity-row $: |
                  .info {
                    color: #ff4a4a !important;
                    font-weight:300;
                    font-size:16px;
                  }
                  state-badge {
                    color: #ff4a4a !important;
                  }
                  .state {
                    color: #f1e386 !important;
                  }
        - domain: binary_sensor
          attributes:
            device_class: door
          state: "on"
          options:
            card_mod:
              style:
                hui-generic-entity-row $: |
                  .info {
                    color: #ff4a4a !important;
                    font-weight:300;
                    font-size:16px;
                  }
                  state-badge {
                    color: #ff4a4a !important;
                  }
                  .state {
                    color: #f1e386 !important;
                  }
      exclude:
        - entity_id: binary_sensor.dein_auszuschliessendes_fenster
    show_empty: false
  - type: conditional
    conditions:
      - condition: state
        entity: binary_sensor.alle_fenster
        state: "off"
    card:
      type: markdown
      content: <ha-icon icon='mdi:shield-check'></ha-icon> Alle Fenster geschlossen
      card_mod:
        style: |
          ha-card {
            background: rgba(49, 107, 69, 0.4) !important;
          }
          ha-markdown {
            color: #2fb35c !important;
            font-weight:300;
            font-size:16px;
          }

Vielen Dank, so läuft es sehr gut.

3 Helfer muss ich aber behalten. 2 Fenster und das Garagentor werden über Rolloschalter angesteuert und die haben keinen Sensor, den ich in “Alle Fenster” eintragen könnte.

Du kannst doch die Entitäten direkt inkludieren. Die müssen ja nicht “domain” sein.

      include:
        - entity_id: sensor.deineEntity

oder meinst du im Bereich conditional? Da wo der Helfer alle Fenster eingebunden ist und den Geschlossen Status überwachen? Da wird das leider schwierig, da es dort kein ODER gibt. Es können mehrere conditions aufgelistet werden, aber die sind immer UND. Du könntest in dem Fall aber alle Entitäten zusammen in eine Helfergruppe legen. Die Gruppe ist ja nicht auf Fenster beschränkt. Da kannst du alle Entitäten reinlegen, die binär sind, also an oder aus liefern.

Danke, es funktioniert so alles zufriedenstellend. Die 3 Helfer sind erforderlich, weil die Rolloschalter keine Sensoren besitzen. Mit dem Helfer fügen ich einem Rolloschalter einen binary-sensor vom Typ Fenster hinzu und kann den Helfer in die Helfer-Gruppe „Alle Fenster“ packen.

@Schlumperdix: Kann man das Skript irgendwie auch anpassen, dass sofern vorhanden, auch Benachrichtigungen des HA auf dem Dashboard angezeigt werden?

Bisher habe ich für die Integration noch keine funktionierende Einbindung gefunden.

Du hast im falschen Thread gepostet. Deine Frage hat mit dem Thema hier überhaupt nichts zu tun.

Du hast doch anderer Stelle die nahezu gleiche Frage gestellt. Warum machst du da nicht weiter?Und wenn du dein Problem etwas konkreter beschreiben würdest, könnt man besser helfen.

@HaGoDa: Was soll das?

Ich habe diesen Thread bewusst gewählt. Und einen der hier geduldig Helfenden angesprochen.

Deine Antworten sind meist knapp und helfen nur denen, die sich auskennen. Du machst Dir keine Gedanken, die Deine Posts teilweise wirken.

ähm… ich verstehe den Zusammenhang hier nicht. Welche Nachrichten von was?

  • Fenster wurde geschlossen?
  • Fenster wurde geöffnet?

Falls dieses Thema gemeint ist:

Dann muss ich @HaGoDo schon sinngemäß zustimmen. Ich glaube das passt in das genannte Thema schon besser rein. Mach doch da am besten weiter.

1 „Gefällt mir“