Smart Home

Anleitung: Zendure SolarFlow & SuperBase in Home Assistent einbinden

Aktuell gibt es viel Aufmerksamkeit rund um die ersten Speichersysteme für Balkonkraftwerke und natürlich Powerstations im Allgemein. Einer der Hersteller, der hier mit großen Schritten vorangeht, ist Zendure. In dieser Anleitung erkläre ich euch, wie ihr das SolarFlow System oder SuperBase Powerstations in Home Assistant einbinden könnt.

Über Home Assistant als Smarthome-Plattform brauche ich an dieser Stelle wohl keine großen Worte mehr zu verlieren. Das Smarthome-Hub lässt sich beispielsweise in einem Docker-Container auf einem NAS installieren oder kann natürlich auch auf einer dedizierten virtuellen Maschine betrieben werden.

In dieser Anleitung gehen wir deshalb davon aus, dass ihr bereits ein laufendes Home Assistant System zu Hause habt. Ziel ist es, die Daten, welche Zendure in seiner App bereitstellt, über eine direkte API-Verbindung auch in Home Assistant verfügbar zu machen. Auf geht’s.

Zendure Operating System als Schnittstelle für Home Asisstant

Zendure macht eine Sache richtig, die viele andere Hersteller (derzeit) noch verschlafen: Es gibt tatsächlich eine offene Schnittstelle, die euch das Abfragen der Echtzeitdaten bestimmter Produkte ermöglicht. Das Unternehmen nennt das Ganze „Zendure Operating System“.

Unterm Strich handelt es sich dabei um einen in der Zendure Cloud gehosteten MQTT-Broker, der die Daten von eurem SolarFlow PV-Controller (ja, das klappt!) oder SuperBase Powerstation direkt an Home Assistant pushed.

Die Dokumentation auf der zugehörigen GitHub-Seite ist (zum Zeitpunkt der Veröffentlichung dieses Artikels) noch ziemlich rudimentär. Daher habe ich im Folgenden die wichtigsten Schritte zusammengefasst, um die Sache einfach zum Laufen zu bringen.

Die Voraussetzungen

Bevor es losgehen kann, müssen einige Dinge von euch erledigt werden. Wer sein SolarFlow- oder SuperBase-System bereits betreibt, dürfte diese Dinge aber ohnehin schon erledigt haben:

  1. Zendure App auf dem Smartphone installieren (Android / iOS)
  2. Account erstellen
  3. Zendure Produkt (SolarFlow, SuperBase, etc) über WiFi mit der App (und damit mit der Zendure Cloud) verbinden
  4. Seriennummer von SolarFlow / SuperBase bereithalten

Alles parat? Dann geht’s weiter.

MQTT-Zugriff generieren

Selbstverständlich muss Zendure alle API-Calls authentifizieren. Ansonsten könnten ja Dritte einfach die Daten eures Systems abfragen. Die Anmeldung am MQTT-Broker von Zendure erfolgt dabei aber nicht direkt über die Nutzerdaten, die ihr für euren Account in der App vergeben habt – das wäre ja zu einfach.

Stattdessen müssen wir uns einen App-Key und einen Token generieren, mit dem wir uns am Server anmelden können, um Daten zu empfangen.

Ich beschreibe das Vorgehen hier unter macOS / Linux. Windows-Nutzer müssen hier kurz recherchieren, wie sie am besten einen REST-API-Call absetzen können. Unter macOS Ventura funktioniert das mit Bordmitteln.

Schritt 1: REST-Call vorbereiten

Als Erstes öffnet ihr ein neues Terminal-Fenster. Mit dem curl-Befehl lässt sich die Anfrage zur Generierung der Zugangsdaten an die Zendure Cloud senden. Dazu müsst ihr im folgenden Befehl entsprechend eure Daten eintragen.

curl -H "Content-Type: application/json" -X POST -d '{"snNumber":"EURE-SERIENNUMMER","account": "EUER-APP-NUTZERNAME"}' https://app.zendure.tech/v2/developer/api/apply

Schritt 2: Payload vorbereiten

Die Anfrage hat eine Payload mit zwei Attributen:

  • snNumber: ist die Seriennummer des mit eurem Account verbundenen Gerätes (SolarFlow, SuperBase, etc). Diese findet ihr in der Zendure App unter den Geräteeigenschaften ganz oben. Sie steht auch auf dem Aufkleber des Gerätes selbst.
  • account: Ist die Email-Adresse, die ihr für euren Zendure-App-Account verwendet habt.

Ausgefüllt sieht das Ganze als beispielsweise so aus:

curl -H "Content-Type: application/json" -X POST -d '{"snNumber":"Z9U7DHEF","account": "beispiel@email.com"}' https://app.zendure.tech/v2/developer/api/apply

Schritt 3: Daten dokumentieren

