Ankündigung

Einklappen
Keine Ankündigung bisher.

Smarthome NG - Plugin um Kaco Blueplanet Hybrid 10.0 tl3 auszulesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Hi arnonuem

    Zitat von arnonuem Beitrag anzeigen

    Edit:
    Habe die Antwort in deinem Post #11 gefunden. Man muß wohl als Manager angemeldet sein, um an diese Daten zu kommen. Gibt es dafür schon eine Lösung?
    Nein, es gibt aktuell leider keine Lösung. Ohne Anmeldung als Manager sendet der WR die Werte nicht.

    Viele Grüße
    Ebsele

    Kommentar


      #32
      Hi zusammen,

      Update:

      Anbei ein angepasstes Skript mit diversen Zusatzinfos zur COM, insbesondere der Response-Zeit.
      Wenn die TCP/IP-Verbindung zwischen Eurem Host und dem WR okay ist, dann müssen die Werte zu buffer und timeout NICHT angepasst werden. Sollte das nötig sein, deutet dies u.U. auf eine instabile Verbindung zwischen Host und WR hin.
      Daher ist nur die IP-Adresse in Zeile 129 vom WR anzupassen.

      Die Ausgabe müsste (ungefähr) so aussehen wie im txt-File.

      Viele Grüße und hoffentlich ganz viel Erfolg beim Testen
      Ebsele

      P.S. :
      Aktuell können nur Daten gelesen werden, die der WR ohne Anmeldung als User oder Manager sendet. Ich habe mich schlicht noch nicht damit befasst, wie die kaco-WIN-APP das PW verschlüsselt. Wenn es jemand gibt, der da Erfahrung hat, gerne melden. Aktuell bin ich dabei die kummulierten Energiewerte für das Jahr zu "verstehen"; für Tag und Monat gibt es die ja bereits.
      Das SHNG-plugin stelle ich hier ebenfalls noch zur Verfügung - funktioniert zwar bei mir stabil, muss ich aber noch "aufräumen" und noch das web Interface ergänzen (das habe ich bei meinen plugins bisher noch nicht gemacht, da fehlt mir also leider die Erfahrung).

      Angehängte Dateien

      Kommentar


        #33
        Danke Ebsele,

        nach einem ersten Test läuft das angepasste Skript bei mir auf Anhieb. Ich kriege aber sporadisch time out Fehler. Vermutlich, weil neben meiner Testumgebung meine HA Integration und mein Consolinno Leaflet HEMS ebenfalls parallel mit dem WR kommunizieren. Bei der Kommunikation mit dem zweiten Kaco gibt es dieses Problem nicht. Ich werde bei Gelegenheit mal versuchen zwei Wechselrichter auszulesen und dann daraus die Summen für Ertrag, Verbrauch, etc. zu berechnen.

        Viele Grüße
        Arno

        Kommentar


          #34
          Hallo Ebsele,
          danke für dein Script. Jedoch kriege ich es mit meinem Kaco nicht zum laufen.

          Es bleibt immer bei folgendem Fehler stehen:
          C:\Users\Simon>python3 "C:\Users\Simon\Downloads\kaco_solo (2)\send_request_V16_socket_int.py"
          Hex: b'\xed\xde0:\x00\xbf\x0b\x00\x00\x02\x00#K\x08\x0b \x06\x00\x1a\xb1T\x10\xec\xd2_U\x02\x00\x1d\xcf\x0 1\x02\x14\x00%\xa1770842HK008831530012\x83\x05\x86 \x06\x85\x03\x00\x00\x00\x00\x00\x00'
          Gesendete Datenlänge: 28 Bytes
          Empfangene Datenlänge: 67 Bytes
          Client Socket State: ('192.168.1.17', 55961)
          Server Socket State: ('192.168.1.9', 9760)
          Antwortzeit: 0.004505 Sekunden

          data_stream nr.: data_1
          Hex: b'\xed\xde50\x00\x10\n\x00\x00\x14\x00%\xa1770842H K008831530012\x14\x00%\xa1770842HK008831530012'
          Gesendete Datenlänge: 28 Bytes
          Empfangene Datenlänge: 57 Bytes
          Client Socket State: ('192.168.1.17', 55961)
          Server Socket State: ('192.168.1.9', 9760)
          Antwortzeit: 0.026015 Sekunden

          data_stream nr.: data_2
          Hex: b'\xed\xde5\x06\x00O\x01\x00\x00\x02\x00\xfd-\x1b\x08'
          Gesendete Datenlänge: 28 Bytes
          Empfangene Datenlänge: 15 Bytes
          Client Socket State: ('192.168.1.17', 55961)
          Server Socket State: ('192.168.1.9', 9760)
          Antwortzeit: 0.020034 Sekunden

          data_stream nr.: data_3
          Traceback (most recent call last):
          File "C:\Users\Simon\Downloads\kaco_solo (2)\send_request_V16_socket_int.py", line 209, in <module>
          combined_bytes_1 = client.recv(BUFFER_SIZE)
          ^^^^^^^^^^^^^^^^^^^^^^^^
          TimeoutError: timed out

          Ich habe auch schon eine direkte Verbindung Laptop -> Kaco probiert um den Router oder ähnliches auszuschließen.
          Ebenfalls habe ich zu Testzwecken die Buffer Size sowie kaco_response_timeout erhöht. Leider hat dies auch nichts gebracht.

          Die IP von meinem Kaco ist: 192.168.1.9
          Laptop IP ist 192.168.1.17 ich denke ich habs richtigherum eingetragen.

          Hast du noch eine Idee an was es liegen könnte oder wie ich dem Problem auf die Schliche kommen kann?

          Viele Grüße
          Gasi

          P.S. ich bin Simonga im Openems Forum. Dort hatten wir ja neulich Kontakt, wo du mich auf dieses Forum hingewiesen hast. ​

          Kommentar


            #35
            Hallo Gasi,

            Du musst nur die IP von Deinem WR eintragen, den Rest macht der "socket-Befehl" alleine. Im py-script ist die src-IP ja auch auskommentiert. Das scheint aber nicht das Problem zu sein.
            Was ich sehen kann, ist, dass Dein WR auf den erste Request richtig antwortet. Da steht nämlich die Seriennummer Deines WR drin.
            Der zweite Request (data_1) bricht dann nach 57 Bytes ab. Typisch sind aber 165 Bytes. Der Abbruch erfolgt nach der Übertragung der Seriennummer, die wird aber typischerweise bei dem Request 2 Mal vom WR gesendet - zumindest bei mir.

            Ich hätte auf die Schnelle ein paar Ideen/Fragen:
            1. Welche Firmware-Versionen hast Du? Ich habe 8.2@hy-switch, 8.18@Controller und 8.9@COM. Ggf. ist das Sendeverhalten vom WR bei früheren Versionen anders, was ich aber leider nicht weiß, denn ich habe keinen Vergleich.
            2. Siehst Du am Wechselrichterdisplay oder in der "EventHisory" der WIN-APP irgendwelche Fehlereinträge aus der jüngeren Vergangenheit? Wenn ja, welche?
            3. Ich habe im script versuchsweise eine kleine "Pause" zwischen den Requests eingebaut. Das sorgt dafür, dass die Requests nicht nacheinander "rausgeballert" werden. Normalerweise sollte das bei der TCP/IP Kommunikation kein Thema sein, aber vielleicht kommen wir damit einen kleinen Schritt weiter und bekommen noch mal einen "Hinweis" --> Anhang
            Mehr Ideen habe ich adhoc leider nicht, aber vielleicht kommen wir damit ja schon weiter.

            Melde Dich gerne wieder.

            Grüße
            Ebsele


            Angehängte Dateien

            Kommentar


              #36
              Hi Ebsele,

              ich hab mithilfe deiner Auswertung zwei python programme erstellt die die Daten an einen MQTT Server weitergeben, einmal für Benutzer von der V7 Firmware auf dem Kaco und einmal der V8.

              V7 (Nur Windows, tshark (Wireshark) und Kaco Hy-Sys müssen installiert sein):
              kaco v7 zu mqtt (windows).zip

              Die V7 Version läuft nur auf Windows und wenn auf dem gleichen Rechner Kaco hy-sys aktiv ist und hört die Daten mit. Die werden dann ausgewertet und an einen MQTT Broker gesendet.
              Tshark.exe muss hier installiert sein: C:\\Program Files\\Wireshark\\tshark.exe
              IP vom Kaco WR muss in Zeile 144 eingetragen werden. IP vom MQTT Server in Zeile 160, User und passwd vom MQTT Broker in zeile 162

              V8:
              kaco v8 zu mqtt.zip

              Die V8 Version fragt die Daten ab wie dein Programm (mit etwas mehr error handling) und schickt sie direkt an einen MQTT Broker.

              "send_request_V16_socket_int_ohne_auswertung.p y" muss im gleichen Ordner wie die "kaco export run.py" Datei liegen und darf nicht umbenannt werden.

              In "send_request_V16_socket_int_ohne_auswertung.p y" muss in Zeile 140 die Kaco-WR IP eingetragen werden.

              In "kaco export run.py" muss in Zeile 154 die IP vom MQTT Broker eingetragen werden und in Zeile 156 Username und passwd.

              Durch das Error Handling werden einzelne Timeouts bei den Anfragen 1-16 ignoriert und es kommen trotzdem Daten an.

              Kommentar


                #37
                Hallo,

                habe ein kurze Frage zu deinen Phyton-Skripten. Kann ich die auf einen kleinen Raspberry laufen lassen, wie müsste ich dazu vorgehen?
                Auf diesem läuft der Broker von FHEM, die Daten müssten dann eigentlich weitergereicht werden können, oder?

                Danke

                Kommentar


                  #38
                  gelöscht
                  Zuletzt geändert von Gast; 30.10.2024, 14:39. Grund: falscher account

                  Kommentar


                    #39
                    Vielen Dank für eure Arbeit (insbesondere Ebsele)!

                    Das Script "send_request_V17_socket_int.py" läuft mit meinem WR unter Linux einwandfrei. Ich benutze iobroker als Smart Home Lösung und werde mich mal ransetzen, das script nach node.js zu portieren, um es direkt darin nutzen zu können. Würde eine entsprechende Lösung gerne in der iobroker Community teilen. Hoffe das ist im Sinne des Urhebers ? Würde den Thread hier zur Vernetzung für eine eventuelle Weiterentwicklung darin vermerken.

                    Grüße
                    protree​

                    Kommentar


                      #40
                      Hallo protree,

                      freut mich, dass es bei Dir funktioniert.
                      Ja, sehr gerne für andere Smarthome-Applikationen verwenden. Würde mich freuen, wenn die Lösung weiterentwickelt wird.

                      Grüße
                      Ebsele
                      Zuletzt geändert von Ebsele; 09.11.2024, 12:57.

                      Kommentar


                        #41
                        Geht es doch evtl. über Modbus TCP? Schaut mal hier: https://github.com/blacksun80/dbus-kaco_blueplanet

                        Kommentar


                          #42
                          Leider nein, der „blueplanet Hybrid“ kann kein ModBus (siehe Post Nummer 1 ganz am Anfang) ein großer Teil der blueplanet-Serie -insbesondere die reinen Solarwechselrichter (ohne Batterie-Option) aber schon.
                          Bitte frag mich nicht, was sich Kaco dabei gedacht hat
                          Zuletzt geändert von Ebsele; 09.11.2024, 13:33.

                          Kommentar


                            #43
                            Ich habe nachgefragt, der kaco h3 verfügt über modbus rtu und tcp

                            Kommentar


                              #44
                              Hi Celsius

                              Zitat von Celsius Beitrag anzeigen
                              Ich habe nachgefragt, der kaco h3 verfügt über modbus rtu und tcp
                              Was ist das genau für ein Kaco? Kannst Du die volle Bezeichnung hier posten?
                              Solltest Du den neuen blueplanet hybrid x.0 NH3 meinen, dann stimmt Deine Aussage zwar, aber um diesen Hybrid-Wechselrichter geht es hier in dem Thread nicht.

                              Grüße
                              Ebsele
                              Zuletzt geändert von Ebsele; 30.11.2024, 13:12.

                              Kommentar


                                #45
                                Hallo Ebsele
                                Ich habe den Kaco blueplanet hybrid 10.0 NH3 M3.
                                Grüße
                                Celsius

                                Kommentar

                                Lädt...
                                X