NEWS
Handler wenn Skript gestoppt wird
-
Hallo zusammen,
gibt es die Möglichkeit Code auszuführen wenn ein Skript gestoppt wird oder durch Fehler beendet oder neu gestartet wird? Es geht darum, dass ich das serialport-Modul nutze und den geöffneten seriellen Port wieder schließen muss wenn das Skript beendet wird.
Hier das Skript:
const SerialPort = require('serialport') const Readline = require('@serialport/parser-readline') const port = new SerialPort('/dev/ttyUSB0', { baudRate: 2400 }, function (err) { if (err) { return console.log('Error opening serial port ', err.message) } }) const parser = new Readline({ delimiter: '\r\n' }) port.pipe(parser) parser.on('data', line => { rx_str = new String(line.substring(1, 16)); //console.log(rx_str); const values = rx_str.split(';'); const Upv = parseInt(values[0]); const Pac = parseInt(values[1]) * 10; const Etd = parseInt(values[2]) * 10; if(!isNaN(Upv)) { setState('knx.0.Zentral.Daten.PV_Upv', Upv); } if(!isNaN(Pac)) { setState('knx.0.Zentral.Daten.PV_Pac', Pac); /*PV Pac*/ } if(!isNaN(Etd)) { setState('knx.0.Zentral.Daten.PV_Etd', Etd); } //console.log(Upv); //console.log(Pac); //console.log(Etd); });Besten Dank!
Gruß
Nils -
Hallo zusammen,
gibt es die Möglichkeit Code auszuführen wenn ein Skript gestoppt wird oder durch Fehler beendet oder neu gestartet wird? Es geht darum, dass ich das serialport-Modul nutze und den geöffneten seriellen Port wieder schließen muss wenn das Skript beendet wird.
Hier das Skript:
const SerialPort = require('serialport') const Readline = require('@serialport/parser-readline') const port = new SerialPort('/dev/ttyUSB0', { baudRate: 2400 }, function (err) { if (err) { return console.log('Error opening serial port ', err.message) } }) const parser = new Readline({ delimiter: '\r\n' }) port.pipe(parser) parser.on('data', line => { rx_str = new String(line.substring(1, 16)); //console.log(rx_str); const values = rx_str.split(';'); const Upv = parseInt(values[0]); const Pac = parseInt(values[1]) * 10; const Etd = parseInt(values[2]) * 10; if(!isNaN(Upv)) { setState('knx.0.Zentral.Daten.PV_Upv', Upv); } if(!isNaN(Pac)) { setState('knx.0.Zentral.Daten.PV_Pac', Pac); /*PV Pac*/ } if(!isNaN(Etd)) { setState('knx.0.Zentral.Daten.PV_Etd', Etd); } //console.log(Upv); //console.log(Pac); //console.log(Etd); });Besten Dank!
Gruß
Nilshmm, schwierig den der process laeuft in dem javascript code wen du den anhaellst ist die Steuerung des processes weck.
Darf ich einen anderen loesungs Ansatz vorschlagen ?- Lasse das script an
- Erstellen einen datenbunkt, z.b. script running
- Dan machst du einen event trigger auf den datenpunkt
- Du machst eine function "starte serial port und listening" mit dem code den du jetzt hast
- Du machst einen function "close port" womit du den serial port schließt
Ergo script bleibt actief, und ueber den Datenpunkt steuerst du javascript Funktionen die den Serail port öffnen/schliessen
-
Hallo zusammen,
gibt es die Möglichkeit Code auszuführen wenn ein Skript gestoppt wird oder durch Fehler beendet oder neu gestartet wird? Es geht darum, dass ich das serialport-Modul nutze und den geöffneten seriellen Port wieder schließen muss wenn das Skript beendet wird.
Hier das Skript:
const SerialPort = require('serialport') const Readline = require('@serialport/parser-readline') const port = new SerialPort('/dev/ttyUSB0', { baudRate: 2400 }, function (err) { if (err) { return console.log('Error opening serial port ', err.message) } }) const parser = new Readline({ delimiter: '\r\n' }) port.pipe(parser) parser.on('data', line => { rx_str = new String(line.substring(1, 16)); //console.log(rx_str); const values = rx_str.split(';'); const Upv = parseInt(values[0]); const Pac = parseInt(values[1]) * 10; const Etd = parseInt(values[2]) * 10; if(!isNaN(Upv)) { setState('knx.0.Zentral.Daten.PV_Upv', Upv); } if(!isNaN(Pac)) { setState('knx.0.Zentral.Daten.PV_Pac', Pac); /*PV Pac*/ } if(!isNaN(Etd)) { setState('knx.0.Zentral.Daten.PV_Etd', Etd); } //console.log(Upv); //console.log(Pac); //console.log(Etd); });Besten Dank!
Gruß
Nils -
@paul53 sagte in Handler wenn Skript gestoppt wird:
Siehe onStop().
danke ! vergessen den gibts ja auch noch, Schande über mein Haupt.....
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden