Zendure SmartFlow MQTT

Ich hab es nun endlich geschafft mit dem Topic "/# daten vom MQTT-Server abzurufen.
Es hat in etwa eine Stunde gedauert, bis die ersten Ordner/Instanzen/Variablen angelegt wurden und es kommen immer wieder welche dazu. Auch der Client Konfigurator findet immer wieder neue Themen…

Jedoch bekomme ich das Topic …/…/properties/report nicht gesendet…
Muss ich hierfür noch etwas bestimmtes beachten? Die für mich interessanten Daten kommen auch sehr unregelmäßig, wie Leistungen, Ladestand, etc

Zur Info, ich möchte Symcon als reine Anzeige für den Hub 2000 mit 1x AB2000 verwenden und nutze parallel auch die iOS-App

SG
Hias

Guten Morgen,
Ich versuche jetzt schon ein paar Tage den JSON Request auszuführen.
Win-PowerShell, Kommandozeile, Online, PHP-Script in IPS

Ich stehe aber komplett auf dem schlauch wie die Syntax aussehen muss.

Vielleicht kann mir jemand verraten wie ich den Request unter PHP bzw. mit einem Windows ausführen kann.

Vielen Dank für die Mühe,

Moin,

welches Script versucht du von wo und warum?

Wenn du deinen Zendure auf lokalen MQTT umstellen möchtest, dann musst du das mit dem Script von Rainer aus Github machen. Ob das Python Script auch anders funktioniert, weiß ich nicht.

Und wenn du Daten von der Zendure Cloud bekommen möchtest, dann musst du einen MQTT Client im Symcon einrichten. […]

Hi, viel Dank für die Hilfe.

Sorry, unklar ausgedrückt. ich hab das hier:

„curl -H „Content-Type: application/json“ -X POST -d '{„snNumber“:“„,„account“: „“}’ https://app.zendure.tech/v2/developer/api/apply

versucht auszuführen. Bin aber Grandios Gescheitert.

MQTT Explorer hab ich mir jetzt mal geladen. Der Disconnected mich aber sofort wieder.
Keine Ahnung was ich da wieder falsch mache

protocol: mqtt
Host: app.zendure.tech/eu/developer/api/apply
port: 1883
User und Password sind die Zugangsdaten aus der Zendure-App
Certificate und TLS sind deaktiviert:

Sorry, ich war beruflich unterwegs, ich gehe mal davon aus, dass du bewußt die Seriennummer und Zugangsdaten weggelassen hast.

Korrekt sollte es wie folgt sein:

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

das hat bei mir für unterschiedlichen Installationen problemlos funktioniert.

Das Ergebnis ist dann

{"code":200,"success":true,"data":
{
    "appKey":"KxxxxxxH",
    "secret":"F...2",
    "mqttUrl":"mqtt.zen-iot.com",
    "port":1883
},
"msg":"Operation successful"}

es könnte auch

    "mqttUrl":"mqtt-eu.zen-iot.com",

zurückkommen, das hängt davon ab, in welcher Region du dein Device registriert hast.

Im MQTT Explorer musst du den appKey als Username und das secret als Passwort nutzen. Somit ist klar, dass der zweite Schritt nicht vor dem erfolgreichen ersten funktioniert :wink: .

Ich habe meinen Beitrag oben korrigiert.

Hi, Danke für deine Hilfe,

ich scheitere schon vor Schritt 1.

Wie führe ich diese „Curl“ abfrage aus?

Bei einem PHP Script in IPSymcon komme ich nicht auf die richtige Syntax.

Gelöst.
Vielen Dank, mit Hilfe eines anderen Post hier aus dem Forum konnte ich es doch zusammenbasteln.

Das ist eigentlich ein Linux Kommando, sollte aber auch unter Powershell möglich sein.

Und funktioniert auch in PHP, wie du gefunden hast.

Moin, hast du das Problem mittlerweile lösen können?

