Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Script Hilfe für Abfrage Serielle Kommunikation gesucht!

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Script Hilfe für Abfrage Serielle Kommunikation gesucht!

    This topic has been deleted. Only users with topic management privileges can see it.
    • Axel Koeneke
      Axel Koeneke @wendy2702 last edited by

      @wendy2702 sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

      Ich habe auch JS 4.0.15 und Serial 9.2.8

      Fakt ist, das seltsamerweise auch 9.2.8 angezeigt wird.
      Ich habe aber eine neue Fehlermeldung erhalten nach dem IOB-Update auf V4.0.15

      09:07:45.338	error	javascript.1 (6368) script.js.common.Waterkotte-Abfrage: TypeError: Cannot read property 'ByteLength' of undefined
      09:07:45.338	error	javascript.1 (6368) at script.js.common.Waterkotte-Abfrage:7:39
      09:07:45.339	error	javascript.1 (6368) at script.js.common.Waterkotte-Abfrage:79:3
      

      Deshalb bin ich dummerweise davon ausgegangen, das Serialport V10 installiert ist.
      Siehe auch hier: https://serialport.io/docs/guide-upgrade
      Da steht ja:

      const ByteLength = SerialPort.parsers.ByteLength
      
      has changed to;
      
      import { ByteLengthParser } from 'serialport'
      

      Außerdem wundere ich mich gerade - gab es da nicht eine Einstellung im Java-Adapter, dass die NPM Module immer aktualisiert werden können, bei Neustart?

      Ich komme gerade nicht ins Büro. Werde morgen wieder berichten.
      VG
      Axel

      1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Axel Koeneke last edited by Thomas Braun

        @axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

        Da alles andere ohne Probleme lief, habe ich wie immer aus "Latest" installier

        Was denn? Den js-controller oder was meinst du mit 'JS 4'?

        Wäre vielleicht auch interessant zu sehen, wer da einen serialport@10 anschleppt. Der js-controller selber ist es nicht.

        Axel Koeneke 1 Reply Last reply Reply Quote 0
        • Axel Koeneke
          Axel Koeneke @Thomas Braun last edited by

          @thomas-braun Hallo Thomas,
          ja ist alles etwas verwirrend...
          Hier meine Versionen:

          pi@iobroker-cl1:~# node -v
          v14.19.0
          pi@iobroker-cl1:~# nodejs -v
          v14.19.0
          pi@iobroker-cl1:~# npm -v
          6.14.16
          pi@iobroker-cl1:~# iob version
          4.0.18
          pi@iobroker-cl1:~ $ npm ls serialport
          /home/pi
          └── serialport@9.2.8
          pi@iobroker-cl1:~ $ iobroker version javascript
          5.3.1
          

          Das Script lief bisher ohne Probleme seit über einem Jahr.
          Zwei Sachen sind mir heute aufgefallen.

          1. Ich habe den Javascript-Adapter aktualisiert, aber dabei hat das System nur den Server berücksichtigt und nicht den Client. Den habe ich dann manuell nachgezogen.
          2. Habe ich so langsam den USB-RS232 Adapter in verdacht. Warum siehe LOG:
          
          javascript.1
          2022-03-06 18:57:00.023	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:57:00.022	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:56:50.747	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:56:45.008	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:56:45.007	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:56:05.044	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:56:00.023	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:56:00.023	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:55:50.076	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:55:45.010	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:55:45.009	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:55:05.299	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:55:00.012	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:55:00.012	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:54:50.038	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:54:45.011	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:54:45.010	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:54:05.049	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:54:00.024	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:54:00.023	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:53:50.075	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:53:45.113	error	at Script.runInContext (vm.js:144:12)
          javascript.1
          2022-03-06 18:53:45.113	error	at script.js.common.Waterkotte-Abfrage:74:3
          javascript.1
          2022-03-06 18:53:45.112	error	at script.js.common.Waterkotte-Abfrage:7:39
          javascript.1
          2022-03-06 18:53:45.112	error	script.js.common.Waterkotte-Abfrage: TypeError: Cannot read property 'ByteLength' of undefined
          javascript.1
          2022-03-06 18:53:45.110	info	script.js.common.Waterkotte-Abfrage: registered 0 subscriptions and 0 schedules
          javascript.1
          2022-03-06 18:53:45.105	info	Start javascript script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:53:45.073	info	Stop script script.js.common.Waterkotte-Abfrage
          javascript.1
          2022-03-06 18:53:45.013	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Ende
          javascript.1
          2022-03-06 18:53:45.011	info	script.js.common.Waterkotte-Interval: Abfrage_Waterkotte Begin
          javascript.1
          2022-03-06 18:53:31.618	info	script.js.common.Waterkotte-Umrechnen: registered 1 subscription and 0 schedules
          javascript.1
          2022-03-06 18:53:31.607	info	Start javascript script.js.common.Waterkotte-Umrechnen
          javascript.1
          2022-03-06 18:53:31.606	info	script.js.common.Waterkotte-Interval: registered 0 subscriptions and 1 schedule
          javascript.1
          2022-03-06 18:53:31.502	info	Start javascript script.js.common.Waterkotte-Interval
          javascript.1
          2022-03-06 18:53:30.896	error	at Script.runInContext (vm.js:144:12)
          javascript.1
          2022-03-06 18:53:30.895	error	at script.js.common.Waterkotte-Abfrage:74:3
          javascript.1
          2022-03-06 18:53:30.895	error	at script.js.common.Waterkotte-Abfrage:7:39
          javascript.1
          2022-03-06 18:53:30.893	error	script.js.common.Waterkotte-Abfrage: TypeError: Cannot read property 'ByteLength' of undefined
          

          Mal kommt der Fehler (TypeError: Cannot read property 'ByteLength' of undefined), dann wieder nicht. Berechnet wird jedoch gar nicht mehr.
          Wenn ich den Stick abziehe kommt im LOG auch nur noch Begin und Ende.
          Also bestelle ich mal einen neuen Stick.
          VG
          Axel

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @Axel Koeneke last edited by

            @axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

            pi@iobroker-cl1:~ $ npm ls serialport /home/pi └── serialport@9.2.8

            Da stehst du im falschen Verzeichnis. Im home-Verzeichnis des pi hat das nix zu suchen.

            Ich habe den Javascript-Adapter aktualisiert, aber dabei hat das System nur den Server berücksichtigt und nicht den Client.

            Was für ein Server bzw. was für ein Client?

            Axel Koeneke 1 Reply Last reply Reply Quote 0
            • wendy2702
              wendy2702 last edited by

              @Axel-Koeneke Bei mir läuft das Script nach wie vor mit den latest Versionen aller Adapter. Hatte auch mal den USB Stick kaputt und dann so merkwürdige Fehler.

              @Thomas-Braun : Iobroker Master und Slave meint er

              1 Reply Last reply Reply Quote 0
              • Axel Koeneke
                Axel Koeneke @Thomas Braun last edited by

                @thomas-braun Moin Thomas,

                Da stehst du im falschen Verzeichnis. Im home-Verzeichnis des pi hat das nix zu suchen.

                Hmm, aber das hat sich alleine dahin installiert. Ich habe das nur in den Adapter Einstellungen eingetragen:
                bb2470fd-0182-46ae-95bb-c919cfb05983-image.png
                Lief ja auch bis dato immer sehr gut. Bei Wendy läuft es ja auch noch...
                VG
                Axel

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @Axel Koeneke last edited by Thomas Braun

                  @axel-koeneke

                  Das hat da trotzdem nix zu suchen.
                  Zusätzliche Module aus dem javaskript Adapter landen nicht in /home/pi
                  Der User iobroker kann da auch gar nicht schreiben, deswegen kann

                  Hmm, aber das hat sich alleine dahin installiert.

                  auch nicht sein.

                  Das hast du mal manuell da hingeworfen.
                  Bei der jetzigen Anfrage stehst du ja auch im falschen Verzeichnis. Zuerst nach /opt/iobroker gehen, dann mit

                  npm ls MODUL
                  

                  schauen.

                  Axel Koeneke 1 Reply Last reply Reply Quote 0
                  • Axel Koeneke
                    Axel Koeneke @Thomas Braun last edited by

                    @thomas-braun Also ganz sich er habe ich das da nicht manuell installiert oder hingeworfen. Dafür fehlt mir leider das Wissen. BTW: kannst du mir eine gute Lektüre zum Erlernen von Javascript empfehlen? Es ist immer wieder toll wie man sich hier gegenseitig hilft, aber ich würde gerne selber mehr Unterstützung leisten. Ich komme aus der Automatisierung (S5 & S7) und da ist selbst Blockly manchmal nicht wirklich nachvollziehbar - für mich.
                    @wendy2702 kannst du mal schauen wo bei dir das Modul liegt, oder hast du das anders aufgebaut?
                    VG
                    Axel

                    Thomas Braun wendy2702 2 Replies Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @Axel Koeneke last edited by

                      @axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

                      Dafür fehlt mir leider das Wissen.

                      Das sehe ich. Denn durch den nicht erfolgten Verzeichniswechsel ist das ja da auch erst gelandet.
                      Das kann auch nur dadurch dort landen, weil wie gesagt der iobroker da gar nichts installieren kann. Der hat keine Rechte dazu.

                      Ich bin auch nicht sicher, ob der serialport überhaupt als zusätzliches Modul beim javascript-Adapter eingetragen werden muss.

                      Das ist aber auch nicht dein Problem, war mir nur aufgefallen.

                      1 Reply Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 @Axel Koeneke last edited by

                        @axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

                        @wendy2702 kannst du mal schauen wo bei dir das Modul liegt, oder hast du das anders aufgebaut?

                        Sieht bei mir so aus:

                        pi@iobroker-garage-gross:/opt/iobroker $ npm ls serialport
                        iobroker.inst@2.0.3 /opt/iobroker
                        ├─┬ iobroker.javascript@5.2.21
                        │ └── serialport@9.2.8
                        └─┬ iobroker.modbus@3.4.17
                          └── serialport@9.2.8  deduped
                        
                        pi@iobroker-garage-gross:~ $ npm ls serialport
                        /home/pi
                        └── (empty)
                        
                        1 Reply Last reply Reply Quote 0
                        • Axel Koeneke
                          Axel Koeneke last edited by

                          @wendy2702 sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

                          npm ls serialport

                          Jetzt wird es interessant:

                          pi@iobroker-cl1:~ $ npm ls serialport
                          /home/pi
                          └── serialport@9.2.8
                          
                          
                          pi@iobroker-cl1:/opt/iobroker $ npm ls serialport
                          iobroker.inst@3.0.0 /opt/iobroker
                          ├─┬ iobroker.discovery@2.7.5
                          │ └── serialport@9.2.8
                          ├─┬ iobroker.javascript@5.3.1
                          │ └── %(#ff0000)[UNMET DEPENDENCY] serialport@^10.4.0
                          ├─┬ iobroker.smartmeter@3.3.3
                          │ ├── serialport@10.3.0
                          │ └─┬ smartmeter-obis@3.0.2
                          │   └── serialport@10.3.0
                          └─┬ iobroker.zwave2@2.4.3
                            └─┬ zwave-js@8.11.7
                              ├─┬ @zwave-js/serial@8.11.7
                              │ └── serialport@9.2.8  deduped
                              └── serialport@9.2.8  deduped
                          
                          npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.3.1
                          

                          Wenn ich das richtig lese, dann verlangt der javascript@5.3.1, serialport@10

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @Axel Koeneke last edited by

                            @axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

                            Wenn ich das richtig lese, dann verlangt der javascript@5.3.1, serialport@10

                            Ja, aber nur weil der bei dir händisch als zusätzliches Modul eingetragen ist. Generell ist serialport keine Abhängigkeit im javascript-Adapter.

                            1 Reply Last reply Reply Quote 0
                            • Axel Koeneke
                              Axel Koeneke last edited by

                              @thomas-braun Okay das Modul habe ich wieder entfernt. Reboot des Pi gemacht, die Ausgabe ist aber noch die Gleiche. Wie kann ich das gerade ziehen?

                              Thomas Braun 1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @Axel Koeneke last edited by

                                @axel-koeneke

                                Möglich das der jetzt manuell da rausgepflückt werden muss. Das hab ich aber noch nie gemacht.

                                Axel Koeneke 1 Reply Last reply Reply Quote 0
                                • Axel Koeneke
                                  Axel Koeneke @Thomas Braun last edited by

                                  @thomas-braun Okay, dann werde ich mal suchen...
                                  Danke für die Geduld.

                                  Thomas Braun 2 Replies Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @Axel Koeneke last edited by

                                    @axel-koeneke

                                    Wäre vielleicht mal interessant zu sehen, warum der serialport nicht baut.
                                    Lass den mal drin und starte den javascript-Adapter neu. Im Log dürfte dann was entsprechendes drin stehen. Etwaige andere skripte am besten solange mal stoppen, dann spuken die nicht mit drin rum.

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

                                      Ich habe noch JavaScript 5.2.21

                                      Upgrade kann/will ich erst machen wenn ich wieder zu Hause bin. Kein Lust über VPN da rum zu fummeln wenn es nachher nicht mehr läuft. 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @Axel Koeneke last edited by Thomas Braun

                                        @axel-koeneke

                                        Hilft dir zwar nicht, aber bei mir baut der serialport auch als zusätzliches Paket im javascript-Adapter.

                                        echad@chet:/opt/iobroker $ npm ls serialport
                                        iobroker.inst@3.0.0 /opt/iobroker
                                        ├─┬ iobroker.javascript@5.3.3
                                        │ └── serialport@10.4.0
                                        └─┬ iobroker.zigbee@1.6.16
                                          ├─┬ zigbee-herdsman-converters@14.0.422
                                          │ └─┬ zigbee-herdsman@0.14.14
                                          │   └── serialport@9.2.8
                                          └─┬ zigbee-herdsman@0.14.16
                                            └── serialport@9.2.8
                                        

                                        Deinstallation geht übrigens aus dem richtigen Ordner heraus so:

                                        echad@chet:/opt/iobroker/node_modules/iobroker.javascript $ npm uninstall serialport
                                        
                                        Axel Koeneke 1 Reply Last reply Reply Quote 0
                                        • Axel Koeneke
                                          Axel Koeneke @Thomas Braun last edited by

                                          @thomas-braun sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:

                                          @axel-koeneke

                                          Hilft dir zwar nicht, aber bei mir baut der serialport auch als zusätzliches Paket im javascript-Adapter.

                                          ├─┬ iobroker.javascript@5.3.3
                                          │ └── serialport@10.4.0
                                          

                                          Und da isser wieder. Hmm, wenn der javascript den 10er Port mitbringt, frage ich mich wie ich den 9er manuell installieren kann.
                                          Der 10er wird mit Wendy's Script nicht mehr funktionieren (s.O.).
                                          VG

                                          wendy2702 Thomas Braun 2 Replies Last reply Reply Quote 0
                                          • wendy2702
                                            wendy2702 @Axel Koeneke last edited by wendy2702

                                            @axel-koeneke Kann keine schnelle Lösung anbieten da ich wie gesagt nicht zu Hause bin um vernünftig testen zu können aber ich denke das Script bekommen wir angepasst.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            599
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            15
                                            192
                                            20128
                                            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