Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Maxcul ist komplett unbrauchbar (geloest mit 0.5.2)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Maxcul ist komplett unbrauchbar (geloest mit 0.5.2)

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

      PS: Das obige Changelog ist vom CUL Adapter, der ebenfalls nicht geht, also gar nicht mehr. Der gibt nicht mal mehr irgendwas aus.

      Das Changelog vom maxcul zeigt wohl denselben Eingriff:

      Changelog

      0.4.1 (2018-02-15)

      • (Apollon77) Upgrade dependencies

      0.4.0 (2018-01-24)

      • (Apollon77) Upgrade Serialport and cul library
      1 Reply Last reply Reply Quote 0
      • S
        skraw.iobroker last edited by Negalein

        Und hier noch kurz die Ursache warum eine aeltere Version nicht installierbar ist:

        root@ioBroker-Pi:/opt/iobroker# ./iobroker upload maxcul
        got /opt/iobroker/node_modules/iobroker.maxcul/admin
        upload [1] maxcul.admin /opt/iobroker/node_modules/iobroker.maxcul/admin/maxcul.png maxcul.png image/png
        upload [0] maxcul.admin /opt/iobroker/node_modules/iobroker.maxcul/admin/index.html index.html text/html
        system.adapter.maxcul does not exist
        

        Die letzte Zeile bedeutet scheinbar dass der Adapter dann auch nicht im Admin-Web sichtbar ist.

        1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 last edited by

          Für cul Adapter hat in einem anderen Thread einnistet folgendes mit nanocul herausgefunden: http://forum.iobroker.net/viewtopic.php?t=9286

          Jetzt ist die Frage ob das was ist was speziell der nanocul befindet Initialisierung braucht …

          Ich schaue mir das heute Abend beides mal an.

          Es gab für beide Adapter bei den letzten Updates entsprechende Threads im Tester Forum aber keiner hat dort getestet. Da ich selbst die Hardware nicht habe Ist es damit dann schwierig.

          Da wir aber immer alles versuchen was wir können bin ich sicher das wir das, wenn Nutzer mithelfen beim testen, alles GEMEINSAM hinbekommen.

          1 Reply Last reply Reply Quote 0
          • S
            skraw.iobroker last edited by

            Ich habe den Code mittlerweile etwas gelesen und verstehe nicht woher Du das Kommando "Za

            <address>" hast. Im Command Ref von CULFW kommt das nicht vor:

            http://culfw.de/commandref.html

            Da gibts nur Zr Zs Zx</address>

            1 Reply Last reply Reply Quote 0
            • S
              skraw.iobroker last edited by

              Ich habe jetzt mal testweise den Code so geaendert:

               env.logger.debug('enable MAX! Mode of the CUL868');
                                          return _this._serialDeviceInstance.writeAsync('X20\r\n').then(function() {
                                              return _this._serialDeviceInstance.writeAsync('Zr\r\n').then(function() {
                                                  // return _this._serialDeviceInstance.writeAsync('Za' + _this._baseAddress + '\n');
                                              });
                                          })['catch'](reject);
              

              Aber ich glaube dass die "\r" nichts bringen, der macht den "V\n" vorher ja auch, das Ergebnis kommt ja, aber halt in Teile zerhackt. Das Problem liegt ziemlich sicher im Handling der seriellen Schnittstelle. Sowas simples wie einen fgets() gibts hier wohl nicht (liest so lange Zeichen bis ein [<cr>][<lf>] kommt, oder EOF)?</lf></cr>

              1 Reply Last reply Reply Quote 0
              • S
                skraw.iobroker last edited by

                Um die Frage mit dem Init des nanoCUL zu beantworten. Mir scheint dass man ausser dem "Zr" fuer MORITZ praktisch nichts tun muss. Gut, wenn man die RSSI will, dann vorher ein "X20", aber das sollte auch schon genuegen…

                1 Reply Last reply Reply Quote 0
                • S
                  skraw.iobroker last edited by

                  Hier ist der Hund begraben (communication-layer.js):

                                  return function() {
                                      var resolver, timeout;
                                      resolver = null;
                                      timeout = 30000;
                                      env.logger.info('serialPort ' + _this.serialPortName + ' is open!');
                                      _this._serialDeviceInstance.on('data', function(data) {
                                          var dataString;
                                          dataString = '' + data;
                                          dataString = dataString.replace(/[\r]/g, '');
                                          if (/^\d+\s+\d+$/.test(dataString)) {
                                              var m = dataString.match(/^(\d+)\s+(\d+)$/);
                                              return _this.emit('creditsReceived', m[2], m[1]);
                                          }
                                          env.logger.debug('incoming raw data from CUL: ' + data);
                  
                                          if (/^V(.*)/.test(dataString)) {
                                              _this.emit('culFirmwareVersion', dataString);
                                              _this.ready = true;
                                              return _this.emit('ready');
                                          } else if (/^Z(.*)/.test(dataString)) {
                                              return _this.emit('culDataReceived', dataString);
                                          } else if (/^LOVF/.test(dataString)){
                                              return _this.emit('LOVF', true);
                                          } else {
                                              return env.logger.info('received unknown data: ' + dataString);
                                          }
                                      });
                  
                  

                  Dieser ganze Code geht nur wenn die Daten tatsaechlich als komplette Zeilen mit "\r" am Ende ankommen. Wenn das serielle Interface das nicht macht, geht davon nichts mehr.

                  Die Tests testen alle nur den String-Anfang, das Loeschen des "\r" geht nur korrekt, wenn das das letzte Zeichen ist. Wenn kein "\r" vorkommt ist der String zerhackt und wird von der naechsten Schicht nicht mehr erkannt. Noch schlimmer waere der Fall wenn der gelieferte String den letzten Teil von Zeile X und den ersten Teil von Zeile X+1 enthaelt. Dann gehen gleich zwei Zeilen vom CUL baden. Durch den Replace werden die beiden einfach zusammengehaengt.

                  Mir scheint die alten serialport Routinen funktionierten gaenzlich anders als die neu in V0.4.0 ge-upgrade-ten.

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    Ich hab eine Idee. Ja es hat sich beim serialport Update was geändert, dachte habe es korrekt umgestellt. Checke es heute Abend und melde mich ggf mit einer Version zum testen auf github. Denke das der Readline parser die Ursache ist.

                    1 Reply Last reply Reply Quote 0
                    • S
                      skraw.iobroker last edited by Negalein

                      Ich moechte darauf hinweisen dass ich glaube dass auch das Schreiben auf das Device nicht korrekt geht.

                      Mir fallen diese staendigen Zeilen auf:

                      maxcul.0 2018-02-18 18:32:12.720 info received unknown data: 20 531
                      maxcul.0 2018-02-18 18:32:12.719 debug incoming raw data from CUL: 20 531
                      maxcul.0 2018-02-18 18:32:07.717 info received unknown data: 20 526
                      maxcul.0 2018-02-18 18:32:07.716 debug incoming raw data from CUL: 20 526
                      maxcul.0 2018-02-18 18:32:02.715 info received unknown data: 20 521
                      maxcul.0 2018-02-18 18:32:02.714 debug incoming raw data from CUL: 20 521
                      maxcul.0 2018-02-18 18:31:57.712 info received unknown data: 20 516
                      maxcul.0 2018-02-18 18:31:57.711 debug incoming raw data from CUL: 20 516
                      maxcul.0 2018-02-18 18:31:52.708 info received unknown data: 20 511
                      maxcul.0 2018-02-18 18:31:52.708 debug incoming raw data from CUL: 20 511
                      maxcul.0 2018-02-18 18:31:47.704 info received unknown data: 0 506
                      maxcul.0 2018-02-18 18:31:47.704 debug incoming raw data from CUL: 0 506
                      maxcul.0 2018-02-18 18:31:47.690 info received unknown data: 2
                      maxcul.0 2018-02-18 18:31:47.690 debug incoming raw data from CUL: 2
                      

                      Es sind Zeilen ala " 20 526". Ich weiss nicht was das ist, ich kenn CUL zuwenig. Aber ich wuerde sagen das ist etwas was nach "Zr" gar nicht kommen duerfte.

                      Deshalb ist meine Vermutung dass in Wirklichkeit nur das Schreiben von "V\n" geht und die Version kommt, aber die Kommandos danach "X20\nZr\n" gar nicht mehr beim nanoCUL ankommen und deshalb diese Daten im Sekundentakt erscheinen…

                      1 Reply Last reply Reply Quote 0
                      • S
                        skraw.iobroker last edited by

                        … und wenn Du schon mal am Code-Aendern bist, "Received" schreibt man nicht "Recieved" 🙂 Kommt 4-5 Mal vor im Code ...

                        Ist mir in der Ausgabe aufgefallen, kommt aber als Token auch vor.

                        1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 last edited by

                          ;-)) fixe ich gern mit. Der Adapter ist auch nicht von mir von daher kann ich noch mehr blind Änderungen machen. Aber mit Testern geht alles 😉

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            So, jetzt dann hier mal als ersten Schritt eine 0.4.2 auf GitHub. Diese sollte das vollständige Zeilenlesen fixen und damit genau so funktionieren wie vorher. Weiterhin sind die "Recieved" in "Received" geändert … Hoffe es sind wirklich die Nachrichten falsch. 🙂

                            Bitte testen und berichten.

                            1 Reply Last reply Reply Quote 0
                            • S
                              skraw.iobroker last edited by Negalein

                              Geht nicht. wie man hier sieht sind die Zeilen immer noch zerhackt, schon die erste Ausgabe der Version ist zerteilt:

                              maxcul.0 2018-02-19 02:18:26.723 info received unknown data: 20 465
                              maxcul.0 2018-02-19 02:18:21.691 info received unknown data: 20 460
                              maxcul.0 2018-02-19 02:18:17.417 info received unknown data: CC123456001064
                              maxcul.0 2018-02-19 02:18:16.690 info received unknown data: 20 464
                              maxcul.0 2018-02-19 02:18:11.690 info received unknown data: 20 459
                              maxcul.0 2018-02-19 02:18:11.607 info received unknown data: Z0B4106301337CC123456001263
                              maxcul.0 2018-02-19 02:18:06.686 info received unknown data: 20 463
                              maxcul.0 2018-02-19 02:18:01.687 info received unknown data: 20 458
                              maxcul.0 2018-02-19 02:17:56.680 info received unknown data: 00 453
                              maxcul.0 2018-02-19 02:17:53.737 info received unknown data: anoCUL868
                              maxcul.0 2018-02-19 02:17:53.719 info CUL FW Version: V 1.67 n
                              maxcul.0 2018-02-19 02:17:51.697 info serialPort /dev/ttyUSB0 is open!
                              maxcul.0 2018-02-19 02:17:51.670 info using serial device /dev/ttyUSB0@38400
                              maxcul.0 2018-02-19 02:17:51.198 info starting. Version 0.4.2 in /opt/iobroker/node_modules/iobroker.maxcul, node: v6.13.0
                              
                              1 Reply Last reply Reply Quote 0
                              • S
                                skraw.iobroker last edited by Negalein

                                Und es gibt noch ein Problem. Der Adapter laesst sich eigentlich nicht aus dem Github installieren. Ich habe ein frisches Image verwendet und versucht maxcul aus dem github zu installieren. Zwar installiert scheinbar der Adapter irgendwie/irgendwo, aber die Konfiguration springt nicht an und er erscheint auch nicht in der Instanzliste, obwohl er in der Adapterliste mit Version 0.4.2 und Status "installiert" steht.

                                Da geht wohl was waehrend der Installation nicht…

                                Hier das Logfile:

                                host.ioBroker-Pi 2018-02-19 03:35:37.807 info Update repository "default" under "[http://download.iobroker.net/sources-dist.json](http://download.iobroker.net/sources-dist.json)"
                                iobroker 2018-02-19 03:35:36.910 info exit 0
                                iobroker 2018-02-19 03:35:36.788 info upload [0] maxcul.admin /opt/iobroker/node_modules/iobroker.maxcul/admin/index.html index.html text/html
                                iobroker 2018-02-19 03:35:36.654 info upload [1] maxcul.admin /opt/iobroker/node_modules/iobroker.maxcul/admin/maxcul.png maxcul.png image/png
                                iobroker 2018-02-19 03:35:36.625 info got /opt/iobroker/node_modules/iobroker.maxcul/admin
                                iobroker 2018-02-19 03:35:10.080 info prebuild-install WARN install No prebuilt binaries found (target=6.13.0 runtime=node arch=arm platform=linux)
                                iobroker 2018-02-19 03:35:10.057 info prebuild-install http 404 [https://github.com/node-serialport/node … arm.tar.gz](https://github.com/node-serialport/node-serialport/releases/download/v6.0.5/serialport-v6.0.5-node-v48-linux-arm.tar.gz)
                                iobroker 2018-02-19 03:35:09.339 info prebuild-install http request GET [https://github.com/node-serialport/node ... arm.tar.gz](https://github.com/node-serialport/node-serialport/releases/download/v6.0.5/serialport-v6.0.5-node-v48-linux-arm.tar.gz)
                                iobroker 2018-02-19 03:35:09.336 info prebuild-install info looking for cached prebuild @ /root/.npm/_prebuilds/https-github.com-node-serialport-node-serialport-releases-download-v6.0.5-serialport-v6.0.5-node-v48-linux-arm.tar.gz
                                iobroker 2018-02-19 03:35:09.328 info prebuild-install info looking for local prebuild @ prebuilds/serialport-v6.0.5-node-v48-linux-arm.tar.gz
                                iobroker 2018-02-19 03:35:09.315 info info begin Prebuild-install version 2.5.1
                                iobroker 2018-02-19 03:35:09.313 info
                                iobroker 2018-02-19 03:35:09.307 info prebuild-install
                                iobroker 2018-02-19 03:34:04.462 info npm install [https://github.com/ioBroker/ioBroker.ma ... all/master](https://github.com/ioBroker/ioBroker.maxcul/tarball/master) --production --prefix "/opt/iobroker" (System call)
                                iobroker 2018-02-19 03:34:03.895 info install [https://github.com/ioBroker/ioBroker.ma ... all/master](https://github.com/ioBroker/ioBroker.maxcul/tarball/master)
                                iobroker 2018-02-19 03:34:02.656 info url "[https://github.com/ioBroker/ioBroker.ma ... all/master](https://github.com/ioBroker/ioBroker.maxcul/tarball/master)" maxcul
                                
                                1 Reply Last reply Reply Quote 0
                                • S
                                  skraw.iobroker last edited by

                                  Die Erkenntnisse von heute sind folgende:

                                  Es ist mir jetzt gelungen in einer frischen Installation die Version 0.3.0 von maxcul zu installieren. Ich stelle fest sie geht voellig einwandfrei. Und ich hatte scheinbar mit meiner obigen Analyse recht, die neuen Versionen haben allesamt ein Problem mit dem Senden der Init-Kommandos. Im 0.3.0 erscheinen keinerlei wilde Meldungen im Mehrsekunden-Takt. Es kommen nur die erwuenschten MORITZ-Meldungen und sonst nichts.

                                  Das bedeutet das "neue" Handling der seriellen Schnittstelle ist komplett kaputt.

                                  1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 last edited by

                                    @skraw.iobroker:

                                    Und es gibt noch ein Problem. Der Adapter laesst sich eigentlich nicht aus dem Github installieren. Ich habe ein frisches Image verwendet und versucht maxcul aus dem github zu installieren. Zwar installiert scheinbar der Adapter irgendwie/irgendwo, aber die Konfiguration springt nicht an und er erscheint auch nicht in der Instanzliste, obwohl er in der Adapterliste mit Version 0.4.2 und Status "installiert" steht.

                                    Da geht wohl was waehrend der Installation nicht… `
                                    Ne das passt alles. Bei Github-Installs werden nicht automatisch Adapterinstanzen angelegt wie sonst. Du musst die ggf manuell unter Adapter über den "+"-Button bei entsprechenden Adapter anlegen (lassen).

                                    Das ist "absicht".

                                    Ich schaue nachher nochmal in die Parser-Logik rein und versuche es mal umzubauen. Gibt noch nen zweiten Weg wie es gehen kann

                                    1 Reply Last reply Reply Quote 0
                                    • apollon77
                                      apollon77 last edited by

                                      So ich habe auf Github nochmal die Parserei umgebaut, wie Sie hoffentlich laut Anleitung gehen sollte. Bitte nochmal testen. Versions nummer bleibt gleich. Kannst den Adapter einfach drüberinstallieren

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        skraw.iobroker last edited by

                                        Also nach 2 Minuten Test kann ich schon mal sagen, dass es sich jedenfalls besser anfuehlt als vorher. Ich sehe keine "unknown data" mehr durchscrollen. Ich lass das jetzt mal 1-2 Tage laufen und geb dann nochmal Bescheid ob noch irgendwas passiert ist. Schaut aber gut aus.

                                        Du kannst Dich noch dran erinnern, dass der CUL-Adapter wahrscheinlich dasselbe Problem hatte?

                                        1 Reply Last reply Reply Quote 0
                                        • apollon77
                                          apollon77 last edited by

                                          Beim cul Adapter ist das problem vorauss anders gelagert. Da scheint die Kommunikation zu klappen, da ist es scheinbar bei einem nanocul "zu wenig" bei der Initialisierung. Der MaxCul sendet wirklich V, dann X01 und dann T01 als Befehle wie FHEM auch.

                                          Der Cul-Adapter bisher nur "X21". was reichen sollte und auch bei "Normalen CULSticks ausreicht, aber bei nanocul wohl nicht.

                                          Da sind wir noch dran.

                                          1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 last edited by

                                            PS: Wenn besser geht als vorher dann publishe ich das heute Abend und damit ist es wenigstens im "Latest".

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            826
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            maxcul maxcul error
                                            9
                                            133
                                            12952
                                            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