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.
    • PLCHome 0
      PLCHome 0 Developer @EhNieDa last edited by

      @ehnieda sagte in Test Adapter Pylontech v0.0.7:

      Mit einem meiner US5000 habe ich Probleme und dieser wurde eingeschickt. Zurück habe ich den bekommen mit Firmware Version 1.7. Mit dieser Firmware funktioniert der Adapter leider nicht. Erst als ich den Speicher mit V 1.3. als Master genommen habe wurden beide Seriennummern in den ioBroker Objekten angezeigt. Das aber nur als Info.

      Wenn du den 1.7 noch hast, kannst du mich mal auf PN kontaktieren. Natürlich bin ich daran interessiert, dass alle laufen.

      1 Reply Last reply Reply Quote 0
      • G
        gosund last edited by

        @PLCHome-0
        Vielen Dank für die Bereitstellung Deines Adapters!

        Ein paar Anmerkungen:

        • der Adapter wollte erst nicht laufen, hat immer mit timeout abgebrochen.
          Ursache war, daß auf einigen Modulen (US2000bplus / US2KBPL) noch eine ältere Version als die v2.8 war. Ich mußte alle älteren Module auf V2.8 aktuallisieren, jetzt klappt das auslesen.
          Evtl. in diesem Zusammenhang für Dich relevant:
          Der timeout kam, da die Module mit der älteren Version keine Antwort auf 'info ...' gesendet haben. Andere Befehle haben auch mit einer älteren Version (2.3 und 1.4) funktioniert bzw. Antworten geliefert.

        • im iobroker Log bekomme ich folgende debug Meldung:

        pylontech.0
        	2024-02-12 14:00:09.623	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) }
        
        • wie ermittle ich am besten den gesamt SoC aller Module?
        • wie sehe ich den SoH?
        1 Reply Last reply Reply Quote 0
        • B
          bios123 last edited by

          @PLCHome-0

          Ich würde deinen Adapter ebenfalls gerne einsetzen für meine Pytes Batterie. E shandelt sich allerdings um die neue V5 Serie (Pytes V5° bzw. V5°α) mit 5,12 kWh. Das Gerät identifiziert sich als E-BOX-48100V-D. Sieht auf den ersten Blick sehr ähnlich aus, passt aber nicht von der Formatierung und der Adapter hängt sich auf.

          PYTES>help
          @
          Local command:
          bat      Battery data show - bat [pwr][index]
          data     History data load - data [event/history][item]
          datalist Show recorded data - datalist {event/history}{item}}
          disp     Display Info at regular intervals - disp [(pwrs pwrNo)/val]/[(bats batNo)/volt/curr/temp]
          help     Help [cmd]
          info     Device infomation - info
          log      Log information show - log
          login    Login Admin mode - login [password]
          logout   user mode  - logout
          pwr      Power data show - pwr [index]
          shut     Shut down - shut
          soh      State of health - soh [addr]
          stat     Statistic data show - stat
          time     Time - time [year] [month] [day] [hour] [minute] [second]
          trst     Test Soft Reset - trst
          updata   updata system - updata
          ver      firmware info - ver
          **********************************************************
          Remote command:
          info     Device infomation - info                 
          login    Login Admin mode - login [password]
          logout   user mode  - logout
          Command completed successfully
          $$
          
          PYTES>info
          @
          Device address      : 1
          Manufacturer        : PYTES
          Device name         : E-BOX-48100V-D
          Board version       : SQBMSV110
          Main Soft version   : SPBMS16SRP2304V1.10.7.1C
          Iterate version     : SPBMS16SRP2304V1.10.7.1C.T5
          Soft  version       : V1.10
          Boot  version       : V1.13
          Comm version        : V2.0
          Release Date        : 23-10-13
          Barcode             : ES1000XXXP010XXX
          Board ID            : GD363039300001363831391F8D
          Board SRAM Size     : 96KB
          Board FLASH Size    : 256KB
          Specification       : 51.2V/100AH
          Cell Number         : 16
          Max Dischg Curr     : -105000mA
          Max Charge Curr     : 105000mA
          Console Port rate   : 115200
          Command completed successfully
          $$
          

          Ich kann dir gerne den gesamten Ouput liefern falls du interesse hast dieses Modell mit aufzunehmen. Gruß Markus

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

            Ich kann dir gerne den gesamten Ouput liefern falls du interesse hast dieses Modell mit aufzunehmen. Gruß Markus

            @gosund sagte in Test Adapter Pylontech v0.0.7:

            im iobroker Log bekomme ich folgende debug Meldung:

            Danke, dass ihr euch meldet und bereit seit den Adapter zu verbessern.
            Bitte unterhalb vom iobroker Installationsverzeichnis in das Verzeichnis node_modules/iobroker.pylontech wechseln.
            Vorher den Adapter bitte stoppen, damit nicht beide zusammen in den Stream spucken oder die Schnittstelle belegt ist.

            Mit dem Befehl könnt ihr Textfiles erstellen:

            node build/moc/fetchCmdSerial <port> 115200 <befehl>
            

            Beispiel:

            node build/moc/fetchCmdSerial /dec/ttyUSB0 115200 help
            

            oder für Netzwerkadapter:

            node build/moc/fetchCmdNet <ip/name> <port> <befehl>
            

            Beispiel:

            node build/moc/fetchCmdNet esp-link.fritz.box 23 help
            

            Bei Windowsrechnern muss der / gegen einen \ getauscht werden.

            Dann liegt in dem Verzeichnis eine Datei in diesem Fall help.txt
            Wäre nett, wenn ihr das einmal für die folgenden Befehle mach könntet:

            help, log, time, unit, bat, info, pwr, sysinfo
            

            ihr bekommt dann 8 Textdateien.

            Diese bitte zippen und mich über PN anschreiben, dann gebe ich euch meine E-Mailadresse.
            Bitte die Dateien nicht als Textfile per FTP vom Linux auf einen Windowsrechner übertragen, dieses verändert die Zeilenumbrüche!
            Ich kann leider mit Posts hier im Forum nichts anfangen, diese werden an den Zeilenenden um Leerzeichen und Umbrüche bereinigt.
            Mit den Dateien kann ich das System mocken, den Fehler analysieren und diese für automatische Tests benutzen.
            Da in den Dateien die Seriennummern enthalten sind, cleane ich dieses vorher noch.

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

              @plchome-0 Ich hab dir was fertig gemacht und zukommen lassen.

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

                @bios123 Ich saue es mir an. Dateien sahen gut aus...

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

                  @plchome-0 Ich hab dir was fertig gemacht und zukommen lassen.

                  Kannst du auch bitte noch "log", "bat 1", "info 1", "pwr 1", "soh 1", "stat 1" so mit Anführungsstrichen ' oder " abfragen und zusenden?

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

                    @plchome-0 Hast ein Update bekommen. Beim ersten Abrufen scheint mir "log" durchgerutscht zu sein.

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

                      @bios123 Danke, aber ich glaube das Problem bereits behoben zu haben 🙂

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

                        @PLCHome-0 Da passt was nicht. Hab gestern Abend mal die v0.0.8 angeschmissen und die Zellspannungen loggen lassen. Das scheint auch teilweise zu funktionieren. Seit heute Morgen dann anhaltende Fehler. Abrufintervall steht auf 5 Minuten:

                        2024-02-19 00:28:50.237  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 00:48:50.021  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 02:58:50.275  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 06:03:49.663  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 06:08:49.662  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 06:13:49.662  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 09:13:50.506  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 10:33:49.690  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 10:38:49.691  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 10:43:49.693  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 10:48:49.692  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 10:53:49.980  - error: pylontech.0 (58315) Error: timeout
                        2024-02-19 10:55:31.819  - error: pylontech.0 (64010) Error: timeout
                        2024-02-19 11:00:31.817  - error: pylontech.0 (64010) Error: timeout
                        2024-02-19 11:05:31.816  - error: pylontech.0 (64010) Error: timeout
                        2024-02-19 11:06:49.941  - error: pylontech.0 (64150) TypeError: Cannot read properties of undefined (reading 'battery01')
                        2024-02-19 11:07:21.962  - error: pylontech.0 (64171) TypeError: Cannot read properties of undefined (reading 'battery01')
                        2024-02-19 11:08:19.560  - error: host.iobroker Invalid request getRepository. "callback" or "from" is null
                        2024-02-19 11:09:46.013  - error: pylontech.0 (64209) TypeError: Cannot read properties of undefined (reading 'battery01')
                        2024-02-19 11:11:48.955  - error: pylontech.0 (64245) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:12:14.254  - error: pylontech.0 (64265) Error: timeout
                        2024-02-19 11:17:14.255  - error: pylontech.0 (64265) Error: timeout
                        2024-02-19 11:22:09.590  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:27:09.588  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:32:09.585  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:37:09.589  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:42:09.586  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:47:09.584  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:52:09.589  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 11:57:09.335  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 12:02:09.333  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 12:07:09.336  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        2024-02-19 12:12:09.337  - error: pylontech.0 (64265) TypeError: Cannot read properties of undefined (reading 'power')
                        
                        PLCHome 0 1 Reply Last reply Reply Quote 0
                        • PLCHome 0
                          PLCHome 0 Developer @bios123 last edited by

                          @bios123
                          Danke fürs Testen.
                          Ich bin ein wenig verwundet, dass es bei dir nicht geht. Hast du US-Modell ausgewählt? Wie verbindest du den seriellen Port mit dem Rechner?

                          In der Emulation läuft er bei mir. stat <batt> kann man nicht auf dem Akku abfragen wie bei den Pylontechs. Das passt aber nicht zu den Fehlermeldungen. soh <batt> sieht auch komisch aus.

                          
                          
                          PYTES>
                          
                          PYTES>stat 1
                          
                          @
                          
                          Invalid command or fail to excute.
                          
                          Usage:
                          Statistic data show - stat
                          
                          $$
                          
                          
                          PYTES>
                          
                          PYTES>soh 1
                          
                          @
                          
                          Power   1
                          
                          Battery    Voltage    SOHStatus  È$        
                          
                          0          3327       00000000
                          
                          1          3327       00000000
                          
                          2          3328       00000000
                          
                          3          3328       00000000
                          
                          4          3328       00000000
                          
                          5          3328       00000000
                          
                          6          3328       00000000
                          
                          7          3328       00000000
                          
                          8          3328       00000000
                          
                          9          3328       00000000
                          
                          10         3328       00000000
                          
                          11         3328       00000000
                          
                          12         3328       00000000
                          
                          13         3328       00000000
                          
                          14         3328       00000000
                          
                          15         3326       00000000
                          
                          Command completed successfully
                          
                          $$
                          
                          PYTES> 
                          

                          Am besten löscht du auch einmal alle Objekte in der Version 0.0.7 hat der da mist angelegt.
                          Und schalte doch mal die beiden Abrufe ab.

                          145dc461-eceb-4ba7-be95-4fbb7551c4d5-image.png

                          1 Reply Last reply Reply Quote 0
                          • B
                            bios123 last edited by 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 0 1 Reply Last reply Reply Quote 0
                            • PLCHome 0
                              PLCHome 0 Developer last edited by PLCHome 0

                              @bios123 sagte in Test Adapter Pylontech v0.0.8:

                              Noch mal danke für deine Geduld und das Interesse, den Adapter zu verbessern.
                              Aber ich muss gerade sagen, so richtig Plan habe ich nicht, warum es nicht gehen soll.
                              USB Adapter ist schon mal gut, wobei ein Kollege damit auch schon Probleme hatte.

                              Meines Wissen nach hatte er aber auch Fehlermeldungen im

                              sudo dmesg | grep usb
                              

                              Der Adapter ruft die Daten mal ab und mal nicht.

                              Komisch

                              Ich vermute 'pwr' kann ich mit 'Batteriestromdaten herunterladen' abschalten?

                              Download the battery power data
                              The "pwr" command is always written to the console. The command “pwr -n-” is only written to the console if this is set here. Here you will find information about the positions of the individual batteries. It is needed for the object tree. If this is switched off, the information from the "pwr" command is not transferred to the ioBroker and the "pwr -n-" command is not issued.

                              ja also pwr und pwr<n> alle weiten abrufe mit <n> sind dann auch nicht mehr möglich.

                              Wie schnell rufst du die Daten ab?

                              Der Adapter hat eine Que, wenn auf einen Befehl eine Antwort kommt, wird der nächste abgearbeitet. Da eine Pause zum Testen einzubauen ist möglich.
                              Vielleicht sollten wir zuerst einmal versuchen, das Time-out zu erhöhen.
                              Da der Adapter in Typescript geschrieben ist, sind die JS Dateien etwas unübersichtlich, da sie generiert wurden.

                              Ach, das Intervall kannst du zum Test auch besser mal auf 2, 3 oder 5 Minuten stellen.

                              unter build/pylontech/WorkerAbstarkt.js findest du in Zeile 42:

                              this._timeout = 5e3;
                              

                              das sind 5000ms oder 5sec. Trag doch da einmal 10000 (10e3) oder 20000 (20e3) ein.

                              Vielleicht denkt der Accu zu lange 🙂

                              Bei dem Pylontech muss der Befehl mit einem \r abgeschlossen werden, vielleicht mag er auch das nicht. Du kannst in Zeile 72-mal versuchen, ob es mit \r\n besser geht.

                              this.sendData(this._activeCmd.cmd + "\r");
                              

                              oder am Anfang einen Umbruch um den letzten Befehl anzuschließen..

                              this.sendData("\r\n" + this._activeCmd.cmd + "\r");
                              

                              oder \r muss gegen \n getauscht werden.

                              \r ist Wagenrücklauf \n ist Zeilenvorschub. Unter Linux wird auf der shell ein \n gesendet. Der Pylontech hat gerne ein \r.

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

                                @plchome-0 habe gerade nochmal ins log geschaut:

                                
                                pylontech.0
                                2024-02-21 12:42:30.168	silly	bat 1 @ Battery Volt Tempr Base State Volt. State Curr. State Temp. State Coulomb 0 3361 19000 Charge Normal Normal Normal 60% 60896 mAH 1 3360 19000 Charge Normal Normal Normal 60% 60446 mAH 2 3362 19000 Charge Normal Normal Normal 60% 60841 mAH 3 3361 19000 Charge Normal Normal Normal 60%
                                
                                pylontech.0
                                2024-02-21 12:42:30.124	silly	PYTES>i1 @ Unknown command 'i1' - try 'help' $$ PYTES>
                                
                                pylontech.0
                                2024-02-21 12:42:30.092	silly	- - Absent - - - - - - - - - Command completed successfully $$
                                
                                pylontech.0
                                2024-02-21 12:42:30.065	silly	- - - - - - 14 - - - - - - - Absent - - - - - - - - - 15 - - - - - - - Absent - - - - - - - - - 16 - - - - -
                                
                                pylontech.0
                                2024-02-21 12:42:30.022	silly	- 11 - - - - - - - Absent - - - - - - - - - 12 - - - - - - - Absent - - - - - - - - - 13 - - - - - - - Absent - - -
                                
                                pylontech.0
                                2024-02-21 12:42:29.979	silly	- - - - - - Absent - - - - - - - - - 9 - - - - - - - Absent - - - - - - - - - 10 - - - - - - - Absent - - - - - - - -
                                
                                pylontech.0
                                2024-02-21 12:42:29.936	silly	- - - - - - - - 6 - - - - - - - Absent - - - - - - - - - 7 - - - - - - - Absent - - - - - - - - - 8 -
                                
                                pylontech.0
                                2024-02-21 12:42:29.893	silly	- - - - 3 - - - - - - - Absent - - - - - - - - - 4 - - - - - - - Absent - - - - - - - - - 5 - - - - - - - Absent -
                                
                                pylontech.0
                                2024-02-21 12:42:29.850	silly	S>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 53780 529 24000 19000 19000 3359 3363 Charge Normal Normal Normal 60% 2024-02-21 19:39:27 Normal Normal ES1000626P010443 E-BOX-48100V-D 2 - - - - - - - Absent - - - - -
                                
                                pylontech.0
                                2024-02-21 12:42:29.807	silly	@ Unknown command 'i' - try 'help' $$ PYTES> PYTE
                                
                                pylontech.0
                                2024-02-21 12:36:35.083	error	Error: timeout
                                
                                pylontech.0
                                2024-02-21 12:36:30.112	silly	PYTES>i
                                
                                pylontech.0
                                2024-02-21 12:36:30.080	silly	- - - - Absent - - - - - - - - - Command completed successfully $$
                                
                                pylontech.0
                                2024-02-21 12:36:30.048	silly	- - - - - - - 14 - - - - - - - Absent - - - - - - - - - 15 - - - - - - - Absent - - - - - - - - - 16 - - -
                                
                                pylontech.0
                                2024-02-21 12:36:30.005	silly	- - - 11 - - - - - - - Absent - - - - - - - - - 12 - - - - - - - Absent - - - - - - - - - 13 - - - - - - - Absent - -
                                
                                pylontech.0
                                2024-02-21 12:36:29.962	silly	8 - - - - - - - Absent - - - - - - - - - 9 - - - - - - - Absent - - - - - - - - - 10 - - - - - - - Absent - - - - - -
                                
                                pylontech.0
                                2024-02-21 12:36:29.919	silly	Absent - - - - - - - - - 6 - - - - - - - Absent - - - - - - - - - 7 - - - - - - - Absent - - - - - - - - -
                                
                                pylontech.0
                                2024-02-21 12:36:29.876	silly	- - - - 3 - - - - - - - Absent - - - - - - - - - 4 - - - - - - - Absent - - - - - - - - - 5 - - - - - - -
                                
                                pylontech.0
                                2024-02-21 12:36:29.833	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 53903 3338 24000 19000 19000 3367 3371 Charge Normal Normal Normal 60% 2024-02-21 19:33:27 Normal Normal ES1000626P010443 E-BOX-48100V-D 2 - - - - - - - Absent - - - - -
                                

                                den Aufruf 'i' bzw 'i1' gibt es nicht, wo kommt der her?

                                Heute Abend hab ich sicher mehr Zeit...

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

                                  @bios123

                                  Da gibts nur das i von Info und die Nummer von den anderen Befehl. Das sieht mir aber nach eier Schnittstelle aus, die zeitweise abkackt oder NodeJs mach blödsinn 😞

                                  protected _getDataUS(option: any): Promise<any> {
                                    return new Promise<any>((resolve, reject) => {
                                      this._getUsPwr()
                                        .then((p: { pwrs: any; batteries: string[] }) => {
                                          this._getUsInfo(p, option.info, option.power)
                                            .then((p: resultForGet) => {
                                              this._getUsNormal(p, PWR, POWER, option.power)
                                                .then(p => {
                                                  this._getUsNormal(p, STAT, STATISTIC, option.statistic)
                                                    .then(p => {
                                                      this._getUsBatterie(p, BAT, option.celldata)
                                                        .then(p => {
                                                          this._getUsBatterie(p, SOH, option.cellsoh)
                                                            .then(p => {
                                                              this._getOne(p.allData, LOG, LOG, option.log)
                                                                .then(allData => {
                                                                  this._getOne(allData, TIME, TIME, option.time)
                                                                    .then(allData => {
                                                                      resolve(allData);
                                                                    })
                                                                    .catch(reject);
                                                                })
                                                                .catch(reject);
                                                            })
                                                            .catch(reject);
                                                        })
                                                        .catch(reject);
                                                    })
                                                    .catch(reject);
                                                })
                                                .catch(reject);
                                            })
                                            .catch(reject);
                                        })
                                        .catch(reject);
                                    });
                                  }
                                  
                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    bios123 @PLCHome 0 last edited by

                                    @plchome-0 Das fruchtet leider alles nicht. Zeit erhöhen macht keinen Unterschied und Zeilenabschluss mit \r und/oder \n in vielen Kombination, bringt auch keine Besserung. Hatte neben dem FTDI Adapter (vergossen mit Consolenanschluss auf RJ45) auch einen alten PL2303 versucht. Der scheint aber nicht wirklich gut zu laufen. Würde den USB/Serial Adapter gerne ausschließen, kannst du mir sagen welcher Adapter (vorzugweise über Amazon zu bekommen) gut funktioniert? Hab zwar noch ESP32/ESP8266 da, aber keine MAX Pegelwandler mehr.

                                    Wie gesagt teilweise klappt die Abfrage mehrfach hintereinander und dann wieder timeout. Vielleicht ist die serielle Schnitstelle von der Pytes-V5 einfach eine Diva.

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

                                      @bios123 Ich hab gerade den LogiLink AU0034 aus der Readme im einasatz, weil mir bei dem ESP die USB-Buchse zur Spannungsversorgung abgerissen ist und ich noch keine Zeit (oder Bock) hatte, den wieder zu reparieren 😞

                                      Ich habe aber auch keinen PI, sondern einen NUC im Einsatz. Ich gehe mal von einem PI als Hardware aus.

                                      Zuerst solltest du mal im dmesg schauen, ob die Schnittstelle Fehler meldet, wenn da irgendwas nicht stimmt, dann sieht man es da.

                                      Komisch ist ja, das es mit den Testscripts funktioniert und im Adapter Fehler produziert.
                                      In der Debugausgabe, die Du gepostet hast, überholen sich auch die Meldungen. Das kann aber auch wegen Multitasking normal sein.

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

                                        @bios123 Du hast aber auch die Masse verbunden? Das fehlte mal eine Zeit in den Anleitungen.

                                        DSUB signal
                                        2 RxD
                                        3 TxD
                                        5 Ground

                                        Andere Seite in deinem Handbuch

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

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

                                            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 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            775
                                            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