# Zendure - Daten über MQTT in Variablen schreiben

**URL:** <https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502>\
**Category:** Fragen & Hilfe\
**Created:** [November 1, 2024, 10:40am UTC](https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502 "2024-11-01T10:40:08Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Markus\_T](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/markus_t/32/12800_2.png) [@Markus\_T](https://community.homey.app/u/Markus_T)\
**Post date:** [November 1, 2024, 10:40am UTC](https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502/1 "2024-11-01T10:40:08Z")

</div>

Hallo miteinander,

zwecks Überwachung der zwei Speicher / Akkus meines Balkonkraftwerks möchte ich neben dem Speicherfüllstand auch die Zellspannungen sowie SoC auslesen und in entsprechende Variablen schreiben.

Aktuell nutze ich die Apps “MQTT Client” und “Logik” und mit dem “electricLevel” funktioniert das schon gut.

 ![MQTT_Trigger_electricLevel](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/5/55cdf369a9e0a7f3693a0af5cbf0038a6096b60e.png)

Leider scheitere ich momentan daran, die jeweiligen minVol, maxVol und SoC für den entsprechenden Speicher “sn”: xxx695 bzw “sn”: xxx341 in Variablen zu schreiben.

 ![_MQTT_695_SoC-77](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/0/10788bd4726b4fb998f19992722e4c3b49a2b630.png)

Gedacht ist Folgendes: erscheinen im “packData” Daten zum jeweiligen Akku xxx695, sollen die Werte maxVol, minVol und socLevel in die Variablen maxVol\_695, minVol\_695 und socLevel\_695 geschrieben werden.

Selbiges für den Akku xxx341

Manchmal kommen auch nicht alle Daten mit - hier zB. nur minVol für den xxx341.

 ![_MQTT_341_SoC-51_minVol](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/d/ad34bc078631361b93d47af653222361ce75d1d7.png)

Über den MQTT Client kommen die Daten so rein

 ![_MQTT-Client_log](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/0/e0dc1c65cddbcb61a969cc026b0081fd91ae06ef.png)

Hat jemand eine Idee, wie das funktionieren könnte?

Danke und noch einen schönen Tag,  
Markus

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [November 1, 2024, 11:02am UTC](https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502/2 "2024-11-01T11:02:21Z")

</div>

Hallo Markus und herzlich willkommen!

Die Daten eines JSON string zu “parsen” kann ich leider nicht, aber ich gehe davon aus, dass man einfach die einzelnen MQTT Topics über die MQTT Client App empfangen und dann in eine Variable schreiben lassen kann. Das mache ich z.B. mit meinem Hoymiles WR und der zugehörigen DTU so. Hier mal ein Beispiel:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/3/b3049600336bd8d7d83c660e460ff449e673fb8f.png)  
Anstelle die Werte in eine Variable schreiben zu lassen, lasse ich diese direkt in ein s.g. **A** dvanced **V** irtual **D** evice (AVD) mit der [Device Capabilities](https://homey.app/a/nl.qluster-it.DeviceCapabilities) App.

Wie die einzelnen MQTT Topics heißen, kann man auf dem Rechner mit dem [MQTT Explorer](http://mqtt-explorer.com) herausfinden. Kennst Du Dich bereits damit aus?

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [November 1, 2024, 9:45pm UTC](https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502/3 "2024-11-01T21:45:12Z")

</div>

> [@Markus\_T](#):
>
> ![_MQTT_695_SoC-77](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/0/10788bd4726b4fb998f19992722e4c3b49a2b630.png)
> 
> Gedacht ist Folgendes: erscheinen im “packData” Daten zum jeweiligen Akku xxx695, sollen die Werte maxVol, minVol und socLevel in die Variablen maxVol\_695, minVol\_695 und socLevel\_695 geschrieben werden.

Mal etwas technisch 🙂

- `packData` ist das erste Element des JSON Objekts.  
Der Pfad wäre damit einfach `packData`

- `packData` enthält als nächstes ein Array (Liste). den ersten  
Listeneintrag (Index=0!) rufst du auf mit `packData[0]`

- Die “Zeile” ist ein JSON Objekt mit Feld `minVol`  
Das rufst du auf mit `packData[0].minVol`

---

<div class="post-metadata">

**Author:** ![Markus\_T](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/markus_t/32/12800_2.png) [@Markus\_T](https://community.homey.app/u/Markus_T)\
**Post date:** [November 2, 2024, 9:35am UTC](https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502/4 "2024-11-02T09:35:37Z")

</div>

Moin Ronny und Dirk,

erst mal vielen Dank für die schnellen Rückmeldungen / Antworten!

Ronny, Dein Tipp bzw Deine Erklärung war der Brustlöser - jetzt klappt’s, ich kann alle Daten auslesen!

Vielen Dank und Euch ein schönes WE!

Viele Grüße, Markus

… so sieht es jetzt in Homey aus (ein Ausschnitt) …

 ![MQTT_Trigger_Vol_SoC_etc](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/4/74b532c2f21e43c67e1fc7bbda23e4c5f742d697.png)

---

<div class="post-metadata">

**Author:** ![Markus\_T](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/markus_t/32/12800_2.png) [@Markus\_T](https://community.homey.app/u/Markus_T)\
**Post date:** [November 2, 2024, 9:42am UTC](https://community.homey.app/t/zendure-daten-uber-mqtt-in-variablen-schreiben/119502/5 "2024-11-02T09:42:52Z")

</div>

Moin Dirk,  
danke Dir, die AVDs und die Device Capabilities werde ich mir mal genauer anschauen - es ist ja Winterzeit und abends outdoor ist ja nicht mehr so schön, wie im Sommer… 😉  
Viele Grüße, Markus
