Nicht verfügbare Geräte anzeigen

Moin,
ich möchte mit auto-entities alle Geräte und Sensoren anzeigen, die nicht mehr verfügbar sind, aus welchem Grund auch immer.

Darunter ZigBee Sensoren via Z2M, Shelly, WiZ usw.

Ich hatte zB heute einen Aqara Türesensor, der auf einmal nicht mehr reagiert hat. Im Log steht nur "Power Outage Count wechelt zu 27, obwohl die Batterie voll ist.

Hab leider keine Idee, wo ich da anfangen soll. Irgend eine Idee?

Dafür gibt es ein Add-On, genannt Watchman!

https://github.com/dummylabs/thewatchman

und wie immer hilft auch die Forensuche:

1 „Gefällt mir“

Leider ist das nicht ganz, was ich suche. Zum einen muss man das immer manuell auslösen. Kann man aber anscheinend per Automatisierung regelmäßig starten. Zum zweiten findet er nur 47 von über 500 Entitäten.

Aktuell stehen einige der Entitäten auf “nicht verfügbar”, werden aber von Watchman nicht angezeigt.

Entweder mache ich was total falsch oder Watchman tut nicht was er soll.


-== Watchman Report ==- 

-== Congratulations, all 4 services from your config are available!

-== Congratulations, all 47 entities from your config are available!

-== Report created on 18 Nov 2023 19:20:17
-== Parsed 24 files in 0.08s., ignored 0 files 
-== Generated in: 0.00s. Validated in: 0.00s.

Mehr steht in dem Report nicht drin

Leg dir mal eine Markdown-Karte an mit folgendem Inhalt:

<h2> <ha-icon icon='mdi:shield-half-full'></ha-icon> Watchman report</h2> <h3>Missing Entities: {{ states.sensor.watchman_missing_entities.state }} </h3> {%- for item in state_attr("sensor.watchman_missing_entities", "entities") %} <hr> <table><tr> <td> <ha-icon icon='mdi: {%- if item.state=="missing"-%}cloud-alert' {%- elif item.state=="unavail" -%}cloud-off-outline' {%- else-%}cloud-question' {%- endif -%} ></ha-icon> {{ item.id }} [{{item.state}}] <a title="{{item.occurrences}}"> {{item.occurrences.split('/')[-1].split(':')[0]}}</a> </td></tr></table> {%- endfor %}

Die Markdown Karte hab ich schon. Die findet aber keine fehlenden Entitäten.

Ich habe aktuell mehrere ZigBee und WLAN Lampen ausgeschaltet. Die müssten eigentlich irgendwann gefunden werden. Scheint es aber nicht zu tun.

Wie gesagt, der Report scheint nur etwa 10% aller Entitäten anzuzeigen.

Ich habe gerade mal in die Doku von auto-entities geschaut. Da ist sowas beschrieben

type: custom:auto-entities
show_empty: false
card:
  type: entities
  title: Lights on
  show_header_toggle: false
filter:
  include:
    - domain: light
  exclude:
    - state: "off"
    - state: "unavailable"
    - hidden_by: "user"

https://github.com/thomasloven/lovelace-auto-entities
Könnte man noch ein bisschen ausbauen anhand der domain.

Die Auto Karte für Licht hab ich schon. Das Problem ist, dass nicht verfügbare Lampen als “an” dargestellt werden.

Kannst du dir mit den ganzen Beispielen und state: “unavailable” nicht was passendes basteln? Liste alles auf und exclude state: “available” o. Ä.

Versuch es mal so

type: custom:auto-entities
card:
  type: entities
  show_header_toggle: false
  title: 'Dein Titel '
  state_color: true
filter:
  include: null
  template: |
    {% for s in states and  s.state == "unavailable") %}
      {{ s.entity_id }}, 
    {% endfor %}
  exclude: []
show_empty: true
sort:
  method: state
  numeric: false
  reverse: false
  ignore_case: true

Leider gar nichts, obwohl ich mehrere “unavailable” Entitäten in den Entwicklerwerkzeugen sehen kann. Hab durch Zufall gesehen, dass ein Thermostat fehlt.

Weder Watchman noch dein Script zeigen was an.

Versuch es mal mit einer Markdown

type: markdown
content: |
  {% for e in states|selectattr('domain','in',['binary_sensor','light','sensor','switch'])|selectattr('state','in', ['unknown', 'unavailable'])|map(attribute='name')|list %}
  <ha-alert alert-type="error">{{ e }}</ha-alert>
  {% endfor %}

Watchman beobachtet mMn nur Entitäten, die weiter verarbeitet werden (z.B. in Automationen, Skipten, Scenen etc.).

Steckt das denn in einer Automation?

Nein, keine Automation. Aber das Licht im Bad steckt in einer Automation. Ich habe aber den Eindruck, dass fehlende Devices in Z2M in HA nicht als “unavailable” markiert werden.

In dem Fall scheint das Problem eher bei Z2M zu liegen.

Wird es denn in z2m als offline / nicht verfügbar angezeigt? Wenn ja, seit wann?

Hab es gerade mal getestet und eine Zigbee Steckdose gezogen. Nach 10 Minuten meldet sie z2m als offline und Watchman zeigt es an. Den 10 Min. Intervall kann man in z2m einstellen.

Da werde ich noch nicht schlau daraus. Ich habe in den Z2M Einstellungen bei Verfügbarkeit jetzt mal “advanced” eingestellt und die Standard Werte 10 und 1500 gelassen. Danach habe ich Z2M neu gestartet.

Ich habe aber eine Idee, woran das liegen könnte. In der automations.yaml stehen Entitäten mit ihrem Namen drin, zB entity_id: light.licht_esstisch oder mit ihrer ID entity_id: 783f3ff037ef6089583070594350dbf8

Die Esstisch Lampe wird jetzt als “unavail” angezeigt, die Lampe im Bad nicht. Kann das sein?

Nachtrag: Ich habe hier am Tisch drei GU10 Spots von Ikea. Einen davon hab ich schon eine Weile aus. Der ist in Z2M aber immer noch online. Hab jetzt mal alle drei ausgeschaltet.

Aber merkwürdig ist das schon.

Hab es gerade auch noch mal nachgestellt und ne Automation dahingehend geändert, dass jetzt nicht mehr

type: turn_on
device_id: 2d89c041ed86a469abafd608c6
entity_id: switch.maxe
domain: switch

sondern

service: switch.turn_on
data: {}
target:
  entity_id:
    - switch.maxe

steht.

Watchman zeigt es an, sobald es in z2m offline ist.

Wurde es vorher nicht angezeigt?

Doch, vorher auch. Ist die selbe Steckdose wie im ersten Test gewesen.

Ich habe gerade die Entity ID von dem Badezimmer Licht von der ID Nummer auf den ID Namen geändert (light.licht_bad). Mehr hab ich nicht gemacht. Jetzt wird es von Watchman gefunden.

Du hast die entity_id ja nicht geändert. Die war vorher schon “switch.maxe”

Dh die entity_id muss als Text drin stehen und nicht als 2d89c041ed86a469abafd608c6

Das könnte natürlich sein.