Der Server von Zendure antwortet dann mit den entsprechenden Authentifizierungsdaten für den MQTT-Server:

{"code":200,"success":true,"data":{"appKey":"Z7383x8","secret":"FBD7923923DHL389023","mqttUrl":"mqtt.zen-iot.com","port":1883},"msg":"Successful operation"}

Ihr bekommt also eine Payload mit allen Informationen zurück, die ihr für die Anmeldung beim Zedure-MQTT-Server in Home Assistant benötigt. Wichtig sind hier „appKey“, „secret“, die Server-URL und der Port.

Diese Informationen speichert ihr euch am besten direkt in eurem Passwortmanager ab.

SolarFlow und SuperBase Sensoren in Home Assistant einbinden

Jetzt haben wir bereits alle Informationen zusammen, um die Daten von der Zendure-Cloud in Home Assistant einzubinden.

Dazu verwenden wir natürlich die standardmäßig verfügbare MQTT-Integration in Home Assistant:

Menü -> Einstellungen -> Geräte und Dienste -> „+ Neue Integration hinzufügen“ -> nach „MQTT“ suchen -> „MQTT“ auswählen.

Zendure Home Assistant MQTT Konfig 1

Im nächsten Schritt werden mehrere Templates angeboten. Wir wählen hier die oberste Option und ignorieren die Presets.

Jetzt verlangt das System nach den oben generierten Zugangsdaten. Hostname und Port erklären sich von selbst. Der appKey wird als Benutzer eingetragen, das secret ist das Passwort.

Die „erweiterten Optionen“ können deaktiviert bleiben.

Wichtig: Im nächsten Dialog muss unbedingt der Standardwert für den „Discovery-Präfix“ angepasst werden.

Auch hier tragt ihr noch einmal den appKey ein. Home Assistant kann dann automatisch in dem MQTT-Topic nach Sensoren suchen, die zu euren Zendure-Geräten gehören und die automatisch auch als Entitäten zur Verwendung in Home Assistant angelegt werden.

Jetzt erstmal speichern. Home Assistant prüft die Verbindung. Dann dauert es einige Sekunden und im „Geräte und Dienste“-Menü werden unter der MQTT-Integration nach und nach alle Entitäten aufgelistet. Diese könnt ihr hier auch direkt verwalten (umbenennen, Symbole zuweisen…).

Diese HASS-Sensoren sind für SolarFlow verfügbar

Anhand des SolarFlow-Systems werden aktuell folgende Sensoren / Eigenschaften über das MQTT-Topic aus der Zendure-Cloud an Home Assistant übertragen:

Name der EntitätBedeutung
buzzerSwitchTon-Ausgabe am PV-Hub [An/Aus]
electricLevelAktueller Ladestand des Akkus [%]
hubState?
masterSwitchGerätestatus [An/Aus]
outputHomePowerAktuelle Ausgabeleistung (an Wechselrichter) [W]
outputLimitMaximal erlaubte Leistung an Wechselrichter (?) [W]
outputPackPowerEntnahmeleistung aus Akku W]
packInputPowerLadeleistungeistung in Akku [W]
packNum?
packState?
remainInputTimeverbleibende Ladezeit bei aktueller Ladeleistung (?) [s]
remainOutTimeverbleibende Entladezeit bei aktueller Entnahmeleistung (?) [s]
socSetEingestellte SOC-Obergenze [%]
solarInputPowerAktuelle PV-Leisgung [W]

Die Datenübertragung in der App ist dabei derzeit offensichtlich grundsätzlich stabiler, als über MQTT an Home Assistant. Teilweise kommen für einige Sekunden keine Daten aus der Cloud. Home Assistant hat in seinen Wertereihen dann fehlende Werte. Das muss man für eine mögliche Energiemengenberechnung aus den Leistungswerten dann ggf. berücksichtigen / glätten.

Im Bestfall kommen für jeden Sensor aber tatsächlich sekündlich Daten über MQTT in Home Assistant aus der Cloud an.

Schlusswort

Ich hoffe, euch hat diese Anleitung dabei geholfen, euer Zendure-System in Home Assistant zu integrieren. Aktuell läuft das alles noch über MQTT. Ich würde mir wünschen, dass wir mit steigender Verbreitung der Zendure-Produkte vielleicht eines Tages eine eigene Zendure-Integration für HASS zu sehen bekommen.

Bis dahin: Viel Erfolg mit eurem Setup und viel Spaß beim Experimentieren.

Hinweis: Mit Sternchen (*) markierte Links sind Affiliate-Links / Partnerlinks. Mit einem Kauf über diesen Link erhalten wir als Seitenbetreiber eine Verkaufsprovision. So kannst du das Projekt ganz einfach unterstützen. Mehr Informationen dazu findest du hier.