Ich habe das gleiche Thema. Das py-Skript von Reinhard läuft durch, mosquitto broker ohne pwd, wie oben beschrieben den ‚get all‘ Befehl über den MQTT Explorer geschickt. Es ändert sich nichts.
Ich habe das gleiche Bild wie du. Im MQTT sehe ich nur iot und dort register/properties.

Starte ich das py-Skript von Reinhard mit -i -b broker-ip:1883 dann geht es und der hub sendet.

@all: Hat noch jemand eine Idee, wie ich den hub offline bekomme könnte?

Danke, Viele Grüße idb

Meine Umgebung:
HUB1200
OpenDTU
mosquitto with user/pw in Docker on Synology NAS
MQTT Explorer on Windows 11
Python3.12.8, CDM-line on Windows 11

py-Skript mit disconnect und getall über MTQQ Explorer:

(sorry für den neuen Post. Als neuer Nutzer darf ich nur ein Bild in einem Post machen)

py-Skript mit -i -b broker-ip:1883 dann sehe ich:

explorer2

D.h. ja, dass sich der Hub prinzipiell über WLAN mit dem Broker verbinden kann.

Die Daten kommen auch nach dem getAll sehr langsam bei ersten Mal.

Ich habe ca. eine Stunde gewartet, bisher ohne Erfolg. Gibt es da Erfahrungswerte, wie lange es dauern kann? Danke.

so lange dauert das nicht. Das Script gibt auch Meldungen aus, wenn es ein Device gefunden hat. Passt das soweit?

Ja, die py-Skript -i Information liefert mir die Device Information und py-Skript mit -i -b broker-ip:1883 zeigt mir ja auch, dass es geht. Siehe oben das Bild. Nur der disconnect nicht. Wenn ich -d -w ssid -b broker-ip:1883 mache, zeigt der Explorer keine Aktivität. Ich peile es nimmer :roll_eyes:

Wenn du auf dem Mobiltelefon die App aktiv hast, das führt auch zu Problemen. „Es kann nur einen geben.“ :wink:

Danke für den Tipp. Das hatte ich schon herausgefunden :wink: App ist/war aus, BT auch ausgeschaltet.

Ich habe das Script bisher immer auf einem PIzeroW im direkten Nahbereich vom Zendure Device ausgeführt und nie Probleme gehabt. Dann im MQTT Explorer das getAll schicken und danach gibt es kontinuierlich Daten.

Danke für die ganzen Tipps. Bisher ohne Erfolg. Ich sitze auch mit meinem Windows11 Laptop daneben :wink:
Werde jetzt wohl meine Versuche einstellen.

Ich habe noch eine Info aus dem Skript, schätze aber nicht, dass das ein Problem ist:

solarflow-bt-manager.py:41: DeprecationWarning: Callback API version 1 is deprecated, update to latest version
client = mqtt_client.Client(mqtt_client.CallbackAPIVersion.VERSION1, client_id=„solarflow-bt“)

hallo, bin zwar kein solarflow nutzer mehr aber ich konnte das problem seinerzeit lösen: ich musste allerdings den mqtt broker ohne usr+pwd nutzen
vg

Ich nutze mal meinen alten Threat für eine angelehnte Frage/Diskussion.

Ich habe große Teile meiner Technik noch mal umgebaut und nutze inzwischen 2 x Hyper 2000 mit je 4 kWh Akkus. Durch die Modulverteilung in Ost, Süd und West ist die Erzeugung etwas variabel.
@zonex hatte Recht, angefixt ist angefixt :see_no_evil: .

Nach einigem Lesen in diesem großen Internet bin ich noch etwas unschlüssig, wie die Akku-Ladung am besten/materialschonendsten zu gestalten ist.

Wie macht ihr das bzw. wie machen das „professionelle“ Systeme?

  1. Eigenverbrauch
  2. Akkus laden, immer auf Nulleinspeisung oder besser komplette Lade-/Entladezyklen

Die Akkus sollten ja eigentlich relativ vollständige Lade-/Entladezyklen bekommen. Also nicht immer wieder etwas verbrauchen, sondern bis zum Minimum entladen, dann wieder zum Maximum aufladen.