NEWS
Cannot read property " " of undefined ?
-
Hallo seit dem letzten Update des Javascripts Adapters wirft mein Script folgenden Fehler aus:
javascript.0 (1002434) script.js.common.Danfoss: TypeError: Cannot read property 'ByteLength' of undefined
Das Script liest Werte aus meiner Danfos Heizung. Ich checke es gerade nicht wie ich den Code umschreiben muss das es wieder funktioniert. Was hat sich da im Adapter geändert?
Kann mir da jemand auf die Sprünge helfen?Hier noch der betreffende Code
const Version = 0.2 var hexToBinary = require('hex-to-binary'); const SerialPort = require('serialport'); const ByteLength = SerialPort.parsers.ByteLength; const port = new SerialPort("/dev/ttyUSB0", { baudRate: 1200, dataBits : 8, parity : 'odd', stopBits: 1, flowControl: false }, function (err) { if (err) { port.close(); return log('Error: ', err.message); } }); const parser = port.pipe(new ByteLength({ length: 5 }));
PS: Version 5.3.1 funktioniert noch, ab 5.3.2 bekomme ich o.g. Fehler
-
@spaceduck Was kommt bei:
cd /opt/iobroker/ npm ls serialport
-
iobroker.inst@3.0.0 /volume1/opt/iobroker ├─┬ iobroker.discovery@2.8.0 │ └── serialport@9.2.8 ├─┬ iobroker.javascript@5.4.0 │ └── serialport@10.4.0 └── serialport@10.4.0
-
@spaceduck Dazu gibt es hier einen Hinweis:
https://forum.iobroker.net/post/772296
Entweder Scripte Anpassen oder hier:
Die Version 10 deinstallieren
https://forum.iobroker.net/post/773502
Und im JavaScript Adapter das eintragen:
serialport@9.2.8
Dann mal im log schauen ob der neu installiert wird und mit dem Abfrage Befehl Prüfen.
-
@wendy2702
Tausend Dank, genau das war's. Hab den Serialport auf 9.2.8 geändert, läuft erstmal wieder!
Code werde ich später anpassen