54 Gedanken zu „Anleitung: Zendure SolarFlow & SuperBase in Home Assistent einbinden

  • Hallo, bin nach der Anleitung vorgegangen. Die Sensoren von Solarflow werden in HA angezeigt, aber ich kann diese nicht im Energy Dashboard einbinden, da sie im Feld „device_class“ nicht „energy“ stehen haben sondern „power“. Kann man das anpassen? Soweit habe ich das zumindest verstanden.

    Grüße
    Benjamin

    Antwort
    • Hallo Benjamin,

      schön, dass es prinzipiell schon einmal klappt. Das Energy-Dashboard will einen Sensorwert haben, der eine Energiemenge repräsentiert. Das System gibt aber leider nur eine Leistung und keine kumulierte Energiemenge aus. Die müsstest du also über die Zeit mit einem Custom Sensor aufsummieren und dann diesen Wert verwenden (Leistung * Zeit = Energie).

      Viele Grüße,
      Nils

      Antwort
      • Hallo Nils,

        vielen Dank für die grundlegende Anleitung, die nachdem ich den REST-Call mit dem europäischen Server probierte mir die Authentifizierungswerte zurückgab. Wäre es vermessen zu fragen, ob Du auf die Umrechnung näher eingehen könntest. Ich habe schon Probleme aus den zahlreichen Entitäten die Richtigen rauszusuchen. Um das Energie-Dashboard für den Batteriespeicher zu konfigurieren benötigt man ja die Energie, die in die Batterie fließt und die aus der Batterie abgegeben wird. Und welchen Zeitwert sollte ich nehmen. Eventuell könntest Du die Anleitung ja erweitern.

        Viele Grüße

        Andreas

        Antwort
        • Hallo Andreas,

          derzeit fehlt mir leider die Zeit, um an der Anleitung zu arbeiten.

          Dein Anwendungsfall sollte sich aber mit der Utility Meter Integration (https://www.home-assistant.io/integrations/utility_meter/) abdecken lassen. Diese nimmt als Input einen Leistungswert (z.B. Input und Output Power von der Zendure) und integriert die Energie entsprechend über die Zeit auf. 🙂

          Viele Grüße,
          Nils

          Antwort
  • Hallo!

    Toll, dass du dich diesem Thema angenommen hast.
    Gerne möchte ich die Daten in einem mqtt Client ansehen.
    Ich bekomme zwar das connect, jedoch Keine Daten.
    Ich habe die apps TTQM und MQTT Explorer benutzt.

    Über HASS funktioniert alles!

    LG
    misg

    Antwort
    • Hallo misg,

      danke für deinen Kommentar. Hast du den Discovery-Präfix in den anderen beiden Clients angepasst? Sonst bekommst du nur eine Verbindung, siehst aber das Topic nicht zwingend.

      Grüße,
      Nils

      Antwort
  • Hallo Nils,

    ich dachte mir schon, dass es wohl daran liegt! Dies schreibstdu ja auch in deinem Blog.

    Leider gibt es ein solches Datenfeld in diesen MQTT Clients nicht. Gibt es äquivalente Namen dür den Discovery-Präfix? Wenn ich es richtig interpretiere ist es doch ein Such-Präfix?

    Du merkst es sicher, ich habe hatte nicht viel Berührung mit MQTT.

    LG

    Michael

    Antwort
    • Hallo misg,

      der Discovery-Prefix ist quasi der Wurzel-Pfad des MQTT-Topics. Der Aufbau in Home Assistant ist //[/]/config. Im Normalfall ist der Prefix auf „homeassistant“ gesetzt. Das funktioniert aber mit dem Zendure-Topic nicht, daher wird dieses geändert.

      In den anderen Clients musst du das Topic dann entsprechend analog ansprechen. Ich kenne aber leider deren Funktionsweise in diesem Punkt nicht. 🙁

      Viele Grüße,
      Nils

      Antwort
  • Hallo,
    super Anleitung, hat alles auf Anhieb funktioniert. Die Daten kommen schnell rein.
    Habe dazu extra Home Assistant in meinem Proxmoxserver installiert- und es klapp alles.
    Auch die Intergation in Iobroker über den Adapter Hass läuft zuverlässig.
    Da ich in meinem „Homesystem“ schon den MQTT Explorer nutze, würde ich die Datenabfrage bei Zendure darüber abwickeln. Die zahlreichen Daten gehen dann an den Iobroker MQTT-Client.
    Dies möchte ich auch für Zendure einrichten.
    Geht dies? und wie ???
    MfG
    KHK

    Antwort
    • Hallo KHK,

      das sollte prinzipiell möglich sein. Wie aber misg schon geschrieben hat, scheinen wir hier erst noch die richtige MQTT-Konfig finden zu müssen. Ich habe es aber noch nicht mit anderen MQTT-Tools probiert und im Moment fehlt mir leider auch die Zeit.

      Solltet ihr etwas herausfinden, teilt die Infos sehr, sehr gerne hier! 🙂

      Viele Grüße,
      Nils

      Antwort
      • Hallo Nils,
        vielen Dank für die schnelle Antwort. Dann werde ich hier regelmäßig mal reinschauen, ob es was neues gibt.
        Nebenbei eine ganz andere Frage zum ZendureFlow:
        Vielleicht gibt es da schon Lösungen oder Erkenntnisse? Herr „Google“ ist da bis jetzt ratlos ??
        Ich will mein Akkuanschlusskabel vom Hub zum Akku verlängern – (Akku frostsicher unterbringen).
        Also Kabel in der Mitte trennen – über Abzweigdosen Verlängerung zum anderen Ende des Akkukables.
        Ich frage hier mal nach dem Motto: Kennt man jemanden, der einen kennt, der das weiß :-)))
        Viele Grüße
        Karl-Heinz

        Antwort
        • Hallo KHK,

          das ist bei diesem Spezialkabel natürlich eine kniffelige Sache. Möglich ist es sicher irgendwie. Das Wichtigste dürfte die Verwendung hochwertiger und für die Querschnitte / Ströme zugelassener Klemmen sein. Bin da aber kein Profi. Was dann mit der Garantie des Gerätes passiert, solltest du vorher aber wohl prüfen.

          Viele Grüße,
          Nils

          Antwort
          • Hallo Nils,
            danke für die Informationen. Ich hatte nun Kontakt zu Zendure-Support, die haben innerhalb von 3 Tagen geantwortet und mir u.a. von einer Verlängerung abgeraten – dann lasse ich es auch.
            Baue mir nun eine gedämmte Box mit geregelter Heizung/Kühlung.
            ZumThema MQTT Explorer oder Iobroker MQTT-Client:
            Habe von „misg“ die Kommentare verfolgt. Im letzten beschreibt er ja den Topic, damit kann ich was anfangen, aber wo und was trägt man bei den anderen Datenpunkten ein?
            Gibr es dafür schon eine Zusammenfassung?
            Viele Grüße Karl-Heinz

        • Hallo Karl-Heinz,
          ist vielleicht nicht auf den Punkt das was du suchst, aber dennoch wert
          anzuschauen!
          RedOdo 48V 100Ah + Zendure Solarflow – YouTube

          LG

          misg

          Antwort
  • Hallo Nils,

    der Topic ist

    „appkey“/#

    LG

    midg

    Antwort
    • Hallo misg,

      danke dir. Das heißt, damit läuft es jetzt bei dir?

      Grüße,
      Nils

      Antwort
  • Moin,

    ich kann nun die Daten sowohl im iobroker empfangen, als auch mit einer mqtt app!
    Was mir noch nicht gelungen ist, nur einen speziellen Wert auszulesen.
    Beispiel: nur den Wert für die Kapazität der Batterie „electricLevel“.
    Im iobroker, als auch in den mqtt apps werden config-zeilen gezeigt:

    {„unique_id“:“tt8119mcelectricLevel“,“state_topic“:“eysh69YL/tt8119mc/state“,“unit_of_measurement“:“%“,“command_topic“:“eysh69YL/tt8119mc/electricLevel/set“,“name“:“electricLevel“,“device_class“:“battery“,“value_template“:“{{ value_json.electricLevel}}“}

    Damit weiss ich nicht umzugehen.

    Hast du eine Idee?

    LG

    misg

    Antwort
  • Freue mich, dass es diese Lösung gibt und es scheint auch alles simple.
    Aber ich finde kein Discovery-Präfix und habe bei MQTT auch nur ein Entität darunter stehen.
    Auch der Server ist nicht darüber angezeigt.

    Die Generierung lief aber mit „success“.
    Erst dachte ich dass meine Email-Adresse vorne groß geschrieben wird, war der Fehler und machte es erneut, aber AppKey und Secret-PW waren identisch.
    Ich bin mir auch nicht sicher, ob die SN des SolarFlow nur als Dummy so kurz (7 Zeichen). Meine ist deutlich länger…

    Weiß einer Rat?

    LG
    Chris

    Antwort
    • Hallo Chris,

      ja, die Seriennummmer im Artikel ist ein Dummy – hast du Recht. Die echte ist länger. Sofern du via Terminal ein Token mit „Success“ zurückbekommst, sollten die Daten stimmen.

      Hast du die aktuellste Home Assisstant Version installiert? Eigentlich sollte das Feld ganz normal im MQTT-Assistent auftauchen.

      Viele Grüße,
      Nils

      Antwort
      • Hallo Nils,
        danke für die Info mit der SN.
        Ja, alles aktuell im HomeAssistant und Success mit den beiden Werten kam auch zurück.
        Muss ich noch ein Script ausführen oder einsetzen (configuration.yaml oder so) ?

        MQTT steht immer noch nur mit „1 Eintrag“ dort. Diesen aufgerufen findet sich nur:

        Integrationseinträge
        mgtt.zen-iot.com
        Keine Geräte oder Entitäten

        Mhhm..

        Antwort
        • Hi Chris,

          eine Anpassung an der configuration.yaml ist nicht notwendig, da ja alles über die MQTT-Integration läuft. Ist also alles rein im Frontend zu machen.

          Das Präfix gibst du im zweiten Schritt der Konfiguration ein. Bei dir sieht es so aus, als hätte er zwar eine Verbindung aufgebaut zum Server, jedoch wurde das richtige Topic nicht gefunden. Das Werte geliefert werden (das Zendure-Gerät also Daten sammelt) ist sichergestellt, oder?

          Viele Grüße,
          Nils

          Antwort
          • Hallo Nils,
            zumindest sehe ich die in der App, also sind sie ja in der Cloud.

            Genau das verstehe ich nicht. Warum mir dieser kleine finale Schritt, damit er zu lesen anfängt, nicht möglich sein will?!
            Ich würde mich nämlich sehr freuen, wenn ich hier endlich outputgerecht steuern könnte…

            Und deine Anleitung ist ja eigentlich absolut einfach und perfekt dargestellt.

            VG
            Chris

          • Hallo Chris,

            wirklich komisch. Ich habe dir im Artikel noch mal ein Bild von dem Dialog mit dem Discovery-Präfix eingefügt.

            Hast du sonst die Möglichkeit eine Vanilla-Installation von Home Assistant in einem neuen Container (oder einer VM) für einen Test aufzusetzen und zu prüfen, ob es hier klappt? Es ist natürlich nie auszuschließen, dass mit der HASS-Konfig generell etwas nicht stimmt.

            Viele Grüße,
            Nils

          • Hi Nils,

            ich kann Dir nicht sagen, wie es jetzt genau dazu kam, ich habe in den Erweiterungen (bei der Einrichtung/Konfig MQTT) rumgespielt (Protokoll von AUS auf Auto und wieder zurück oder so…), die ja eigentlich unangetastet bleiben sollten und plötzlich kam auch die Maske mit dem Discovery Präfix.

            Nun habe ich schon mal 8 Enititäten! 🙂 THX!!

            Gruß
            Chris

          • Hi Chris,

            sehr cool! Viel Spaß damit! Bis alle Entitäten auftauchen, kann es etwas dauern (einige Minuten).

            Viele Grüße,
            Nils

  • Hallo misg,

    man kann aus dem Iobroker-Client nur aus dem Datenpunkt:

    9Faxxxxx/Qa62xYuT/state

    Werte auslesen.

    Beispiel für einige Werte:
    {„solarInputPower“:385,“outputPackPower“:365,“packInputPower“:100,“packInputPower“:100,“outputHomePower“:100,“electricLevel“:100,}

    komplett: (es werden aber nicht alle Daten von Zendure übertragen ???)
    habe die einzelnen Namen aus
    9Faxxxxx/sensor/device/Qa62xYuTsolarInputPower/config kopiert

    {„solarInputPower“:385,“outputPackPower“:365,“packInputPower“:100,“packInputPower“:100,“outputHomePower“:100,“outputLimit“:100,“inputLimit“:100,“remainOutTime“:100,“remainInputTime“:100,“packState“:100,“packNum“:100,“electricLevel“:100,}

    Habe die „100“ nur als Platzhalter eingetragen

    Iobroker Script : (nicht vollständig)

    0_userdata.0.MQTT-Zendure.Wert_aus_MQTT_auswählen_9Faxxxxx/Qa62xYuT/state
    any

    ZendureObjekt

    val
    0_userdata.0.MQTT-Zendure.Wert_aus_MQTT_auswählen_9Faxxxxx/Qa62xYuT/state

    ObjektZendure

    ZendureObjekt

    0_userdata.0.MQTT-Zendure.outputHomePower
    FALSE

    outputHomePower

    ObjektZendure

    0_userdata.0.MQTT-Zendure.solarInputPower
    FALSE

    solarInputPower

    ObjektZendure

    0_userdata.0.MQTT-Zendure.electricLevel
    FALSE

    electricLevel

    ObjektZendure

    0_userdata.0.MQTT-Zendure.outputPackPower
    FALSE

    outputPackPower

    ObjektZendure

    0_userdata.0.MQTT-Zendure.packInputPower
    FALSE

    packInputPower

    ObjektZendure

    Textdatei einfach in Iobroker –Script einfügen.
    Dient als Ansatz, ist ausbaufähig – Fehler noch möglich .
    Hinweis, wenn einige Datenpunkte „null“ anzeigen – ändert sich, wenn diese von Zendure übertragen werden.

    Ich hoffe, dass ich helfen konnte
    PS: heute durch viel ausprobieren gefunden

    VG
    Karl-Heinz

    Antwort
    • Hi Karl-Heinz,

      klasse! Vielen Dank für’s Teilen! Auch guter Tipp mit den initialen „NULL“-Werten.

      Viele Grüße,
      Nils

      Antwort
  • Hallo Zusammen,

    Ich frage den Zendure MQTT Broker mit NodeRed ab und schiebe die Daten in eine InfluxDB. Dort liegen auch die Daten anderer Sensoren. Das Ganze visualisiere ich mit Grafana. So weit so gut läuft das recht stabil. Wie oben schon erwähnt, kommen tatsächlich für einen kurzen Zeitraum mal keine Daten, das stört mich aber nicht. Meine eigentliche Energiemessung mache ich mit lokalen Sensoren.

    Und jetzt komme ich zu meinem Problem. Ich würde gerne das outputLimit über MQTT verändern. Über die App geht das in 100Watt Schritten. Über den MQTT Explorer findet man etwas unter folgenden Topic

    xxxxxxxx/sensor/device/yyyyyyyoutputLimit/config

    {
    „unique_id“:“yyyyyyyoutputLimit“,
    „state_topic“:“xxxxxxxx/yyyyyyy/state“,
    „command_topic“:“xxxxxxxx/yyyyyyy/outputLimit/set“,
    „name“:“outputLimit“,
    „value_template“:“{{ value_json.outputLimit}}“
    }

    Ich habe schon ein Reihe an Syntaxen versucht um einen MQTT Set Befehl abzusetzen, leider ohne Erfolg. Ich weiss nicht mal ob man was in Richtung Zendure pushen kann?

    Auf der Git Seite gibt es schon einen Issue dazu:
    https://github.com/Zendure/developer-device-data-report/issues/25

    Hat vielleicht jemand hier eine Idee?

    Antwort
    • Hallo Borkk,

      gute und sehr interessante Frage. Ich befürchte, aktuell ist das alles via MQTT read-only. Ich denke Zendure wird hier in der App wohl eine andere API nutzen (ist aber nur eine Annahme), um das Output-Limit zu setzen.

      Viele Grüße,
      Nils

      Antwort
      • Hallo Nils,

        ich denke auch das der MQTT Broker ReadOnly ist. Was allerdings dagegen spricht, ist die Tatsache, dass ich beim testen verschiedener Syntaxe, es geschafft habe das outputLimit auf 0W zu setzen. Ich bin leider kein Entwickler und bin mir daher nicht sicher wie ein passender „MQTT set Befehl“ aussehen müsste. Wenn mir jemand dabei helfen kann, bekommen wir es u.U. doch hin.

        Antwort
        • Oh das wäre spannend. Wenn man nämlich den Output Wert über MQTT setzen könnte dann könnte man das was sonst diese Zendure SmartPlugs machen viel besser und genauer mit HomeAssistant abbilden.

          Antwort
    • Hallo würdest du uns deinen NodeRed Flow und das Grafana Board teilen ?

      Antwort
  • Moin,
    ich bekomme nie Werte für packInputPower, stattdessen bekomme ich immer packInputPower. Egal ob geladen oder entladen wird. Woran kann das liegen?

    Antwort
    • Hallo Marvin,

      ich glaube, du hast dich vertippt, oder? Woran es liegt, dass nur bestimmte Werte ankommen, kann ich leider auch nicht sagen. Das höre ich so selektiv zum ersten Mal.

      Viele Grüße,
      Nils

      Antwort
      • Ja tatsächlich, ich bekomme nur output Werte egal in welche Richtung der Strom fließt.

        Antwort
  • Hi zusammen,
    nun habe ich auch ein Solarflow mit 4 Batterien.
    Eigentlich finde ich ziemlich praktisch, auf diese Art die Energie zu speichern, die wir zu dem Zeitpunkt nicht selbst verbrauchen und damit bisher gratis ins Netz eingespeist haben.
    So weit, so gut.
    Um die Daten in den HA zu bekommen, habe ich eine interessante Sache gefunden: EMQX.
    https://smarthomescene.com/guides/setting-up-emqx-mqtt-broker-in-home-assistant/
    Der HA Mosquitto muss vorher deaktiviert werden, meine Geräte wie Shelly, Wemos mit Sensoren etc schicken die Daten nun an EMQX. Den MQTT Broker von Zendure konnte ich hinzufügen, das Login klappt, bisher (seit gestern Abend) habe ich allerdings noch nicht das Monitorring aktivieren können, dort kommt die Fehlermeldung 400 BAD_TOPIC: Topic already registered wenn ich den Topic user/device/state/inputpower hinfügen will.
    Damit bin ich als auch noch nicht ganz durch……

    Was mich auch bewegt ist, ob man nicht einen Wemos die Aufgabe zuteilen könnte, die Daten aus der Cloud zu holen.
    Damit hätte man mit dem Wemos einen direkten Sensor im HA.
    Ich habe mal angefangen:
    esphome:
    name: solarflow
    friendly_name: Solarflow
    esp8266:
    board: d1_mini
    # Enable logging
    logger:
    logs:
    component: ERROR
    # Enable Home Assistant API
    api:
    ota:
    web_server:
    port: 80
    wifi:
    ssid: xxxxxx
    password: xxxxxxx
    captive_portal:
    external_components:
    – source: github://pr#3289
    components: [„json“]

    mqtt:
    broker: mqtt.zen-iot.com
    port: 1883
    username: xxxx
    password: xxxxx

    topic_prefix: xxxx
    #log_topic: ${mqtt_prefix}/logs
    discovery_prefix: xxxx
    discovery: xxxx
    client_id: xxxx

    sensor:
    – platform: mqtt_subscribe
    name: „OutputHomePower“
    id: outputHomePower
    topic: xxx/xxxxx/state/outputHomePower

    Auch damit stecke ich fest, die Konvertierung der Daten von json scheinen Probleme zu machen.
    Die FM ist dann: Can’t convert ‚{„outputHomePower“:127,“packInputPower“: 101}‘ to number!
    Die Datenstreams scheinen damit nicht auf gesplittet werden zu können.

    Ich wäre froh, bei den beiden Problemen etwas Hilfe oder Ideen zu bekommen.
    Gruss
    Lopo

    Antwort
    • Hi Lopo,

      danke dir für den wertvollen Link!

      Grüße,
      Nils

      Antwort
  • Hallo, kannst du mir kurz erklären wie der Emqx konfiguriert werden muss damit ich Daten erhalte? Eine Verbindung habe ich schon aufgebaut aber ich habe mit den Topics ein Problem.

    Antwort
    • Hallo Lego,

      entschuldige bitte die verzögerte Freischaltung! Ich nutze Emqx leider nicht und habe daher keine konkrete Erfahrung mit der Konfiguration. 🙁
      Vielleicht kann dir jemand anderes hier helfen? Wenn du es anderweitig herausfindest, wäre ich (und sicherlich auch andere Leser) sehr dankbar, wenn du es hier kurz zusammengefasst teilst. 🙂

      Viele Grüße,
      Nils

      Antwort
  • Hallo zusammen

    Ich beschaftige mich erst seit kurzem mit dem Thema Home Assistant und wollte nun die erforderlichen Daten zur Anbindung meines Zendure Solarflow wie oben beschrieben unter Ubuntu auslesen. Ich scheitere aber leider bereits bei Schritt 2 der Anleitung. Den dort beschriebenen Befehl habe ich mit der Seriennummer meines Hubs und der E-Mail Adresse vervollständigt und im Terminalfenster ausgeführt. Dabei bekomme ich folgende Meldung:

    {„code“:400,“success“:false,“data“:{},“msg“:“Please bind the device first“}

    Kann mir jemand sagen was ich falsch mache oder vorab vielleicht erst machen muss? Ich muss noch dazusagen, dass ich mich in der Linuxwelt nicht allzu gut auskenne und bin für jeden (für mich nachvollziehbaren) Tipp dankbar. Besten Dank im Voraus!

    Antwort
    • Hi Vuki,

      die Fehlermeldung klingt für mich danach, als wäre dein PV-Hub noch nicht mit deinem Zendure Account verbunden. Hast du bei der Einrichtung die Verbindung per Wifi gewählt und ist das Hub korrekt mit dem Internet / der Zendure Cloud verbunden?

      Möglichkeit 2: Vertippt hast du dich bei der Seriennummer oder Mail nicht zufällig? 🙂

      Viele Grüße,
      Nils

      Antwort
      • Hallo Nils

        Die Anlage und somit auch der Hub ist über WiFi korrekt mit dem Account verbunden und ich kann auch alles über die App steuern. Einen Tippfehler hatte ich anfangs auch in Verdacht. Aber auch das kann ich mit absoluter Sicherheit ausschließen. Der Hund muß anscheinend woanders begraben sein. Nur rätsel ich immer noch wo!

        VG, Vuki

        Antwort
        • Hallo Vuki,

          das ist ja sehr merkwürdig. Ich habe leider auch keine wirkliche Idee. Hast du mal die Seriennummer auf dem Aufkleber des Solar Flow mit der Seriennummer in der App (unter den Geräteinfos des Hubs) verglichen?

          Falls die identisch sind, würde ich mich mal direkt an Zendure wenden. Ganz unten auf der GitHub-Seit steht ja eine Mail-Adresse.

          Ich freue mich, wenn du hier deine Lösung teils, sobald du es zum Laufen bekommen hast. 🙂 Viel Erfolg!

          Viele Grüße,
          Nils

          Antwort
  • Hallo Nils

    Danke für den Tipp! Die Seriennummer auf dem Hub werde ich mal bei Gelegenheit mit der in der App vergleichen. Wenn ich dann irgendwann des Rätsels Lösung habe, teile ich es natürlich.

    VG, Vuki

    Antwort
    • Hallo Vuki,

      Super, dass ist ja top! Ich nehme das später mal oben im Artikel als Hinweis auf.

      Grüße und danke fürs Teilen,
      Nils

      Antwort
      • Hallo Nils

        Die Anbindung hat Dank deiner Anleitung und dem abgeänderten Link funktioniert. Was mich aber seither beschäftigt ist:

        Lassen sich die Aktualisierungsintervalle auch ändern? Für mich sind hauptsächlich die Entitäten „electric level“ und ’solar power 1 und 2″ interessant. Aber die Werte aktualisieren sich allem Anschein nach nur alle paar Minuten so dass die momentane und tatsächliche Ausgabe verfälscht wird. Hast du da vielleicht einen Tipp für mich? Besten Dank im Voraus und VG!

        Vuki

        Antwort
        • Hallo Vuki,

          ich fürchte, dadran kann man nicht viel drehen. Home Assistant lauscht ja dauerhaft auf dem MQTT-Topic nach neuen Werten. Wie oft diese in das Topic geschrieben werden, bestimmt Zendure auf ihrer Cloud-Seite. Etwas anderes wäre mir nicht bekannt.

          Viele Grüße,
          Nils

          Antwort
  • Hallo Leute ,
    Es freud mich das einige es geschaft haben eine Rückmeldung zubekommen,bei mir klappt es leider nicht.
    habe das als INFO “ curl -H „Content-Type: application/json“ -X POST -d „{\“snNumber\“: \“PO1HLDDLEK02347\“, \“account\“: \“xxxxx@t-online.de\“}“ „https://app.zendure.tech/v2/developer/api/apply“
    Antwort:
    {„code“:400,“success“:false,“data“:{},“msg“:“Please bind the device first“},
    Gehe ich auf : https://app.zendure.tech/eu/developer/api/apply bekomme ich folgende Antwort:
    code 405
    success false
    data {}
    msg „Request method ‚GET‘ not supported“
    was mach ich falsch SN & E-Mail sind OK
    mfg
    Peter

    Antwort
  • Hallo Nils,
    nachdem ich nach dieser Anleitung mein System zum Laufen gebracht habe (siehe obige Beiträge) stehe ich jetzt“auf dem Schlauch“

    Habe alles neu gemacht (musste eMail ändern usw.) und wollte nach alter bewährter Methode wieder Zendure in MQTT einbinden – nach curl -H „Content-Type: application/j ……(mit der neuen eMail unter der ich mich auch in der Zendure-App angemeldet habe – das läuft auch hier richtig)
    bekomme ich folgende Rückmeldung:
    {„code“:400,“success“:false,“data“:{},“msg“:“Please bind the device first“}root@2024-IO-Zendure:~# ^C
    root@2024-IO-Zendure:~#
    Was mache ich falsch ??
    mit der alten eMail bekomme ich zwar die richtige Rückmeldung – aber mit diesen Daten keinen Zugriff über MQTT..

    Kannst du mir helfen ?
    KHK

    Antwort
  • Hallo,
    meine Abfrage im HA über MQTT funktioniert sehr gut.
    rdings habe ich in einem Forum gelesen, dass jemand auch die Akku Temperaturen dargestellt hat. Ich habe aber keine Entität dafür.

    Weiß jemand warum und wie ich vielleicht zu de Temperaturen komme?

    Antwort
  • Hi,
    curl -H „Content-Type: application/json“ -X POST -d ‚{„snNumber“:“xxxx“,“account“:“xxxx“}‘ https://app.zendure.tech/eu/developer/api/apply

    returns

    {„code“:400,“success“:false,“data“:{},“msg“:“JSON parse error: Cannot construct instance of `org.zendure.device.dto.DeveloperApplyDto` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value (‚{snNumber:xxxx,account:xxxx}‘); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `org.zendure.device.dto.DeveloperApplyDto` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value (‚{snNumber:xxxx,account:xxxx}‘)\n at [Source: (PushbackInputStream); line: 1, column: 1]“}

    Any idea?

    Antwort
  • Hallo zusammen,ich habe das gleiche Problem ,bekomme immer die Fehlermeldung das meine seriennummer nicht regestriert ist obwohl in der App alles funktioniert.
    ich habe beides probiert v2 und eu
    die seriennummer ist auf dem Karton die gleiche wie in der App
    was kann ich noch Probieren ??

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert