Eine Frage an die MQTT-Sensor-Spazialisten:
Ich würde gern die Speicherdaten der Homey-Apps in HA anzeigen. Dazu exportiere ich die sortierte Liste über HomeyScript und Flow per MQTT an HA.
Der Topic-Inhalt sieht so aus:
[{“name”:“Homey”,“size”:130.37},{“name”:“Andere”,“size”:38.35},{“name”:“MQTT Hub”,“size”:36.41},{“name”:“HomeyScript”,“size”:19.19},{“name”:“LinkTap”,“size”:19.16},{“name”:“Ubiquiti UniFi Network”,“size”:17.52},{“name”:“Homey Heizungsplaner”,“size”:17.11},{“name”:“Philips Hue”,“size”:16.22},{“name”:“Heimdall”,“size”:14.96},{“name”:“MQTT Client”,“size”:14.61},{“name”:"< group >",“size”:14.39},{“name”:“Yamaha”,“size”:14.33},{“name”:“Grünbeck”,“size”:14.31},{“name”:“Amazon Alexa”,“size”:13.74},{“name”:“INNR Lighting Devices”,“size”:11},{“name”:“Chronograph”,“size”:10.34},{“name”:“Aqara & Xiaomi ZigBee”,“size”:9.93},{“name”:“Sony BRAVIA Android TV”,“size”:8.68},{“name”:“Nuki”,“size”:8.28},{“name”:“Bosch-Siemens Home Connect”,“size”:8.13},{“name”:“Enelogic and Youless”,“size”:7.28},{“name”:“Blink”,“size”:7.16},{“name”:“Fibaro”,“size”:6.89},{“name”:“HTTP request flow cards”,“size”:6.72},{“name”:“Eurotronic Technology (Z-Wave)”,“size”:6.56},{“name”:“Dashboard Controller”,“size”:5.98},{“name”:“Virtuelle Geräte”,“size”:5.94},{“name”:“Heiman”,“size”:5.44},{“name”:“Google Chromecast”,“size”:5.14}]
Also ein Array mit name/size-Werten.
Den String kann ich nicht in einen MQTT-Sensor übehmen, weil zu lang (beschränkt in HA auf 255 Zeichen).
Ich wollte das aber auch in eine Entität übernehmen und darin eine Attributliste (oder so etwas in der Art) erstellen.
Ein Beispiel für eine Werteliste liefert ja z.B. der Deutsche Wetterdienst:
Gibt es eine Möglichkeit, den JSON-Inhalt in so eine Werteliste eines Entity-Attributes zu übernehmen?
Ich kann zwar mit diesem Template die EInzelelemente unter Entwicklerwerkzeuge/Vorlage anzeigen:
{% set value_json = [{“name”:“Homey”,“size”:130.37},…]
%}
{% for app in value_json %}
{{ app.name, app.size }}
{% endfor %}
Aber ich habe im Netz noch keine Möglichkeit gefunden, wie Inhalte in ein Attribut zu übernehmen.
Letztendlich würde ich in HA gern eine Liste dieser Elemente darstellen. Ich vermute, dass ich dafür solche eine Kombination von Entity/Attribut-Liste brauche.
Habt ihr eine Idee dazu?
EDIT:
Ich hab’s gefunden…
MQTT-Sensor in HA:
- platform: mqtt
name: homeySystemMemoryAppList
state_topic: ‘homey_publish/SystemMemoryUsed’
json_attributes_topic: 'homey_publish/SystemMemoryAppList’
value_template: ‘{{ value_json }}’
Der JSON-String muss folgenden Aufbau haben:
{“apps”:{“Homey”:“133.92”,“MQTT Hub”:“45.51”,“Andere”:“32.46”…}}
Durch das “apps”-Element erhält man in HA diese Entität mit Attributen: