Hallo
ich hätte gerne die Anzahl von Geräten in einer Integration als Sensor/Entität
muss ja eigentlich vorhanden sein, steht ja hier:
Hallo
ich hätte gerne die Anzahl von Geräten in einer Integration als Sensor/Entität
muss ja eigentlich vorhanden sein, steht ja hier:
Moin, dass hatte ich letztens auch erst gemacht. Einen Sensor habe ich dafür nicht gefunden, daher mache ich es über ein Template.
Hier das Template zum Auslesen.
{{ integration_entities('shelly') | map('device_id') | unique | list | count }}
Mein Sensor:
template:
- sensor:
- name: "Shelly Geräteanzahl"
state: "{{ integration_entities('shelly') | map('device_id') | unique | list | count }}"
unit_of_measurement: "Geräte"
ich schau ja gerade auch selber nach
{{ integration_entities('shelly') }}
gibt mir alle entities, hilft mir nicht
die ist auch nett, aber im ‚count‘ stehen bei Shelly auch wieder die Anzahl der entitäten
{% set ns = namespace(items = []) %}
{% for item in states | map(attribute='entity_id')
| map('device_attr', 'identifiers') | reject('none')
| map('first') | select('defined')
| map(attribute='0') | unique %}
{% set entities = integration_entities(item) %}
{% set ns.items = ns.items + [ { 'integration': item, 'count': entities | count} ] %}
{% endfor %}
{{ ns.items | sort(attribute='count', reverse=true) }}
ich verrenne mich, daher warte ich mal auf Euch
DANKE schön
Bitte schön…
Das ist ja genau das was ich suche, obwohl ich gar nicht explizit oben nachgefragt habe
Er zeigt ja auch wirklich nur die „online“ Shellys
Highlight Frage:
bekomme ich auch:
Nicht getestet, aber müsste dann einfach zu erweitern sein. Habe jetzt einfach noch select('is_state', 'unavailable')
dazwischen eingefügt. Dann sollten die „offline“ Geräte angezeigt werden. Einen zweiten Sensor brauchst du dann logischerweise auch, aber brauche ich dir ja nicht zu erklären.
{{ integration_entities('shelly') | map('device_id') | unique | select('is_state', 'unavailable') | list | count }}
Leider nicht, der „offline“ ist ja schon bei deinem ersten ignoriert
Habe gerade etwas weiter getestet und festgestellt das hier etwas nicht stimmt
Es wurde ein eingesteckter Plug S nicht hochgezählt
in meinem „Helfer Template Sensor“ steht auch unten das:
und hier sieht man auch die unterschiedliche Anzahl der Geräte (gleicher Sensor)
sieht man auch in den Entwicklerwerkzeugen:
also wäre richtig:
template:
# Shelly mit Trigger
- trigger:
- platform: time_pattern
minutes: "/1"
sensor:
- name: "Shelly Geräteanzahl Trigger"
state: "{{ integration_entities('shelly') | map('device_id') | unique | list | count }}"
unit_of_measurement: "Geräte"
unique_id: shelly_geraeteanzahl_trigger_0000000000
Gruß
Aber beim ausstecken eines Plug S wird in der Integration das Gerät nicht mehr auf „Einrichtungsfehler“ (also rot mit Warnung) umgestellt.
Das war in einer älteren HA Version meines Erachtens anders
Deshalb wird auch der Wert nicht verringert!
Erst wenn diese Integration neu gestartet wird oder HA neu gestartet wird.
Ist also etwas ……
mal schauen was ich mache (also alle einzeln abfragen mache ich nicht)
Ist aber alles nur zur Info
Hi, du sollst nicht soviel testen. aber ja das ist richtig, der wird nur aktualisiert wenn HA neu gestartet wird, weil da keine Entität hinterlegt ist, die den Sensor aktualisiert. Mir reicht das so aus, HA wird oft genug neu gestartet.
Wenn er sich immer wieder aktualisieren soll kann man es so wie du über Zeittrigger oder über eine Entität machen, die halt immer mal aktualisiert wird. Jede Minute muss das eigentlich nicht geprüft werden.
Hier mal ein Beispiel mit meinem Innenlüfter (der ist nur ein paar Mal am Tag an). Geht aber mit einem Switch usw. auch.
- sensor:
- name: "Shelly Gerätetest"
state: "{{ integration_entities('shelly') | map('device_id') | unique | list | count }}"
unit_of_measurement: "Geräte"
attributes:
entity_id: sensor.innenlufter_shellyplug_switch_0_power