Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication

    This topic has been deleted. Only users with topic management privileges can see it.
    • maxclaudi
      maxclaudi last edited by maxclaudi

      EDIT:
      Auch der iobroker Solar-Flow Adapter läuft mit Authentication 🙂

      Alle Daten kommen sehr schnell rein, am Adapter muss NICHTS geändert werden.


      mosquitto MQTT-Server der nur "user mit password" zulässt:


      Beispiel: HUB2000 und ACE1500
      Zuerst wird mit Blockly von mir für
      HUB2000-DeviceID und
      ACE1500-DeviceID
      jeweils ein Passwort generiert.


      user: DeviceID
      Passwort: <das generierte Passwort>

      Zusätzlich für den Solar-Flow-Adapter ein user und ein Passwort wählen.


      Die 3 neuen user mit Passwörtern bei mosquitto in die Passwortliste aufnehmen (verschlüsseln, wie bei mosquitto üblich).

      Solar-Flow-Adapter:
      In der Instanz den user und password für den Solar-Flow-Adapter mit in die URL übergeben.

      Beispiel:
      lokale mqtt-Server-IP: 192.177.80.250
      user: solarflow
      password: secret

      Einfach bei "lokale MQTT Server URL/IP":
      solarflow:secret@192.177.80.250

      siehe:
      auth.png

      Mit mosquitto-Server ausführlich getestet.
      Die Geräte melden sich an und funktionieren mit den generierten Passwörtern auch i. V. mit dem iobroker solar-flow-Adapter.


      Zendure (HUB2000, Hyper2000, ACE1500, HUB1200) ohne Cloud
      auf eigenen, lokalen MQTT Broker mit Authentication verwenden.

      Bisher konnten Viele den lokalen MQTT Broker nur ohne Authentication verwenden.
      z. B. in Verbindung des iobroker Solar-Flow-Adapters.

      Grund: man kann die Zugangsdaten der Geräte nicht ändern.
      Die Geräte senden hardcoded Zugangsdaten.

      User: DeviceID (von z.B. HUB2000 bekannt)
      password: ein generiertes Passwort aus der DeviceID

      Hier nun ein Blockly, das aus der DeviceID das benötigte Passwort generiert.

      Für den lokalen MQTT Broker (z. B. mosquitto) mit Authentication.

      user: DeviceID
      password: <das generierte Passwort>

      Bei mehreren Zendure Geräten (HUB2000, ACE1500, Hyper2000, Solarflow HUB1200 usw.)
      Für jede DeviceID ein Passwort generieren lassen.


      Einfach die DeviceID eingeben, Script kurz ausführen und im debug output ist das Passwort.

      Beim eingeben/kopieren der DeviceID darauf achten, dass keine Leerzeichen mit übergeben werden.

      Blockly vom DIESEM Beitrag verwenden.
      In JS neu geschrieben, damit es bei iobroker Installationen unter Linux und Windows funktioniert.

      Danke @Bernd1967 fürs Windows-Testen.

      Rene55 1 Reply Last reply Reply Quote 0
      • Rene55
        Rene55 @maxclaudi last edited by

        @maxclaudi Kannst du mir dazu kurz den Zusammenhang von Zendure-Geräten (gut ich hab nur eins) mit der MQTT-Authentication erklären?
        Im 'normalen' Umfeld haben zig Teilnehmer die gleiche Kombination User/Passwort für meinen MQTT-Broker mit Passwortabsicherung.

        maxclaudi 1 Reply Last reply Reply Quote 0
        • maxclaudi
          maxclaudi @Rene55 last edited by

          @rene55 sagte in Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication:

          @maxclaudi Kannst du mir dazu kurz den Zusammenhang von Zendure-Geräten (gut ich hab nur eins) mit der MQTT-Authentication erklären?
          Im 'normalen' Umfeld haben zig Teilnehmer die gleiche Kombination User/Passwort für meinen MQTT-Broker mit Passwortabsicherung.

          @rene55
          der iobroker mqtt Server-Adapter lässt nur 1 User und 1 Passwort zu.
          Zumindest soviel ich weiß.

          Normal ist eher, dass einem Server (hier Broker) unterschiedliche Clients mit Passwörtern und Berechtigungen vergeben werden können.

          Das macht der iobroker mqtt-Broker-Adapter nicht.

          mqtt Broker können normal zig beliebige, verschiedene User mit unterschiedlichen Passwörtern verwalten.

          Zendure macht das mit den mqtt-fähigen Geräten auch.

          DeviceID= user
          und ein Passwort dazu.

          Weil der mqtt-Adapter keine Passwortlisten zulässt und damit auch nur 1 User mit 1 Passwort verwaltet werden kann, müssen alle anderen Teilnehmer sich als 1 User mit dem einem Passwort verbinden.
          Vereinfacht erklärt.


          Für den Privatgebrauch mag das ausreichen.
          Eine 2te Instanz als Broker lässt sich nicht anlegen, weil der Port nicht identisch sein darf.

          Sollte man keine anderen Zendure Geräte verwenden, dann kann man auch den iobroker-mqtt-Adapter verwenden.

          Auf den ACE1500 könnte man verzichten, weil er über den Hub gesteuert wird.


          Kann es leider nicht ändern, dass user und Passwort bei Zendure hardcoded und nicht veränderbar sind.
          Evtl. wäre es möglich den Port zu verändern (für eine 2te Instanz)?
          Aber das ist für mich nicht wichtig.

          Würde eher zu einem richtigen mqtt Broker raten.
          wie z. B. dem schlanken mosquitto


          Wenn auch nicht fachlich ganz korrekt, müsste man verstehen wie ich es beschrieben habe(?).
          🙂

          Rene55 1 Reply Last reply Reply Quote 0
          • Rene55
            Rene55 @maxclaudi last edited by

            @maxclaudi Um noch ein wenig aufzuklären: Ich habe (warum auch immer) einen zentralen MQTT-Broker mit Standardport und User/Passwort laufen. Dahin verbinden sich einige esp-Devices, der Smartmeter-Lesekopf, Wasseruhr usw. und bringen die Daten in den ioBroker.
            Für den cloudless Zendure habe ich einen separaten MQTT ohne User/Passwort laufen. Jetzt mag die nächste Frage unsinnig erscheinen, aber, da ich (derzeit) nur einen Solarflow 1200 habe brauche ich das ganze? Oder erst beim Eintreffen eines ACE?

            maxclaudi 1 Reply Last reply Reply Quote 0
            • maxclaudi
              maxclaudi @Rene55 last edited by

              @rene55
              wenn der Server(Broker) für Zendure läuft, dann muss er ja schon Port 1883 dafür haben.
              Andere Geräte werden nicht mit dem verbunden sein.

              Du musst gar nix 🙂

              Bis jetzt ist der Broker ohne Anmeldedaten eben "ungeschützt" für jeden oder jedes Gerät in Deinem (W)Lan zugänglich.

              Wenn jetzt die Zugangsdaten dazu machst, dann nicht mehr.

              Liegt an Dir ob Du eine kleine Sicherheit zufügen möchtest oder den Broker komplett offen lässt 😉

              Rene55 1 Reply Last reply Reply Quote 0
              • Rene55
                Rene55 @maxclaudi last edited by

                @maxclaudi Ja, jetzt wird es klarer. Kann ich das gefahrlos testen? Heißt, wenn es nicht funzt wieder ohne User/Password.

                maxclaudi 1 Reply Last reply Reply Quote 0
                • maxclaudi
                  maxclaudi @Rene55 last edited by

                  @rene55
                  natürlich, einfach user und passwort wieder löschen und speichern.
                  So wie es bisher war.
                  Geht nichts defekt.

                  Rene55 1 Reply Last reply Reply Quote 0
                  • Rene55
                    Rene55 @maxclaudi last edited by

                    @maxclaudi Danke, dann werde ich das mal in einer ruhigen Minute testen. 🙂

                    maxclaudi 3 Replies Last reply Reply Quote 0
                    • maxclaudi
                      maxclaudi @Rene55 last edited by maxclaudi

                      @rene55
                      👍
                      DeviceID ist klar denke ich?

                      Nennt sich beim Solar Flow Adapter: Device Key

                      1 Reply Last reply Reply Quote 1
                      • maxclaudi
                        maxclaudi @Rene55 last edited by maxclaudi

                        @rene55
                        und Alle:

                        Die generierten Passwörter wurden getestet, sind richtig und funktionieren.

                        Aber:
                        Der iobroker SolarFlow-Adapter hat keine Zugangsdaten für den lokalen Betrieb!
                        Deshalb funktioniert der Adapter von @nograx NUR wenn mann die Anmeldedaten mit in die URL übergibt.

                        Es wäre schön, wenn @nograx irgendwann in der Instanz des solarflow-Adapters eine Möglichkeit zum abspeichern von User und Password für einen lokalen MQTT-Server einpflegen würde.
                        Geht aber auch so!

                        Mit mosquitto-Server ausführlich getestet.

                        Wenn ein mosquitto-Server läuft verbinden sich die Zendure Geräte mit Passwörtern lokal einwandfrei.

                        maxclaudi 1 Reply Last reply Reply Quote 1
                        • maxclaudi
                          maxclaudi @maxclaudi last edited by

                          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.

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            Bernd1967 @maxclaudi last edited by

                            @maxclaudi
                            IOB läuft hier unter Windows.
                            Hast Du dafür auch eine Lösung ?

                            maxclaudi 1 Reply Last reply Reply Quote 0
                            • maxclaudi
                              maxclaudi @Bernd1967 last edited by

                              @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

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                Bernd1967 @maxclaudi last edited by Bernd1967

                                @maxclaudi
                                Komisch, es kommt keine Ausgabe.
                                Im script Adapter ist "enable command "exec" angehackt.
                                Log nach Ausführung:
                                Unbenannt.jpg

                                maxclaudi 1 Reply Last reply Reply Quote 0
                                • maxclaudi
                                  maxclaudi @Bernd1967 last edited by

                                  @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.

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    Bernd1967 @maxclaudi last edited by Bernd1967

                                    @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

                                    maxclaudi 1 Reply Last reply Reply Quote 0
                                    • maxclaudi
                                      maxclaudi @Bernd1967 last edited by

                                      @bernd1967
                                      👍
                                      nodered unter windows führt linux commands aus oder hat md5 intergiert?
                                      Blockly nimmt unter windows also das windows eigene cmd.

                                      B 1 Reply Last reply Reply Quote 0
                                      • maxclaudi
                                        maxclaudi @Rene55 last edited by

                                        @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.

                                        Rene55 1 Reply Last reply Reply Quote 0
                                        • Rene55
                                          Rene55 @maxclaudi last edited by

                                          @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.

                                          maxclaudi 1 Reply Last reply Reply Quote 0
                                          • maxclaudi
                                            maxclaudi @Rene55 last edited by maxclaudi

                                            @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:

                                            1. Du hast extern einen mosquitto (Broker) laufen mit port 1883.

                                            2. Am mosquitto bist Du mit iobroker-mqtt-Adapter-Client mit user und passwort (Authentication) verbunden.

                                            3. vermutlich sind Deine weiteren Geräte wie Wasseruhr, Stromzähler etc. auch mit dem msoquitto verbunden? Wahrscheinlich tasmota oder ähnliches.

                                            4. 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:

                                            1. Zendure noch 1x disconnecten und IP vom mosquitto eintragen.
                                              neustarten usw., weißt ja.

                                            2. 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 Klasse 👍

                                            Man 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

                                            Rene55 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            883
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            29
                                            138
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo