Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Pylontech v0.0.10

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

Test Adapter Pylontech v0.0.10

Geplant Angeheftet Gesperrt Verschoben Tester
210 Beiträge 29 Kommentatoren 39.5k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Offline
    B Offline
    bios123
    schrieb am zuletzt editiert von
    #121

    @PLCHome-0 Die Schnittstelle habe schon kontrolliert, dmesg zeigt da keine Aufälligkeiten: USB ran, wird erkannt und dann ist stille. Hab heute morgen einen Waveshare mit RS232/485/TTL geordert (den brauche ich noch für andere Projekt) und einen billigen USB Adapter mit Prolific Chipsatz, kommt morgen.
    Wie gesagt iobroker läuft in einem LXC (Proxmox Host) und ttyUSB0 ist direkt durchgereicht. Den Aufbau hab ich mit verschiedenen USB Geräten am laufen da gibt es keine Probleme.
    Wenn ich die Schnittstelle z.B. mit screen /dev/ttyUSB0 115200 öffne, kann ich jeden Befehl ohne Probleme absetzen und sehe auch keine Übertragungsfehler. Die Befehle bat, info, pwr, soh, stat, time, ver schließen direkt mit "Command completed successfully" ab:

    Command completed successfully
    $$
    PYTES>
    

    Bei help undlog braucht es ein Bestätigung der Abschnitte mit ENTER

    PYTES>log
    @
     Index   : 29    
     Time    : 24-02-22 11:41:23
     ModID   : BMM
     Code    : 1c5
     Info    : The device start charging.
    
     Index   : 28    
     Time    : 24-02-22 11:36:37
     ModID   : BMM
     Code    : 1c4
     Info    : The device start charging.
    
     Index   : 27    
     Time    : 24-02-22 11:30:09
     ModID   : BMM
     Code    : 1c3
     Info    : The device start charging.
    Press [Enter] to be continued,other key to exit
    

    Ich hab jetzt keine tiefere Analyse gemacht: Wartet dein Code oder wertet er die Zeile aus? Welchen Indikator nimmst du um festzustellen das ein Abfrage fertig ist, also zB info.

    Ich hoffe du hast noch ein wenig Geduld mit mir...

    PLCHome 0P 1 Antwort Letzte Antwort
    0
    • B bios123

      @PLCHome-0 Die Schnittstelle habe schon kontrolliert, dmesg zeigt da keine Aufälligkeiten: USB ran, wird erkannt und dann ist stille. Hab heute morgen einen Waveshare mit RS232/485/TTL geordert (den brauche ich noch für andere Projekt) und einen billigen USB Adapter mit Prolific Chipsatz, kommt morgen.
      Wie gesagt iobroker läuft in einem LXC (Proxmox Host) und ttyUSB0 ist direkt durchgereicht. Den Aufbau hab ich mit verschiedenen USB Geräten am laufen da gibt es keine Probleme.
      Wenn ich die Schnittstelle z.B. mit screen /dev/ttyUSB0 115200 öffne, kann ich jeden Befehl ohne Probleme absetzen und sehe auch keine Übertragungsfehler. Die Befehle bat, info, pwr, soh, stat, time, ver schließen direkt mit "Command completed successfully" ab:

      Command completed successfully
      $$
      PYTES>
      

      Bei help undlog braucht es ein Bestätigung der Abschnitte mit ENTER

      PYTES>log
      @
       Index   : 29    
       Time    : 24-02-22 11:41:23
       ModID   : BMM
       Code    : 1c5
       Info    : The device start charging.
      
       Index   : 28    
       Time    : 24-02-22 11:36:37
       ModID   : BMM
       Code    : 1c4
       Info    : The device start charging.
      
       Index   : 27    
       Time    : 24-02-22 11:30:09
       ModID   : BMM
       Code    : 1c3
       Info    : The device start charging.
      Press [Enter] to be continued,other key to exit
      

      Ich hab jetzt keine tiefere Analyse gemacht: Wartet dein Code oder wertet er die Zeile aus? Welchen Indikator nimmst du um festzustellen das ein Abfrage fertig ist, also zB info.

      Ich hoffe du hast noch ein wenig Geduld mit mir...

      PLCHome 0P Offline
      PLCHome 0P Offline
      PLCHome 0
      Developer
      schrieb am zuletzt editiert von PLCHome 0
      #122

      @bios123 sagte in Test Adapter Pylontech v0.0.8:

      Ich hoffe du hast noch ein wenig Geduld mit mir...

      Danke, dass du dir Gedanken machst. Aber einen Adapter, der nicht funktioniert, den braucht keiner :-)

      @bios123 sagte in Test Adapter Pylontech v0.0.8:

      Welchen Indikator nimmst du um festzustellen das ein Abfrage fertig ist, also zB info.

          while ((position = data.lastIndexOf('$$')) !== -1) {
            if ((start = data.lastIndexOf('>', position)) !== -1) {
              this.push(data.subarray(start, position - 1));
            }
      

      Der Code wertet alles zwischen > und $$ aus.

      if ((position = data.lastIndexOf('[Enter]')) !== -1) {
            data.write('-------', position);
            this.emit('needsenddata', '\r');
          }
      

      Wenn er [Enter] empängt, ersetzt er es mit - und sendet ein \r, das wird für das Log benötigt.

      Alles in ConsolenReader.ts zu finden.

      --

      Was ich komisch finde, ist das i1.
      Was man im Log sieht, ist das echo. Das bedeutet, man sendet ein Zeichen an den Akku und dieser sendet es zurück.

      @Radi hatte auch ein Problem mit dem Kabel. @Radi, vielleicht kannst du noch mal bescheriben, was genau der Fehler war?

      Da hat sich der Adapter doch auch total komisch verhalten. Es fehlten Zeichen und es waren welche da, die da nicht hingehörten.

      1 Antwort Letzte Antwort
      0
      • B bios123

        @PLCHome-0 die alten Objekte hatte ich bereits gelöscht um sicher zu gehen das alles sauber angelegt wird. SOH und STAT hab ich wie beschrieben ausgeschaltet. Das hilft aber nicht wirklich. Der Adapter ruft die Daten mal ab und mal nicht. Ich habe versucht den blockierenden Punkt zu finden. Das Kommando 'pwr' wird geschickt und ein Antwort gibt es auch, danach dann wieder Error: timeout. Ich vermute 'pwr' kann ich mit 'Batteriestromdaten herunterladen' abschalten? Wie schnell rufst du die Daten ab? Eventuell braucht die Pytes V5 nach jeder Anfrage einen Moment. Ich kann das zumindest nicht nachstellen, wenn ich manuell hintereinader ein Request abschicke. Ich rufe übrigens direkt per /dev/ttyUSB0 ab, Interface hängt am iobroker und 'US series' ist ausgewählt.

        
        pylontech.0
        2024-02-21 11:19:04.886	error	Error: timeout
        
        pylontech.0
        2024-02-21 11:18:59.932	silly	if
        
        pylontech.0
        2024-02-21 11:18:59.884	silly	16 - - - - - - - Absent - - - - - - - - - Command completed successfully $$ PYTES>
        
        pylontech.0
        2024-02-21 11:18:59.852	silly	- - Absent - - - - - - - - - 14 - - - - - - - Absent - - - - - - - - - 15 - - - - - - - Absent - - - - - - - - -
        
        pylontech.0
        2024-02-21 11:18:59.810	silly	- - - - - - 11 - - - - - - - Absent - - - - - - - - - 12 - - - - - - - Absent - - - - - - - - - 13 - - - - -
        
        pylontech.0
        2024-02-21 11:18:59.766	silly	- 8 - - - - - - - Absent - - - - - - - - - 9 - - - - - - - Absent - - - - - - - - - 10 - - - - - - - Absent - - -
        
        pylontech.0
        2024-02-21 11:18:59.723	silly	- - - - - - Absent - - - - - - - - - 6 - - - - - - - Absent - - - - - - - - - 7 - - - - - - - Absent - - - - - - - -
        
        pylontech.0
        2024-02-21 11:18:59.680	silly	- - - - - - - - 3 - - - - - - - Absent - - - - - - - - - 4 - - - - - - - Absent - - - - - - - - - 5 -
        
        pylontech.0
        2024-02-21 11:18:59.397	silly	PYTES> PYTES>pwr @ Power Volt Curr Tempr Tlow Thigh Vlow Vhigh Base.St Volt.St Curr.St Temp.St Coulomb Time B.V.St B.T.St Barcode DevType 1 53708 2164 24000 19000 19000 3352 3359 Charge Normal Normal Normal 52% 2024-02-21 18:15:57 Normal Normal ES1000XXXP010XXX E-BOX-48100V-D 2 - - - - - - - Absent -
        

        Gruß Markus

        PLCHome 0P Offline
        PLCHome 0P Offline
        PLCHome 0
        Developer
        schrieb am zuletzt editiert von PLCHome 0
        #123

        @bios123 sagte in Test Adapter Pylontech v0.0.8:

        Wie schnell rufst du die Daten ab? Eventuell braucht die Pytes V5 nach jeder Anfrage einen Moment.

        Also wenn du eine Pause ausprobieren möchtest, dann kannst du folgende Zeile einfügen:

        setTimeout(()=>{....},1000);
        

        **Editiert

        1000 ist die Wartezeit in ms.

        File build/pylontech/WorkerAbstract.js

        Alt:

          _nextcommand() {
            debugApi("MyWorkerAbstract._nextcommand", "this._activeCmd:", this._activeCmd, "this._started:", this._started);
            if (!this._activeCmd && this._started) {
              this._activeCmd = this._commands.shift();
              if (this._activeCmd) {
                this._parsers.setCMD(this._activeCmd.cmd);
                this.sendData(this._activeCmd.cmd + "\r");
                this._activeCmd.timeout = setTimeout(this._ontimeout.bind(this), this._timeout);
              }
            }
          }
        

        Neu:

          _nextcommand() {
            debugApi("MyWorkerAbstract._nextcommand", "this._activeCmd:", this._activeCmd, "this._started:", this._started);
            if (!this._activeCmd && this._started) {
              this._activeCmd = this._commands.shift();
              if (this._activeCmd) {
                setTimeout(()=>{
                  this._parsers.setCMD(this._activeCmd.cmd);
                  this.sendData(this._activeCmd.cmd + "\r");
                  this._activeCmd.timeout = setTimeout(this._ontimeout.bind(this), this._timeout);
                },1000);
              }
            }
          }
        

        **Editiert

        Pass bitte auf das sich der Adapter nicht überholt. Das Abfrageintervall kann man in der Konfiguration einstellen. Aktuell hatte ich da nichts vorgesehen, da durch die Timeout der Abruf nicht länger als 1 Minute dauern konnte.

        B 1 Antwort Letzte Antwort
        0
        • PLCHome 0P PLCHome 0

          @bios123 sagte in Test Adapter Pylontech v0.0.8:

          Wie schnell rufst du die Daten ab? Eventuell braucht die Pytes V5 nach jeder Anfrage einen Moment.

          Also wenn du eine Pause ausprobieren möchtest, dann kannst du folgende Zeile einfügen:

          setTimeout(()=>{....},1000);
          

          **Editiert

          1000 ist die Wartezeit in ms.

          File build/pylontech/WorkerAbstract.js

          Alt:

            _nextcommand() {
              debugApi("MyWorkerAbstract._nextcommand", "this._activeCmd:", this._activeCmd, "this._started:", this._started);
              if (!this._activeCmd && this._started) {
                this._activeCmd = this._commands.shift();
                if (this._activeCmd) {
                  this._parsers.setCMD(this._activeCmd.cmd);
                  this.sendData(this._activeCmd.cmd + "\r");
                  this._activeCmd.timeout = setTimeout(this._ontimeout.bind(this), this._timeout);
                }
              }
            }
          

          Neu:

            _nextcommand() {
              debugApi("MyWorkerAbstract._nextcommand", "this._activeCmd:", this._activeCmd, "this._started:", this._started);
              if (!this._activeCmd && this._started) {
                this._activeCmd = this._commands.shift();
                if (this._activeCmd) {
                  setTimeout(()=>{
                    this._parsers.setCMD(this._activeCmd.cmd);
                    this.sendData(this._activeCmd.cmd + "\r");
                    this._activeCmd.timeout = setTimeout(this._ontimeout.bind(this), this._timeout);
                  },1000);
                }
              }
            }
          

          **Editiert

          Pass bitte auf das sich der Adapter nicht überholt. Das Abfrageintervall kann man in der Konfiguration einstellen. Aktuell hatte ich da nichts vorgesehen, da durch die Timeout der Abruf nicht länger als 1 Minute dauern konnte.

          B Offline
          B Offline
          bios123
          schrieb am zuletzt editiert von
          #124

          @plchome-0

          host.iobroker
          2024-02-23 09:14:28.602	error	Caught by controller[0]: SyntaxError: await is only valid in async functions and the top level bodies of modules
          host.iobroker
          2024-02-23 09:14:28.602	error	Caught by controller[0]: ^^^^^
          host.iobroker
          2024-02-23 09:14:28.602	error	Caught by controller[0]: await new Promise((a)=>{setTimeout(a,1000)});
          host.iobroker
          2024-02-23 09:14:28.602	error	Caught by controller[0]: /opt/iobroker/node_modules/iobroker.pylontech/build/pylontech/WorkerAbstract.js:72
          

          so leider nicht.

          PLCHome 0P 1 Antwort Letzte Antwort
          0
          • B bios123

            @plchome-0

            host.iobroker
            2024-02-23 09:14:28.602	error	Caught by controller[0]: SyntaxError: await is only valid in async functions and the top level bodies of modules
            host.iobroker
            2024-02-23 09:14:28.602	error	Caught by controller[0]: ^^^^^
            host.iobroker
            2024-02-23 09:14:28.602	error	Caught by controller[0]: await new Promise((a)=>{setTimeout(a,1000)});
            host.iobroker
            2024-02-23 09:14:28.602	error	Caught by controller[0]: /opt/iobroker/node_modules/iobroker.pylontech/build/pylontech/WorkerAbstract.js:72
            

            so leider nicht.

            PLCHome 0P Offline
            PLCHome 0P Offline
            PLCHome 0
            Developer
            schrieb am zuletzt editiert von PLCHome 0
            #125

            @bios123 sagte in Test Adapter Pylontech v0.0.8:

            so leider nicht.

            Ups sorry ich habs oben korrigiert :-(

            Ich sagte ja, eine Pause ist nicht so trivial.

            B 1 Antwort Letzte Antwort
            0
            • PLCHome 0P PLCHome 0

              @bios123 sagte in Test Adapter Pylontech v0.0.8:

              so leider nicht.

              Ups sorry ich habs oben korrigiert :-(

              Ich sagte ja, eine Pause ist nicht so trivial.

              B Offline
              B Offline
              bios123
              schrieb am zuletzt editiert von
              #126

              @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 0P 1 Antwort Letzte Antwort
              0
              • B bios123

                @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 0P Offline
                PLCHome 0P Offline
                PLCHome 0
                Developer
                schrieb am zuletzt editiert von
                #127

                @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 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  bios123
                  schrieb am zuletzt editiert von
                  #128

                  @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 0P 1 Antwort Letzte Antwort
                  0
                  • B bios123

                    @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 0P Offline
                    PLCHome 0P Offline
                    PLCHome 0
                    Developer
                    schrieb am zuletzt editiert von
                    #129

                    @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 Antwort Letzte Antwort
                    0
                    • B Offline
                      B Offline
                      bios123
                      schrieb am zuletzt editiert von
                      #130

                      @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 0P 1 Antwort Letzte Antwort
                      0
                      • B bios123

                        @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 0P Offline
                        PLCHome 0P Offline
                        PLCHome 0
                        Developer
                        schrieb am zuletzt editiert von PLCHome 0
                        #131

                        @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 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          bios123
                          schrieb am zuletzt editiert von
                          #132

                          @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 0P 1 Antwort Letzte Antwort
                          0
                          • B bios123

                            @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 0P Offline
                            PLCHome 0P Offline
                            PLCHome 0
                            Developer
                            schrieb am zuletzt editiert von
                            #133

                            @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 0P 1 Antwort Letzte Antwort
                            0
                            • PLCHome 0P PLCHome 0

                              @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 0P Offline
                              PLCHome 0P Offline
                              PLCHome 0
                              Developer
                              schrieb am zuletzt editiert von
                              #134

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

                              B 1 Antwort Letzte Antwort
                              0
                              • L l1berty

                                Hi, Der Adapter läuft sauber bei mir.

                                Initial mit nem ESP32 der die Daten auf einem Port über Wifi zur Verfügung gestellt hat.

                                Nun mit Waveshare RS232/485/422 TO POE ETH (B).

                                Hersteller Link

                                POE powered mit Hutschienenmontage sieht das ganze schon ganz nett aus !
                                (Das Webinterface von dem Ding ist eine Katastrophe, mit der Software vom Hersteller lässt es sich aber gut parametrieren, bei Switches die kein 10 Mbit mehr unterstützen kann es Probleme geben).

                                Viele Grüße

                                derAugeD Offline
                                derAugeD Offline
                                derAuge
                                schrieb am zuletzt editiert von
                                #135

                                @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 0P 1 Antwort Letzte Antwort
                                1
                                • derAugeD derAuge

                                  @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 0P Offline
                                  PLCHome 0P Offline
                                  PLCHome 0
                                  Developer
                                  schrieb am zuletzt editiert von PLCHome 0
                                  #136

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

                                  derAugeD 1 Antwort Letzte Antwort
                                  1
                                  • PLCHome 0P 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.

                                    derAugeD Offline
                                    derAugeD Offline
                                    derAuge
                                    schrieb am zuletzt editiert von
                                    #137

                                    @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 0P B 2 Antworten Letzte Antwort
                                    0
                                    • derAugeD derAuge

                                      @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 0P Offline
                                      PLCHome 0P Offline
                                      PLCHome 0
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #138

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

                                      derAugeD 1 Antwort Letzte Antwort
                                      0
                                      • PLCHome 0P PLCHome 0

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

                                        derAugeD Offline
                                        derAugeD Offline
                                        derAuge
                                        schrieb am zuletzt editiert von
                                        #139

                                        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 Antwort Letzte Antwort
                                        0
                                        • PLCHome 0P PLCHome 0

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

                                          B Offline
                                          B Offline
                                          bios123
                                          schrieb am zuletzt editiert von
                                          #140

                                          @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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          307

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe