NEWS
Test Adapter Zendure Solarflow
-
@danerix sagte in Test Adapter Zendure Solarflow:
@nograx
Subscription am mqtt-Server scheint io zu sein.Client [XXXXXX] subscribes on "iot/BC8B7F/XXXXX/#" with regex /^iot.BC8B7F.XXXXXXX..*/
Und das entspricht exakt dem was im MQTT gepublished wurde? Das erste XXXXXX ist auch deine Adapter Instanz und nicht der SF 2400?
-
@nograx
Ja richtig.
Client [ioBroker.zendure-solarflow.0] subscribes on "/bc8b7f/SF2400ID/#" with regex /^bc8b7f.SF2400ID../
Client [ioBroker.zendure-solarflow.0] subscribes on "/bc8b7f/SF2400ID/#" with regex /^mqtt.0.bc8b7f.SF2400ID../ -
@maxclaudi
Habe per DNS den mqtt-server verbogen.
Steuern per mqtt geht auch. -
@danerix
auch wenn erfolgreich verbogen, würde ich den Internetzugang in der Firewall für AC2400 zusätzlich blockieren.Wenn Steuerung per mqtt funktioniert ist es schon mal gut.
Betreibst Du den Broker (welchen?) mit user/password (file) oder anonym?
edit/PS: wenn steuern per mqtt möglich war (ist) und der zendure-solarflow-adapter verbunden ist:
Hat der zendure-Adapter den geänderten Wert übernommen? -
@maxclaudi
Ja, Internet habe ich auch blockiert.
Als mqtt-broker verwende ich den Adapter aus dem iobroker.
Diese Instanz hat kein Passwort.Die Datenpunkte des Zendure-Adapters bleiben weiterhin alle auf null.
-
@danerix
dann verwendest ja auch eine zusätzliche Instanz des mqtt-Adapter als Client.Wenn unter mqtt.x.productId.deviceId.properties.read.reply
immer wieder json eingehen
(nicht oft, wenn es keine geänderten Werte gibt. Für automatische Werte ohne Änderung kann die Hysterese groß sein. Wobei das ja jetzt mit leicht geänderten Werten per json publishen beeinflussen kannst),dann hast Alles richtig gemacht.
zendure-solarflow-Adapter:
Wenn
- per mqqt-Adapter: json bei Änderungen mit neuen Werten publisht werden
- die Einstellungen in der Instanz des solar-flow-Adapter stimmen
- der solar-flow-Adapter verbunden ist
- die geänderten Werte vom solar-flow-Adapter nicht übernommen werden
dann wird es wahrscheinlich am solarflow-Adapter liegen.
Kann dann m. M. nur @nograx weiter helfen. -
@danerix die Frage ist hier tatsächlich ob die Daten vom 2400 AC im MQTT aktualisiert werden. Wenn der Adapter sich offensichtlich mit dem MQTT sauber verbindet vermute ich eher ein Kommunikationsproblem des 2400 AC mit MQTT...
-
@nograx sagte in Test Adapter Zendure Solarflow:
@danerix die Frage ist hier tatsächlich ob die Daten vom 2400 AC im MQTT aktualisiert werden. Wenn der Adapter sich offensichtlich mit dem MQTT sauber verbindet vermute ich eher ein Kommunikationsproblem des 2400 AC mit MQTT...
....Broker
....ClientDu hast den mqqt-iobroker-Adapter als 1 Instanz, Port 1883, ohne Zugangsdaten als Broker eingerichtet und in Betrieb (Instanz grün und verbunden)?
Du hast zusätzlich den mqqt-iobroker-Adapter als 1 Instanz als Client, Port 1883, ohne Zugangsdaten eingerichtet und in Betrieb (Instanz grün und verbunden)?
Du hast mitgeteilt, dass per json erfolgreich gesteuert werden kann und die Werte bestätigt werden(?).
Schwierig, wenn Dein know how + know/why unbekannt ist und man alle Infos nur auf Nachfrage bekommt.
Wie funktioniert(e) die Steuerung und was kam, wo, wann als json?
Per Client Steuerung z. B. unter
mqtt.x.iot.productId.deviceId.properties.write {"properties":"inputLimit":100}}
Beim Client muss dann gleich ein reply für das erfolgreiche publishen sein, etwa:
mqtt.x.productId.deviceId.properties.write.reply {"messageId":"123","deviceId":"xxxxxxxx","timestamp":1752470000,"success":1,"properties":{"inputLimit":100}}
und dann (zeitgleich oder irgendwann) vom ACE2400 reply, dass der Wert gesetzt wurde?
mqtt.x.productId.deviceId.properties.report {"messageId":"123","product":"solarFlow2400AC","deviceId":"xxxxxxxx","timestamp":1752470099,"properties":{"electricLevel":25,"inputLimit":100"}}
oder so ähnlich...
mqtt.x.productId.deviceId.properties.report
JSON sollte immer mal wieder autom. eintreffen/aktualisiert werden. Auch wenn keine oder wenige neue Werte vorhanden sind.
Ist das so?
Wenn nicht, dann müssen die Einstellungen der Instanzen, Dein System und die DNS-Umleitung überprüft werden.
-
Hallo,
da bei meinem Hyper 2000 der CT-Modus seit letzten Donnerstag nicht mehr funktioniert, habe ich das jetzt über ein Blockly-Script über die Cloud-Verbindung realisiert.
Das funktioniert auch wunderbar.
Da ich aber der Zendure Cloud immer weniger vertrauen, wollte ich nun aber doch noch den Schritt wagen, auf lokalen MQTT-Server umzustellen.
Für mich gibt es dabei aber noch ein paar offene Fragen:- Ich habe bereits einen MQTT-Server mir dem MQTT-Adapter im iobroker auf Port 1883 ohne Passwort laufen. Darüber benutze ich aktuell 3 Verbindungen anderer MQTT-Clients. Kann ich den einfach nehmen, oder muss ich hier noch etwas speziell konfiguriert werden?
- Wenn es umgestellt ist, kommen alle Werte wie vorher über die Cloud und können genauso gesetzt werden, oder gibt es Einschränkungen?
- Ich habe eine FritzBox 7690. Ist es damit möglich den redirect DNS zu machen, oder geht es damit nicht?
Danke und Gruß
-
@hofmann-iobrf sagte in Test Adapter Zendure Solarflow:
Hallo,
da bei meinem Hyper 2000 der CT-Modus seit letzten Donnerstag nicht mehr funktioniert, habe ich das jetzt über ein Blockly-Script über die Cloud-Verbindung realisiert.
Das funktioniert auch wunderbar.
Da ich aber der Zendure Cloud immer weniger vertrauen, wollte ich nun aber doch noch den Schritt wagen, auf lokalen MQTT-Server umzustellen.
Für mich gibt es dabei aber noch ein paar offene Fragen:- Ich habe bereits einen MQTT-Server mir dem MQTT-Adapter im iobroker auf Port 1883 ohne Passwort laufen. Darüber benutze ich aktuell 3 Verbindungen anderer MQTT-Clients. Kann ich den einfach nehmen, oder muss ich hier noch etwas speziell konfiguriert werden?
Bedenkenlos nutzbar.
- Wenn es umgestellt ist, kommen alle Werte wie vorher über die Cloud und können genauso gesetzt werden, oder gibt es Einschränkungen?
Bei mir gibt es keine feststellbaren bzw. wichtigen Einschränkungen.
Weil mein Broker (Server) nur sendet was ich möchte und sonst die erforderlichen Daten zum Auswerten, um dann zu regeln/steuern von dem/den Zendure Client(s) kommen. In Deinem Fall dann vom Hyper.Was die Nachteile bzw. Einschränkungen sind, habe ich weiter oben beschrieben.
z.B. keine Statistik, die App kann nicht mehr verwendet werden (selbst drum kümmern.)
Original App kann jeder Zeit per BT verwendet werden, aber in dem Moment wo BT aktiv und verbunden ist: fällt MQTT aus.
Das bitte unbedingt beachten.Firmware-Updates jederzeit über BT und App machbar.
- Ich habe eine FritzBox 7690. Ist es damit möglich den redirect DNS zu machen, oder geht es damit nicht?
Nein
(ohne Hack der Fritzbox nicht. Davor rate ich ab.)Synology NAS, WiFi-Router mit OpenWRT, PI mit PiHole usw.
oder ein NAS oder sonst was, auf dem z. B. adguard installiert und genutzt werden kann.
Die FritzBox kann man dann zum Umleiten über adgard einrichten.Bevor was gekauft wird, bitte vorher informieren.
Gibt genug Tutorials im Netz. -
@maxclaudi
Der iobroker-mqtt-Adapter ist Broker und Client zugleich. Läuft auf Port 1883 ohne Zugangsdaten.
Der Zendure Adapter und der Solarflow2400AC sind damit verbunden und grün.Aktualisierungen des
mqtt.x.productId.deviceId.properties.report
kommen ca. alle 3 Sekunden an.
Steuerung ist momentan noch manuell über:
mqtt.x.iot.productId.deviceId.properties.write
Den Datenpunkt:
mqtt.x.productId.deviceId.properties.write.reply
gibts bei mir nicht.
-
@danerix sagte in Test Adapter Zendure Solarflow:
@maxclaudi
Der iobroker-mqtt-Adapter ist Broker und Client zugleich. Läuft auf Port 1883 ohne Zugangsdaten.Du meinst aber schon 2 Instanzen?
Einmal als Client und eine extra Instanz als Broker?Zugleich in einer Instanz kann das nicht sein.
Entweder Broker (Server) oder Client.Der Zendure Adapter und der Solarflow2400AC sind damit verbunden und grün.
Aktualisierungen des
mqtt.x.productId.deviceId.properties.report
kommen ca. alle 3 Sekunden an.
Eigentlich müsste das passen, aber bitte erste Frage beantworten.
Steuerung ist momentan noch manuell über:
mqtt.x.iot.productId.deviceId.properties.write
Den Datenpunkt:
mqtt.x.productId.deviceId.properties.write.reply
gibts bei mir nicht.
Sollte automatisch angelegt werden, wenn als mqtt-Client betrieben.
Ist jeweils eine Instanz 1x als Client und 1x als Broker vorhanden?
Wenn kein Client anlegst (muss nicht sein... kannst auch MQTT Explorer nutzen und wenn es mal läuft benutzt sowieso nur solar-flow-adapter, der dann selbst Client ist).
Aber zum testen der mqtt-Verbindung zum Broker sollte man schon einen Client nutzen um was zu publishen.
Also entweder einen zusätzlichen Client in Form von einer Instanz als Client oder MQTT Explorer oder MQTTX oder....Nicht auf dem Server selbst publishen.
Sind die Einstellungen des MQTT-Brokers so:
Edit/PS:
Müsste eigentlich so sein, sonst wäre der solar-flow-Adapter nicht grün.
Also hast Du nur über den Server gesteuert.
Ok, machbar.
Teste das noch zusätzlich über einen extra Client.
Wenn das dann auch funktioniert, dann ist es Sache des Adapters.
Wenn nicht, geht Deine Fehlersuche weiter und mqtt-Verbindungen funktionieren nicht richtig -
Ja, ich habe Server/Broker.
Ich such weiter...
Ggf. gibts jemanden der die Kombi schon zum Laufen gebracht hat? -
@danerix
Installiere doch mal eine 2te Instanz als Client.
Dann Steuerungs json (am besten mit noch einem weiteren Client wie MQTT Explorer) publishen und dann prüfen ob überall der report publisht wird.Wenn ja, dann funktioniert alles und es liegt am solar-flow-Adapter.
Wenn nein, dann liegt's an der MQTT-Verbindung.Wäre das einfachste Ausschließungsprinzip, bist doch kurz vor dem Ziel.
Funktioniert doch (fast) alles -
Habe eine weitere mqtt-Instanz als client angelegt.
Dieser bekommt auch die Datenpunkte, insbesondere den report, sobald ich das Steuerungs-json publishe. -
@danerix sagte in Test Adapter Zendure Solarflow:
Habe eine weitere mqtt-Instanz als client angelegt.
Dieser bekommt auch die Datenpunkte, insbesondere den report, sobald ich das Steuerungs-json publishe.wenn das "wirklich" so ist, dann funktioniert mqtt und @nograx ist gefragt.
Testweise könntest auch noch mit einem Script/Blockly über den mqtt-Client-Adapter in einem zeitlichen Abstand json publishen und auch den AC2400 beobachten ob er schaltet.
Also ein script/Blockly das z. B. automatisch im Interval von x Minuten ladet und entladet.
Das müsste am AC2400 wahrscheinlich hör- und sichtbar sein (LED... Zustandsanzeige, Relais usw?)Klar der Luxus des solar-flow-Adapters ist es nicht. Nur zum testen.
Der Adapter ist schon besser, leichter zu verwenden....und das Ziel hier soll ja auch der Adapter bleiben.
So nimmst aber auch Arbeit und Unklarheiten ab, bevor @nograx am Ende lange Fehler sucht, wo vielleicht keine sind.Vorteil beim Umbiegen der DNS ist ja, dass schnell zwischen Cloud und cloudless nun switchen kannst, bis der Adapter bei Dir einwandfrei läuft
-
@maxclaudi Ich bin da tatsächlich etwas überfragt. Der Code zum zum Connect an MQTT ist eine Zeile lang. Da gibts nichts groß was man ändern könnte.
@danerix kannst du den Adapter mal auf Debug stellen, den Adapter neustarten und mir die ersten 3-4 Minuten des Logs per E-Mail schicken?
-
Ich versuchte gerade den Solarflow 800 Pro zu steuern.
- Ich versuchte über Objekte im Iobroker unter Control das SetOutputLimit zu setzen. Da erhalte ich folgende Fehlermeldung im Log: Operation mode (autoModel) is not set to '0', we can't set the output limit!
- Ist das für den Speicher nicht belastend wegen den vielen Schreibzugriffen oder wird das dann nur im Solarflow im Arbeitsspeicher gesetzt und nicht im Speicher wo das ganze Betriebssystem drauf ist?
Habe ihn extra mal aus Hems rausgenommen aber bekomme es irgendwie nicht hin.
-
@daniel-8 sagte in Test Adapter Zendure Solarflow:
Ich versuchte gerade den Solarflow 800 Pro zu steuern.
- Ich versuchte über Objekte im Iobroker unter Control das SetOutputLimit zu setzen. Da erhalte ich folgende Fehlermeldung im Log: Operation mode (autoModel) is not set to '0', we can't set the output limit!
- Ist das für den Speicher nicht belastend wegen den vielen Schreibzugriffen oder wird das dann nur im Solarflow im Arbeitsspeicher gesetzt und nicht im Speicher wo das ganze Betriebssystem drauf ist?
Habe ihn extra mal aus Hems rausgenommen aber bekomme es irgendwie nicht hin.
AutoModel ist die "Energie-Plan" Einstellung. Hier muss alles abgewählt sein. Alternativ im Adapter unter Control automodel auf 0 setzen.
-
@nograx Also in der App kann man nicht alles abwählen. Habe jetzt unter objekte manuell auf Nothing(0) gesetzt.
Jetzt ist zwar die Meldung weg aber immer wenn ich das Limit setzte, ist es kurze Zeit später wieder weg. Kann es sein weil der Speicher noch im Bypass ist?ZU der 2.ten Frage bezüglich Schreibvorgänge auf dem Speicher kannst du dazu eine Aussage machen?