NEWS
Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication
-
Problem gelöst, siehe EDIT vom ersten Post
Alles funktioniert einwandfrei.Zum Betrieb muss ein MQTT-Broker verwendet werden der mehrere user mit Passwörtern zulässt, wie z. B. mosquitto oder EMQX etc.
Der iobroker mqtt-Adapter geht aus diesem Grund NICHT.
Lässt nur 1 user und 1 password zu. -
@maxclaudi
IOB läuft hier unter Windows.
Hast Du dafür auch eine Lösung ? -
@bernd1967
die Lösung steht doch hier
das blockly von mir funktioniert im iobroker auch unter Windows.Der mosquitto lässt sich auch unter Windows installieren: mosquitto-2.0.21a-install-windows-x64.exe download
-
@maxclaudi
Komisch, es kommt keine Ausgabe.
Im script Adapter ist "enable command "exec" angehackt.
Log nach Ausführung:
-
@bernd1967
ok, ich kann's nicht gegentesten.
Hab hier kein Windows mit iobroker zur Verfügung.
Heute ist es für mich zu spät sorry. -
@maxclaudi
Ja Okay
Ich denke es liegt daran das der Exec Befehl hier unter Windows im Windows command Fenster ausgeführt wird.
Und dieser kennt kein Befehl "md5sum"P.S.: Hab es mal mit node-red nachgebaut, funktioniert.
Hat sich also erledigt -
@bernd1967
nodered unter windows führt linux commands aus oder hat md5 intergiert?
Blockly nimmt unter windows also das windows eigene cmd. -
@rene55
Wenn Du nur den solarflow HUB 1200 benutzt, kannst Du auch den iobroker-mqtt-Server-Adapter benutzen.
Dann gibst einfach beiden (Solarflow-Adapter+HUB 1200) DeviceID als user und das Passwort dazu.
Mehr Zendure-Geräte gehen dann nicht mehr. -
@maxclaudi Das wird wohl so nicht funktionieren. Ich hab den iobroker-mqtt-client ja bereits auf Port 1883 im Einsatz. Natürlich mit User/Passwort gegen den externen Mosquitto.
Ich lass mal erst alles so, wie es jetzt ist. -
@rene55 sagte in Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication:
@maxclaudi Das wird wohl so nicht funktionieren. Ich hab den iobroker-mqtt-client ja bereits auf Port 1883 im Einsatz. Natürlich mit User/Passwort gegen den externen Mosquitto.
?
Ist folgendes richtig:-
Du hast extern einen mosquitto (Broker) laufen mit port 1883.
-
Am mosquitto bist Du mit iobroker-mqtt-Adapter-Client mit user und passwort (Authentication) verbunden.
-
vermutlich sind Deine weiteren Geräte wie Wasseruhr, Stromzähler etc. auch mit dem msoquitto verbunden? Wahrscheinlich tasmota oder ähnliches.
-
Du benutzt den Solarflow-Adapter als Client und hast dafür extra einen iobroker-mqqt-Broker-(Server)-Adapter ohne Anmeldedaten.
Ja?
Dann wäre ein Umstieg schnell möglich und könntest auf den iobroker-mqtt-Adapter verzichten.
a) Passwort zum Solarflow 1200 DeviceID generieren.
b) Beim mosquitto in die Passwortliste -> DeviceID:passwort
c) am besten gleich noch ein user:passwort für solarflow mit in die mosquitto Passswordliste.
Das könntest (schon jetzt) für die Zukunft machen.
Muss ja noch nicht benutzt werden.
Wenn dann irgendwann Lust/Zeit hast:
-
Zendure noch 1x disconnecten und IP vom mosquitto eintragen.
neustarten usw., weißt ja. -
Solarflow-Adapter Instanz:
Wenn dafür nicht extra einen zusätzlichen user in der Passwortliste hast, dann kannst auch einen vorhanden nehmen z.B. von der Wasseruhr.
wasserUhruser:wasserUhrPasswort@ip_von_mosquitto
Geht alles schnell
Bei uns und Freunden (4 Zendure Systeme) läuft alles einwandfrei.
Lokal, mit den Passwörtern und Solar-Flow-Adapter.Wenn Alles so lassen möchtest, ist auch ok.
Danke Dir, dass Du wenigstens interessiert bist und kommunizierst.
Finde ich KlasseMan bekommt ja fast kein Feedback.
Ist ein wenig traurig.
Scheinbar ist kein großes Interesse vorhanden.
Da überlegt man seine Erfolge zu teilen, wenn weder ein Daumen hoch, noch Kritik, Mitarbeit oder sonst was kommt.c'est la vie
-
-
@maxclaudi Deine Annahmen 1 - 4 sind so korrekt. Passwort zum SF1200 hab ich mir schon generiert, Passwortliste für den Mosquitto (zum testen) noch nicht.
Mir ist nur nicht klar, wieso ich dann auf den iobroker-mqtt-Adapter (spielt Client/Subscriber) verzichten kann.UND: Mach dir keine Gedanken zum mangelnden Interesse. Bisher tolle Arbeit und gut erklärt. Ich vermute, dass nach einer gewissen Zeit sich noch mehr Zendure-Nutzer hier versammeln und deine Arbeit würdigen werden.
-
@rene55 sagte in Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication:
Mir ist nur nicht klar, wieso ich dann auf den iobroker-mqtt-Adapter (spielt Client/Subscriber) verzichten kann.
Auf den Client nicht.
Meinte die andere mqqt-Broker-Instanz für den solarflow-Adapter.
Wenn man schon einen guten Broker hat, dann benötigt man keinen 2ten.Recourcenschonender und vor allem: sicherer.
Einen nicht geschützten Zugang (auch intern) möchte ich nicht.
Auch wenn der Schutz nicht so hoch ist: besser als keinen. -
@maxclaudi Ah, du meintest den extra für Solarflow aufgesetzten, ungeschützen Mosquitto. Klar, der kann dann weg!
Aber dann möchte ich doch, dass sich @nograx meiner erbarmt und die von mir gewünschten Änderungen irgendwann einbaut. Ich hab nicht so gerne Passworte im Klartext - mein persönliches Empfinden. Du hast natürlich recht: wenn jemand unbefugtes dort hinkommt habe ich ein anderes Problem. -
@maxclaudi sagte in Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication:
@bernd1967
nodered unter windows führt linux commands aus oder hat md5 intergiert?
Blockly nimmt unter windows also das windows eigene cmd.Ich denke das hängt davon ab wie Blockly und node-red integriert wurden.
In IOB wird wohl immer das Host Betriebsssystem verwendet.
In node-red hab ich über den Palettenmanager die Erweiterung "node-red-contrib-md5" installiert der den MD5 Hash erstellt.
Dann über ein Function Node in Großbuchstaben umgewandelt und den relevanten Teil ausgeschnitten. -
@bernd1967
Es liegt eher daran, dass Windows nicht den awk interpreter hat.
Auf die Idee, mit node-red was zu versuchen, wäre ich nicht gekommen.Eine este Idee wäre gewesen...
(unwichtig)
-
Zur Überprüfung und Vergleich, dass das generierte Passwort stimmt, kann folgende Liste verwendet werden.
-
Wer wissen möchte, wie das Passwort generiert wird:
Man kann auch online (oder offline mit einem md5-Tool) das Paswort selbst generieren.
Oder überprüfen ob es richtig ist:online-Beispiel:
Offline für Windows:
-
Danke @bernd1967 fürs testen.
EDIT:
Bitte folgendes Blockly zum Passwort generieren verwenden.
Funktioniert bei iobroker-Installationen unter Linux und Windows.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="h$iZ|CSW:{Pr^|WIq{p%">DeviceID</variable> <variable id="`:v0Y22npS%02uH}m.pf">DevicePwd</variable> </variables> <block type="comment" id="mw0N05!:C@0|7*%x8IQW" x="62" y="-163"> <field name="COMMENT">Zendure&#10;DeviceID-Passwort-Generator&#10;für lokale mqtt-Broker</field> </block> <block type="comment" id="KrSsJXm)i*V^NIyaU[Cn" x="388" y="-13"> <field name="COMMENT">DeviceID</field> </block> <block type="variables_set" id=")#vJ+ToaSJ#Kj21zn(:%" x="137" y="37"> <field name="VAR" id="h$iZ|CSW:{Pr^|WIq{p%">DeviceID</field> <value name="VALUE"> <block type="text" id="O`ZL5-wOs6gRliGk!sVy"> <field name="TEXT">BaSD4hsK</field> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="9skFy%%N*E(L1uQC#%S{"> <mutation name="pwdGenerate"></mutation> <next> <block type="debug" id="s-~-Af69/Al10C~[s]=("> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="WBpFd$z/R2hm54+5--%6"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="j{364wvlmlS7a){$zMR("> <field name="VAR" id="`:v0Y22npS%02uH}m.pf">DevicePwd</field> </block> </value> </block> </next> </block> </next> </block> <block type="procedures_defcustomnoreturn" id=":2{*ZgWdN@M;.U0:0I)$" x="788" y="37"> <mutation statements="false"></mutation> <field name="NAME">pwdGenerate</field> <field name="SCRIPT">Ly8gSW1wb3J0aW5nICdjcnlwdG8nIG1vZHVsZQ0KY29uc3QgY3J5cHRvID0gcmVxdWlyZSgnY3J5cHRvJyksDQoNCmhhc2ggPSBjcnlwdG8uZ2V0SGFzaGVzKCk7DQoNCnggPSBEZXZpY2VJRA0KaGFzaFB3ZCA9IGNyeXB0by5jcmVhdGVIYXNoKCdNRDUnKQ0KLnVwZGF0ZSh4KS5kaWdlc3QoJ2hleCcpOw0KDQpoYXNoUHdkID0gaGFzaFB3ZC50b1VwcGVyQ2FzZSgpOw0KaGFzaFB3ZCA9IGhhc2hQd2Quc2xpY2UoMCwgMjQpOw0KaGFzaFB3ZCA9IGhhc2hQd2Quc2xpY2UoOCk7DQpEZXZpY2VQd2QgPSAiRGV2aWNlSUQ6ICIgKyBEZXZpY2VJRCArICIgUGFzc3dvcnQ6ICIgKyBoYXNoUHdkOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
-
@maxclaudi
Ja, funktioniert hier unter Windows.