NEWS
Script Hilfe für Abfrage Serielle Kommunikation gesucht!
-
@thomas-braun sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
@axel-koeneke sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
aus der Repo JS 4 installiert
Was aus welchem Repo installiert?
Da alles andere ohne Probleme lief, habe ich wie immer aus "Latest" installiert - ich bin mir natürlich der Gefahren bewusst.
VG
Axel -
@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.1509: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 -
@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.
-
@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.- 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.
- 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 -
@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 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
-
@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:
Lief ja auch bis dato immer sehr gut. Bei Wendy läuft es ja auch noch...
VG
Axel -
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 kannHmm, 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 mitnpm ls MODUL
schauen.
-
@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 -
@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.
-
@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)
-
@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
-
@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.
-
@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?
-
Möglich das der jetzt manuell da rausgepflückt werden muss. Das hab ich aber noch nie gemacht.
-
@thomas-braun Okay, dann werde ich mal suchen...
Danke für die Geduld. -
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. -
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.
-
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
-
@thomas-braun sagte in Script Hilfe für Abfrage Serielle Kommunikation gesucht!:
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