NEWS
Serielle Schnittstelle
-
Hi,
ich habe ein Gerät das über die serielle Schnittstelle Daten in folgender Form ausgibt.
- Uhrzeit und Datum
- Code (z.b. 01A oder 13B)
- Information (z.b. Wert1; Wert2;Wert3; usw.)
Mit IoBroker beschäftige ich mich schon ein Weilchen. Jetzt wollte ich gern auf ein Ereignis auf der seriellen Schnittstelle reagieren. Leider ist meine Erfahrung im Programmieren auf dem Amiga auch schon ein Weilchen her
Was ist einfacher ? Javascript, Blockly oder Node-Red und wie öffne ich die Schnittstelle. Wenn ich Sie dann offen habe wie unterscheide ich nun die Zeile 2 von 1 bzw. wie bekomme ich erstmal mit das ein Meldungseingang vorliegt. Als Krönung wäre noch die Information auszuwerten. Die Werte werden jeweils mit einem ; getrennt. Und als letztes wie übergebe ich den Meldungseingang an IoBroker? Könnte man das auch als Adapter erstellen? Ich hoffe ihr könnt mir weiterhelfen
-
-
@Tel32 sagte in Serielle Schnittstelle:
Hi,
ich habe ein Gerät das über die serielle Schnittstelle Daten in folgender Form ausgibt.
- Uhrzeit und Datum
- Code (z.b. 01A oder 13B)
- Information (z.b. Wert1; Wert2;Wert3; usw.)
Mit IoBroker beschäftige ich mich schon ein Weilchen. Jetzt wollte ich gern auf ein Ereignis auf der seriellen Schnittstelle reagieren. Leider ist meine Erfahrung im Programmieren auf dem Amiga auch schon ein Weilchen her
Was ist einfacher ? Javascript, Blockly oder Node-Red und wie öffne ich die Schnittstelle. Wenn ich Sie dann offen habe wie unterscheide ich nun die Zeile 2 von 1 bzw. wie bekomme ich erstmal mit das ein Meldungseingang vorliegt. Als Krönung wäre noch die Information auszuwerten. Die Werte werden jeweils mit einem ; getrennt. Und als letztes wie übergebe ich den Meldungseingang an IoBroker? Könnte man das auch als Adapter erstellen? Ich hoffe ihr könnt mir weiterhelfen
Um das zu Parsen (die Zeilen zu unterscheiden) wäre es sinnvoll einmal zu sehen wie so eine Kommunikation wirklich aussieht - Also ein Beispiel.
Nach der Beschreibung:
- Uhrzeit und Datum sollten einem festen Format folgen - das kannst du abprüfen um zu sehen ob es die Zeile 1 ist, wobei ich mir nicht sicher bin ob du das brauchst, oder nicht einfach die aktuelle Uhrzeit / das aktuelle Datum als Zeitstempel nimmst
- Den Code würde ich per Wörterbuch verifizieren (Liste aller möglichen Codes), alternativ nach einem Muster dem alle codes folgen (z.Bsp. 2 Ziffern, 1 Buchstabe)
- Die Werte Parsen sollte wieder einfach sein - nachschauen ob der String per ';' aufteilbar ist, und dann die einzelnen Werte Parsen.
Aus meiner Sicht ist das keine Aufgabe für Blockly. Node-Red würde wahrscheinlich irgendwie gehen, ich würde aber eher mit JS arbeiten. Du musst aber sicherstellen das die "serialport" Bibliothek nutzbar ist.
Ob es Sinn macht, dafuer einen Adapter an Stelle eines einfachen Scripts zu schreiben (gehen tut das bestimmt) hängt eher an der Antwort zu @arteck 's Frage.
A.
-
Da hängt mein FME der Feuerwehr dran. Da ich mehrere Adressen drauf habe aber nur auf bestimmte mit Licht an , Tor auf etc. reagieren möchte kann ich den Relaisausgang der Ladestation nicht nutzen da er auf jede Alarmierung schaltet. Ich muss aber nicht bei jeder Alarmierung aufspringen sondern nur auf bestimmte deswegen die Auswertung des Code.
Der FME hängt über ein Seriel/USB Adapter dran. Über ein Terminal (unter Windows) erfolgt folgende Ausgabe. Jede Zeile wie ich sie schreibe kommt so im Terminal.
Zeile 1: Datum / Uhrzeit
Zeile 2: Code
Zeile 3: Information mit ; getrennt