Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Pylontech v0.0.10

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Pylontech v0.0.10

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bios123 @PLCHome 0 last edited by

      @plchome-0 Kurzer Zwischenstand mit der Codeanpassung scheint es zu funktionieren. Ich lasse das mal so über Nacht laufen. Bin etxra auf 1 Minute Intervall runter und habe mich bei setTimeout(()=>{....},100); auf 100 Millisekunden rangetastet. Sobald ich die anderen USB-Serial Wandler habe, wird aber nochmal ohne Pause getestet.

      PLCHome 0 1 Reply Last reply Reply Quote 0
      • PLCHome 0
        PLCHome 0 Developer @bios123 last edited by

        @bios123 Kannst vielleicht auch mal mit 10ms probieren.

        In 100ms kann die Schnittstelle schon 1152 Zeichen übertragen. Da könnte dir der Akku ja schon seine ganze Lebensgeschichte erzählen 🙂

        115200 Baud 8n1 macht 1 Start + 8 Datenbit + kein Parity Bit + 1 Stop Bit, also 1+8+0+1 = 10 Bit für ein Zeichen, also 11520 Zeichen pro Sekunde im Maximum.

        Ich gucke mir das mal an und werde die Wartezeit einmal pflegbar machen.

        1 Reply Last reply Reply Quote 0
        • B
          bios123 last edited by

          @PLCHome-0 Update: Neben meinem Consolenkabel (USB->RJ45) mit FTDI Chip, habe ich noch einen
          Waveshare FT232RNL (FTDI), UGREEN mit PL2303 (Prolific) und den besagten LogiLink AU0034 (FTDI) zur Verfügung. Bei dem PL2303 werden offensichtlich immer nur kleine Datenmengen eingelesen und es gibt das totale Chaoslog. Bei den FDTI Konsorten kann ich keine wesentliche Unterschiede feststellen. Im weiteren Verlauf wurde der LogiLink benutzt.

          Kommen wir mal zurück zum Problem: Egal ob mit Pause oder ohne, es kommen immer wieder Timeouts. Abfrageintervalle getestet 1, 3 und 5 Minuten ohne/mit Pause von 100 ms bis 1000 ms. Die Tendenz, dass die Abfrage in einen Timeout läuft, ist ohne Pause auf jeden Fall höher. Mit Pause von 1000 ms und 5 Minuten Intervallen läuft der Adapter 2, 3 oder auch 5 Stunden ohne Probleme. Es kann aber auch passieren das ein oder mehrer Timouts hintereinader stattfinden und danach läufts wiede für 3 Stunden.
          Welche Informationen gerade abgerufen werden scheint auch unerheblich zu sein. Abbrüche hatte ich sowohl bei pwr, bat, log, info und time.

          Um wirklich sicher auszuschließen das es mit der Schnittstelle nix zu tun hat, habe ich kurzerhand ser2net bemüht und die Daten nicht direkt geholt. Das hat leider gar keinen Unterschied gemacht.

          So langsam gehen mir die Ideen aus, bis auf die Tatsache das eine Pytes-V5 an der Console nicht dafür gemacht zu seien scheint. Die Abfragen für soh, stat waren immer inaktiv beim testen. Hier müsste für stat ja noch eine Anpassung rein das es die Abfrage stat 1 nicht gibt.

          PLCHome 0 1 Reply Last reply Reply Quote 0
          • PLCHome 0
            PLCHome 0 Developer @bios123 last edited by

            @bios123 sagte in Test Adapter Pylontech v0.0.8:

            soh, stat

            Ja, die beiden gibt es so nicht, die solltest du ausschalten, damit es keine Irritationen gibt. stat unterscheidet sich auch zum Pylontech, da dort die stat pro Akku ausgegeben wird. Die Abfrage stat oder stat 1 sendet dort die Abfrage des ersten Akkus.

            Aber eigentlich sollten diese Abfragen kein Problem darstellen, da sie mit > beginnen und mit $$ aufhören. Es finden sich nur keine Treffer mit den regex.

            Das mit dem timeout ist irgendwie seltsam. Weil es zeitweise funktioniert und zeitweise nicht. Der Pylontch läuft mir ab und zu auch auf ein timeout so alle ein bis zwei Tage eine Abfrage. Ich dachte immer, es liegt bei mir am Wlan. Aber auch mit dem FTDI bekomme ich die Fehler auch alle ein bis zwei Tage mal.

            Es kann natürlich sein, dass der Akku nicht gleichzeitig mit zwei Geräten kommunizieren möchte und die Konsole dann keine Antwort bekommt, wenn er gerade mit dem Inverter quasselt.

            Ich muss mal schauen, ob es eine elegante Lösung gibt, im Falle eines Timeout das letzte Kommando zu wiederholen.

            Und wie ich eine Verriegelung umsetzte, dass sich das Intervall nicht überholt.

            Ich hätte allerdings nicht gedacht, dass es nicht dem nicht passenden Regex noch so viele Probleme gibt

            1 Reply Last reply Reply Quote 0
            • B
              bios123 last edited by

              @PLCHome-0 Noch eine kleine Anmerkung, da passt die Zuordnung nicht. Muss ich mal beobachten ob das nur bei 100% auftritt (habe den Fall mit fetchCmdSerial.js gesichert):

              State value to set for "pylontech.0.ES1000626P010443.battery16.coulomb" has to be type "number" but received type "string"
              

              5c9ad831-eae9-4530-94df-78d6ecedcf89-image.png
              6a42d8e2-bad1-430f-a9f8-d30c08b3fe5e-image.png

              PLCHome 0 1 Reply Last reply Reply Quote 0
              • PLCHome 0
                PLCHome 0 Developer @bios123 last edited by PLCHome 0

                @bios123 sagte in Test Adapter Pylontech v0.0.8:

                Muss ich mal beobachten ob das nur bei 100% auftritt (habe den Fall mit fetchCmdSerial.js gesichert):

                Wird wohl da da sonst nicht 100000mAh stehen. Bei 99% sind im Accu 99000mAh, dann passt der RegEx.

                /build/pylontech/ParserUSBatN.js

                aus

                const rowB = /^(.{9})(.{9})(.{9})(.{13})(.{13})(.{13})(.{13})(.{10})(.{9,16})?(.{1,3})?/gm;
                

                wird

                const rowB = /^(.{9})(.{9})(.{9})(.{13})(.{13})(.{13})(.{13})(.{9})(.{10,17})?(.{1,3})?/gm;
                

                Ja, das ist dann ein String weil "100% 1" nicht als Zahl erkannt wird.

                1 Reply Last reply Reply Quote 0
                • B
                  bios123 last edited by

                  @PLCHome-0 Mit dem angepassten RegEx scheint es zu passen, habe keine Meldung mehr bekommen.

                  Unter pylontech.0.ES1000626P010443.power.power_events erwartet der Adpater ebenfalls eine Zahl.

                  65a4e5c2-2093-4279-a6f3-896d7cbcd677-image.png

                  Mir is noch nicht ganz klar was "0x8000000 DSG" bedeutet, muss ich mal weiter beobachten falls es nochnmal kommt.

                  PLCHome 0 1 Reply Last reply Reply Quote 0
                  • PLCHome 0
                    PLCHome 0 Developer @bios123 last edited by

                    @bios123 Ok, das ist ein Problem. Der Adapter hat wie auch in den Beispieldaten 0x0 gefunden. Das ist eine Hexadezimale 0. darus macht er eien Dezimale 0.
                    Weil er 0x<ziffern sieht>. Nun sieht er 0x<ziffern sieht> <text> und wandelt es in Text.

                    PLCHome 0 1 Reply Last reply Reply Quote 0
                    • PLCHome 0
                      PLCHome 0 Developer @PLCHome 0 last edited by

                      @plchome-0 ich mache gleich mal eine 0.0.10 die sollte das dann können

                      B 1 Reply Last reply Reply Quote 0
                      • derAuge
                        derAuge @l1berty last edited by

                        @l1berty
                        Den Waveshare RS232/485/422 to RJ45 Ethernet Module, TCP/IP to Serial habe ich mir gerade bestellt.
                        e2caac27-5c21-4c0d-ae78-ecdffe9c34bc-image.png

                        nun fertige ich gerade das Anschlusskabel.

                        7d9886f9-61d3-4d12-81cd-d3f9e2802cd3-image.png
                        Pin1
                        Pin2
                        Pin3 => 232TX
                        Pin4
                        Pin5
                        Pin6 => 232RX
                        Pin7
                        Pin8 => GND

                        d3b024e3-5765-41bb-926b-062a8ca2fd63-image.png

                        Pin2 => RXD
                        Pin3 => TXD
                        Pin5 => GND

                        Frage: Müssen die Anschlüsse gekreuzt werden? (232TX-RXD) (232RX-TXD) (GND-GND)
                        Oder eine 1:1 Verbindung?

                        Wenn die Lieferung am Montag kommt, kann ich mit dem Testen unterstützen.
                        Es sollen 4x UC3000 ausgelesen werden
                        38fa7ed5-73c3-4218-b66c-fb9e1ceb4237-image.png

                        Gruß
                        Jürgen

                        PLCHome 0 1 Reply Last reply Reply Quote 1
                        • PLCHome 0
                          PLCHome 0 Developer @derAuge last edited by PLCHome 0

                          @derauge
                          Das Bild findest du zusammen mit dem Pinout in der readme.

                          c4b9bbaa-fecc-497c-89cd-9506ae5e5321-image.png

                          Die Geräte haben einen Stecker, daher muss es an der Kupplung so wie in der Readme angeschlossen werden.
                          Bei Kupplungen an den Geräten und Steckern am Kabel müssen RX und TX getaucht werden.

                          US3000 sollten einwandfrei funktionieren. Bitte nur den Ersten im Stack auslesen.

                          derAuge 1 Reply Last reply Reply Quote 1
                          • derAuge
                            derAuge @PLCHome 0 last edited by

                            @plchome-0

                            super,
                            habe nun ein Kabel angefertigt.
                            Wie kann ich es testen?
                            Habe einen Digitus USB-RS232-Adapter und ein Terminalprogramm.
                            mit welcher Baud-Rate und mit welchem Befehl kann ich etwas aus der Konsole locken?

                            Gruß
                            Jürgen

                            PLCHome 0 B 2 Replies Last reply Reply Quote 0
                            • PLCHome 0
                              PLCHome 0 Developer @derAuge last edited by

                              @derauge

                              mit welcher Baud-Rate und mit welchem Befehl kann ich etwas aus der Konsole locken?

                              115200
                              Das Problem ist, das er als Zeilenende gerne Cr nicht LF oder Cr LF hat.

                              derAuge 1 Reply Last reply Reply Quote 0
                              • derAuge
                                derAuge @PLCHome 0 last edited by

                                Habe dann erst mal meine "mobile" Installation direkt an das neue Kabel angeschlosse

                                crw--w---- 1 root tty       4,  9  4. Mär 06:52 /dev/tty9
                                lrwxrwxrwx 1 root root          7  4. Mär 06:52 /dev/ttyLaCrosse -> ttyUSB0
                                crw------- 1 root root      5,  3  4. Mär 06:52 /dev/ttyprintk
                                crw-rw---- 1 root dialout 188,  0  4. Mär 06:52 /dev/ttyUSB0
                                crw-rw---- 1 root dialout 188,  1  4. Mär 06:52 /dev/ttyUSB1
                                auge@RPi4-1:~ $
                                auge@RPi4-1:~ $
                                auge@RPi4-1:~ $
                                auge@RPi4-1:~ $ ls -l /dev/serial/by-id
                                insgesamt 0
                                lrwxrwxrwx 1 root root 13  4. Mär 06:52 usb-FTDI_FT232R_USB_UART_A5064E7V-if00-port0 -> ../../ttyUSB                         1
                                lrwxrwxrwx 1 root root 13  4. Mär 06:52 usb-SHK_JeeLink_LaCrosse-if00-port0 -> ../../ttyUSB0
                                auge@RPi4-1:~ $
                                auge@RPi4-1:~ $
                                
                                

                                Nach Installation das Adapters habe ich verschiedene "Lokaler Gerätepfad" getestet.

                                pylontech.0
                                2024-03-04 07:23:19.197	error	Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A5064E7V-if00-port0
                                pylontech.0
                                2024-03-04 07:18:19.211	error	Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A5064E7V-if00-port0
                                pylontech.0
                                2024-03-04 07:18:19.156	info	starting. Version 0.0.10 in /opt/iobroker/node_modules/iobroker.pylontech, node: v18.19.0, js-controller: 5.0.19
                                pylontech.0
                                2024-03-04 07:18:13.842	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                pylontech.0
                                2024-03-04 07:18:13.840	info	terminating
                                pylontech.0
                                2024-03-04 07:18:13.837	info	Got terminate signal TERMINATE_YOURSELF
                                pylontech.0
                                2024-03-04 07:15:18.790	error	Error: Error: No such file or directory, cannot open ttyUSB1
                                pylontech.0
                                2024-03-04 07:10:18.803	error	Error: Error: No such file or directory, cannot open ttyUSB1
                                pylontech.0
                                2024-03-04 07:10:18.751	info	starting. Version 0.0.10 in /opt/iobroker/node_modules/iobroker.pylontech, node: v18.19.0, js-controller: 5.0.19
                                pylontech.0
                                2024-03-04 07:10:13.643	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                pylontech.0
                                2024-03-04 07:10:13.641	info	terminating
                                pylontech.0
                                2024-03-04 07:10:13.638	info	Got terminate signal TERMINATE_YOURSELF
                                pylontech.0
                                2024-03-04 07:08:11.550	error	Error: Error: No such file or directory, cannot open /dev/ttyUSB1
                                pylontech.0
                                2024-03-04 07:08:11.500	info	starting. Version 0.0.10 in /opt/iobroker/node_modules/iobroker.pylontech, node: v18.19.0, js-controller: 5.0.19
                                pylontech.0
                                2024-03-04 07:08:06.937	info	terminating
                                pylontech.0
                                2024-03-04 07:08:06.434	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                pylontech.0
                                2024-03-04 07:08:06.432	info	terminating
                                pylontech.0
                                2024-03-04 07:08:06.430	info	Got terminate signal TERMINATE_YOURSELF
                                pylontech.0
                                2024-03-04 07:07:09.155	error	"path" is not defined:
                                pylontech.0
                                2024-03-04 07:07:09.121	info	starting. Version 0.0.10 in /opt/iobroker/node_modules/iobroker.pylontech, node: v18.19.0, js-controller: 5.0.19
                                

                                Nun gibt es zwei Möglichkeiten:
                                1.) Das Kabel ist falsch gebaut
                                2.) Die Pylontech spricht nicht mit uns

                                Werde dann erst noch mal das Kabel durchmessen müssen,
                                Oder habt ihr noch eine weitere Idee?

                                Gruß
                                Jürgen

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bios123 @PLCHome 0 last edited by

                                  @plchome-0 Kurzes Feedback: v.0.0.10 läuft gut und macht bis jetzt keinen Ärger mit der Pytes-V5. Ich habe das logging allerdings auf debug zurückgeschraubt, sehe also nicht mehr alles. Es gab keinen Timeout mehr. Wie sieht es denn mit soh bzw stat aus? Bringst du noch eine Update oder ist das schon integriert? Hatte im Hinterkopf erstmal die Timeouts bekämpfen und dann den Rest. Die einzige Meldung die immer kommt:

                                  debug | Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                  

                                  Vielleicht sollte man in der Adapterkonfig nochmal hervorheben welches Modell für welchen Battery-Typ passt oder den Selektor einen weiteren Eintrag verpassen. Dokumentation lesen macht halt lange nicht jeder.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bios123 @derAuge last edited by

                                    @derauge Ich mache das in der Regel auf einem Linux mit screen. Damit kannst du direkt sehen ob was kommt. Zum Beispiel

                                    screen /dev/ttyUSB0 115200 natürlich mit deinem Schnitstellepfad ersetzen (serial/by-id Pfad oder udev Regel nutzen macht Sinn).

                                    1 Reply Last reply Reply Quote 1
                                    • derAuge
                                      derAuge last edited by

                                      Heute wieder einen Schritt weiter....

                                      hatte meinen Fehler im Adapterkabel gefunden... Dummheit von mir.
                                      Dann habe ich den Tipp von @bios123 befolgt

                                      screen /dev/ttyUSB1 115200
                                      

                                      Dadurch weiß ich nun, dass mein Adapterkabel funktioniert 🙂

                                      Nun habe ich "/dev/ttyUSB1" in die Adapter eingetragen 😞

                                      pylontech.0
                                      2024-03-04 21:49:16.557	error	Error: Error: No such file or directory, cannot open /dev/ttyUSB1
                                      

                                      Danach habe ich den ersten USB-Anschluss frei gemacht und nur den USB->RS232 mit dem Adapterkabel angeschlossen.
                                      Nun liegt der USB-Adapter auf "ttyUSB0"
                                      92beaaa6-f6c7-4855-85fd-342e66532f24-image.png
                                      nun funktionier der Adapter und die Pylontech wird ausgelesen

                                      
                                      pylontech.0
                                      2024-03-04 22:30:33.695	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      pylontech.0
                                      2024-03-04 22:29:01.495	debug	{"command":"getDevices","message":"{}","from":"system.adapter.admin.0","callback":{"message":"{}","id":8,"ack":false,"time":1709587741491},"_id":75762725}
                                      
                                      pylontech.0
                                      2024-03-04 22:25:33.691	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      pylontech.0
                                      2024-03-04 22:20:33.691	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      pylontech.0
                                      2024-03-04 22:15:33.737	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      pylontech.0
                                      2024-03-04 22:10:33.903	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      pylontech.0
                                      2024-03-04 22:05:33.758	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                                      
                                      pylontech.0
                                      2024-03-04 22:05:31.263	info	starting. Version 0.0.10 in /opt/iobroker/node_modules/iobroker.pylontech, node: v18.19.0, js-controller: 5.0.19
                                      

                                      die Debug-Meldungen sind sicher bekannt.

                                      Was ich noch getestet habe

                                      auge@RPi4-1:~ $ ls -l /dev/serial/by-id
                                      insgesamt 0
                                      lrwxrwxrwx 1 root root 13  4. Mär 21:46 usb-FTDI_FT232R_USB_UART_A5064E7V-if00-port0 -> ../../ttyUSB0
                                      auge@RPi4-1:~ $
                                      

                                      den Wert in die Config einzutragen:
                                      a9109eae-59c3-447e-8821-07f0a70c06cb-image.png

                                      pylontech.0
                                      2024-03-04 22:35:43.806	error	Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A5064E7V-if00-port0
                                      
                                      pylontech.0
                                      2024-03-04 22:35:43.756	info	starting. Version 0.0.10 in /opt/iobroker/node_modules/iobroker.pylontech, node: v18.19.0, js-controller: 5.0.19
                                      

                                      Für mich sieht es so aus, dass nur die Konfiguration mit "/dev/ttyUSB0" funktioniert

                                      Gruß
                                      Jürgen

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        bios123 last edited by

                                        @PLCHome-0 Kann es sein das wir hier noch ein RegEx Problem haben? Irgendwie passt da was nicht. Die Bezeichnungen der Spalte sehen verschoben aus und die Werte teilweise auch. Die Daten holt der Adapter jetzt stabil aus dem Pack, jetzt brauchen wir wohl noch Feinschliff.

                                        1e991e4b-242c-416d-a861-337b9d8427a6-image.png

                                        9cad6e10-881e-4151-b35c-b31907004476-image.png

                                        PLCHome 0 1 Reply Last reply Reply Quote 0
                                        • PLCHome 0
                                          PLCHome 0 Developer @bios123 last edited by

                                          @bios123 schick mir bitte noch mal eine Datei von bat 1. Ist irgendwie komisch...

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            bios123 @PLCHome 0 last edited by bios123

                                            @plchome-0 Hab nochmal alle Daten gelöscht um zu prüfen ob direkt wieder das gleich Problem auftritt, aber dem ist nicht so. Ich werde es beobachten und dir eine Datei schicken.

                                            14e217b1-22bb-4509-903a-76585e1b8e0c-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            756
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            27
                                            204
                                            22934
                                            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