[V4] Dev-Dienst RFlink

Ich habe mich falsch ausgedrückt. In Gladys sind Switch und Motion Gerätetypen, die verwendet werden, um festzustellen, wie mit dem Gerät kommuniziert werden soll. Um den Typ eines Geräts zu erkennen, basiere ich auf den im Rflink-Nachricht enthaltenen Feldern.

Zum Beispiel, wenn die Nachricht « RGBW=… » enthält, wird der Typ als Light erkannt.
Wenn die Nachricht « HUM=… » enthält, wird es als Feuchtigkeitssensor erkannt.

Aber für bestimmte Gerätetypen finde ich keine Möglichkeit in der von Rflink übertragenen Nachricht, um zum Beispiel zu erkennen, ob es sich um eine Steckdose oder einen Türöffnungssensor handelt. Deshalb habe ich dich gefragt, ob du denkst, dass alle Bewegungsmelder eine CHIME-Eigenschaft senden.

Okay, also bestätige ich dir, dass CHIME nicht von allen Bewegungssensoren gesendet wird. Das ist bei den beiden Sensoren, die ich habe, der Fall.

Hier sind die Logs, die ich in Gladys habe:

(node:32) UnhandledPromiseRejectionWarning: TypeError: Cannot read property ‹ includes › of undefined
at RFlinkManager.message (/src/server/services/rflink/lib/events/rflink.message.js:248:47)
at ReadLineParser. (/src/server/services/rflink/lib/commands/rflink.listen.js:9:10)
at ReadLineParser.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:271:13)
at ReadLineParser.Readable.push (_stream_readable.js:209:10)
at ReadLineParser.Transform.push (_stream_transform.js:152:32)
at ReadLineParser._transform (/src/server/services/rflink/node_modules/@serialport/parser-delimiter/lib/index.js:35:12)
at ReadLineParser.Transform._read (_stream_transform.js:191:10)
at ReadLineParser.Transform._write (_stream_transform.js:179:12)
at doWrite (_stream_writable.js:441:12)
at writeOrBuffer (_stream_writable.js:425:5)
at ReadLineParser.Writable.write (_stream_writable.js:316:11)
at SerialPort.ondata (_stream_readable.js:714:22)
at SerialPort.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:275:11)
at SerialPort.Readable.push (_stream_readable.js:209:10)
at /src/server/services/rflink/node_modules/@serialport/stream/lib/index.js:385:12
(node:32) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see Command-line API | Node.js v26.10.0 Documentation). (rejection id: 6)
(node:32) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

das ist korrigiert, danke :grin:.

Es funktioniert! Mein Öffnungsmelder wird jetzt erkannt :slight_smile: (immer noch als Schalter, aber das ist normal angesichts unseres letzten Austauschs)

Ich sehe jetzt die Nachrichten.

Ich stelle ein seltsames Verhalten fest. Heute, wenn ein neues Gerät erkannt wird, funktioniert der Klick auf die Schaltfläche „Verbinden/Neu verbinden“ nicht; ich muss die Seite manuell aktualisieren, damit es oben erscheint.

Hinweis: Ich habe die Tests mit Docker aufgegeben, sonst hätte ich die letzten Korrekturen, die du vorgenommen hast, nicht sehen können.

@joeypic, nach Gladys’ Nachmittagsbetrieb ist die Liste der zu erstellenden Geräte riesig. Selbst wenn ich das Gerät in Gladys (Verbinden/Neu verbinden) hinzugefügt habe, wird es mehrfach aufgelistet :sweat_smile:

Die GIF-Datei zur Veranschaulichung: Access via Synology

Wow! Da sind ein paar :sweat_smile:

ihr habe vielleicht ein Detail vergessen :rofl:
das ist (hoffentlich) behoben!

Ich verstehe das nicht. Das hatte ich vorher nicht, und plötzlich habe ich das auch, obwohl ich seit zwei Wochen nichts am Frontend geändert habe. In meinem Code sollte die Liste doch aktualisiert werden, wenn man auf „Verbinden“ klickt.

ich lasse es laufen und sage dir, wie es sich entwickelt.

Ich komme mit meinen Tests voran. Ich erlaube mir, die Geräte meiner Nachbarn hinzuzufügen :joy:

Nach dem Hinzufügen der Geräte zum Dashboard bleiben sie ohne Wert (Kein Wert aufgezeichnet). Für eine Wetterstation LaCrosse, die eine Nachricht 20;05;LaCrosse;ID=0c06;TEMP=0116; überträgt (Temperatur im Hexadezimalformat, ich weiß nicht, ob du die Umrechnung in Dezimal vorgesehen hast?), stelle ich fest, dass es kein zugeordnetes Feature gibt (auch kein Icon im Bereich Integrationen).

Daher könnte die folgende Fehlermeldung erklären, warum ich keinen Wert auf dem Dashboard angezeigt bekomme:

2020-04-12T14:19:45+0200 rflink.newValue.js:12 (RFlinkManager.newValue) RFlink : value temperature of device rflink:0c06:temperature:undefined changed to 0114
2020-04-12T14:19:45+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
at DeviceManager.newStateEvent (/home/philippe/gladys-rflink/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:311:20)
at Event.emit (/home/philippe/gladys-rflink/server/lib/event/index.js:8:16)
at RFlinkManager.newValue (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.newValue.js:33:23)
at RFlinkManager.message (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.message.js:350:16)
at ReadLineParser. (/home/philippe/gladys-rflink/server/services/rflink/lib/commands/rflink.listen.js:9:10)
at ReadLineParser.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:271:13)
at ReadLineParser.Readable.push (_stream_readable.js:209:10)
at ReadLineParser.Transform.push (_stream_transform.js:152:32)
at ReadLineParser._transform (/home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/parser-delimiter/lib/index.js:35:12)
at ReadLineParser.Transform._read (_stream_transform.js:191:10)
at ReadLineParser.Transform._write (_stream_transform.js:179:12)
at doWrite (_stream_writable.js:441:12)
at writeOrBuffer (_stream_writable.js:425:5)
at ReadLineParser.Writable.write (_stream_writable.js:316:11)
at SerialPort.ondata (_stream_readable.js:714:22)
at SerialPort.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:275:11)
at SerialPort.Readable.push (_stream_readable.js:209:10)
at /home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/stream/lib/index.js:385:12 {
message: ‹ DeviceFeature not found ›

Ich habe eine weitere Fehlermeldung in den Logs:

(node:6791) UnhandledPromiseRejectionWarning: TypeError: Cannot read property ‹ includes › of undefined
at RFlinkManager.message (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.message.js:380:21)
at ReadLineParser. (/home/philippe/gladys-rflink/server/services/rflink/lib/commands/rflink.listen.js:9:10)
at ReadLineParser.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:271:13)
at ReadLineParser.Readable.push (_stream_readable.js:209:10)
at ReadLineParser.Transform.push (_stream_transform.js:152:32)
at ReadLineParser._transform (/home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/parser-delimiter/lib/index.js:35:12)
at ReadLineParser.Transform._read (_stream_transform.js:191:10)
at ReadLineParser.Transform._write (_stream_transform.js:179:12)
at doWrite (_stream_writable.js:441:12)
at writeOrBuffer (_stream_writable.js:425:5)
at ReadLineParser.Writable.write (_stream_writable.js:316:11)
at SerialPort.ondata (_stream_readable.js:714:22)
at SerialPort.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:275:11)
at SerialPort.Readable.push (_stream_readable.js:209:10)
at /home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/stream/lib/index.js:385:12
(node:6791) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see Command-line API | Node.js v26.10.0 Documentation). (rejection id: 6)
(node:6791) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Hallo @joeypic und vielen Dank für die Entwicklung dieses Moduls :slight_smile:

Ich möchte immer mehr meine domotique-Installation in V3 auf einem RPI3 ersetzen, der mehr als überlastet ist und aufgrund des RFlink-Systems und seiner zu vielen Anfragen pro Minute Verzögerungen zeigt. Daher habe ich heute versucht, das Docker-Image von @peb, das vor 4 Stunden erstellt wurde, auf einem RPI4 zu installieren, um dein Modul zu testen.

Also, es ist mein erster Tag mit Docker, ich habe das peb-Image auf die gleiche Weise wie die offizielle Beta installiert, indem ich nur die Zeile gladysassistant/gladys:4.0.0-beta-arm durch pebou/gladys:4.0.0-beta-integration-rflink ersetzt habe. Ist das richtig so?

Danach läuft mein Server rund, also denke ich, dass ich es richtig gemacht habe, aber ich habe mehrere Probleme beim Hinzufügen meiner 433MHz-Geräte, die mich vermuten lassen, dass ich vielleicht nicht die neueste Version des Moduls habe (ich habe ähnliche Probleme weiter oben gelöst gesehen)?

Die Verbindung zu meinem Ardu MEGA funktioniert problemlos, Portauswahl und Neustart von gladys und los geht’s.
Direkt danach wurden mehrere Sensoren erkannt und ich habe sie ohne Probleme hinzugefügt. Im Dashboard nehmen sie jedoch keine Werte auf, alles bleibt bei No value recorded, außer einem Sensor, der seine Luftfeuchtigkeit anzeigt (warum? :rofl:)

Danach habe ich versucht, meine 5-Tasten-Fernbedienung, die den TriState-Protokoll verwendet, hinzuzufügen. Es ist unmöglich, sie automatisch zu erkennen, sie erscheint nicht. Dann habe ich versucht, sie manuell hinzuzufügen, indem ich mehrere Tasten in einem Gerät platziert habe, aber ich hatte keinen Erfolg, weil « ID-Konflikt ». Ich schließe daraus, dass jeder ON/OFF-Knopf separat erstellt werden muss? :stuck_out_tongue_winking_eye:
Hier ist, was ich versucht habe:

Und in diesem Moment sehe ich, dass in den erkannten Geräten einer meiner TriState-Knöpfe aufgetaucht ist. Und mit ihm steuere ich meine Steckdose. Allerdings ist es unmöglich, die anderen 9 über die Erkennung hinzuzufügen :thinking: Im Debug bezieht sich die Zeile immer noch auf Temperatursensoren (ich habe nichts anderes gesehen, selbst wenn ich auf meine Tasten drücke)

Also, wenn ich mich irgendwo täusche, bin ich ganz Ohr für eure Korrekturen :slight_smile:

Ich gebe zu, ich habe keine Ahnung, wie Docker funktioniert :grin: aber es gibt Experten im Forum.

Ich habe das Problem gerade behoben, indem ich (ich habe Feuchtigkeits-, Helligkeits- und Drucksensoren hinzugefügt)

Es wäre hilfreich, zu überprüfen, ob der RFlink eine Nachricht empfängt. Im Einstellungs-Tab des Dienstes siehst du die zuletzt empfangene Nachricht, drücke auf deine Fernbedienung (aktualisiere die Seite, da ich das nicht automatisch gemacht habe),

Wenn dein RFLINK eine Nachricht empfängt, aber du kein Gerät hinzugefügt hast, schicke mir die Protokolle. Wenn dein RFLINK die Nachricht überhaupt nicht erkennt (die LED des Arduinos blinkt nicht), dann liegt das Problem nicht am Dienst (das würde mich sehr wundern).

Vielen Dank für dein Feedback, ich begann schon im Kreis zu laufen, weil ich keins hatte (wenn du Zeit hast, könntest du mir die Liste deiner Geräte und den Rflink-Code, der ihnen entspricht, per PN schicken?)

Ja, genau! :slight_smile:

Ich werde das Bild aktualisieren, sobald es neue Commits gibt.

Kein Problem, also ist meine RFLink-Box eingespielt, da ich sie seit eineinhalb Jahren verwende. Der Empfang und das Senden funktionieren eher gut (der Empfang vier von fünf Mal, aber das bleibt gut).
Daher, wenn ich versuche, meine Fernbedienung über die RFLink-Software zu erkennen, funktioniert es, sie erscheinen bei jedem Druck auf meine Fernbedienung:

Auf der anderen Seite, im Gladys-Modul, ist es fast unmöglich, sie zum Erscheinen zu bringen. Der Debug-Tab hilft auch nicht, die letzte empfangene Zeile ist 20;13;Alecto V4;ID=57d8;TEMP=00c2;HUM=79; aber ändert sich nicht, wenn ich auf meine TriState-Tasten drücke. Ich bemerke dasselbe mit einem Präsenzmelder in EV1527, der lange gebraucht hat, bis ich ihn schließlich in der Liste der erkannten Geräte gefunden habe.

Ich hatte ein bisschen Magie oder zwei TriState-Tasten sind plötzlich in der Liste erschienen… ich kann es nicht erklären, sie sind wie « 30 Minuten nach meinem Drücken auf die Tasten erschienen » lol. Aber die anderen werden nicht erkannt.

Ich sehe auch, dass sich die Temperatursensoren fast alle « XXX XXX undefined » nennen. Das ist vielleicht normal, aber ich möchte es lieber melden


Ich glaube nicht, dass ich den ersten geändert habe… aber vielleicht habe ich es doch unbewusst gemacht.

Auf der Log-Seite, hier ist, was mir der Befehl docker logs gladys gibt, in der Hoffnung, dass es das ist, was du suchst:

gladys-server@ start:prod /src/server
cross-env NODE_ENV=production node index.js

Initialising OpenZWave 1.6.974 binary addon for Node.JS.
OpenZWave Security API is ENABLED
ZWave device db : /etc/openzwave
User settings path : /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../
Option Overrides : --Logging false --ConsoleOutput false --SaveConfiguration true
2020-05-02T16:52:36+0200 index.js:16 (Object.start) Starting zwave service
2020-05-02T16:52:36+0200 index.js:20 (Object.start) Starting Dark Sky service
2020-05-02T16:52:36+0200 index.js:19 (Object.start) Starting telegram service
2020-05-02T16:52:36+0200 index.js:13 (Object.start) Starting usb service
2020-05-02T16:52:36+0200 service.start.js:16 (Service.start) Service zwave is not configured, so it was not started.
2020-05-02T16:52:36+0200 service.start.js:16 (Service.start) Service telegram is not configured, so it was not started.
2020-05-02T16:52:36+0200 service.start.js:16 (Service.start) Service mqtt is not configured, so it was not started.
2020-05-02T16:52:36+0200 index.js:63 (Server.) Server listening on port 90
(node:31) UnhandledPromiseRejectionWarning: TypeError: Cannot read property ‹ includes › of undefined
at RFlinkManager.message (/src/server/services/rflink/lib/events/rflink.message.js:377:21)
at ReadLineParser. (/src/server/services/rflink/lib/commands/rflink.listen.js:9:10)
at ReadLineParser.emit (events.js:310:20)
at addChunk (_stream_readable.js:286:12)
at readableAddChunk (_stream_readable.js:264:11)
at ReadLineParser.Readable.push (_stream_readable.js:209:10)
at ReadLineParser.Transform.push (_stream_transform.js:152:32)
at ReadLineParser._transform (/src/server/services/rflink/node_modules/@serialport/parser-delimiter/lib/index.js:35:12)
at ReadLineParser.Transform._read (_stream_transform.js:191:10)
at ReadLineParser.Transform._write (_stream_transform.js:179:12)
at doWrite (_stream_writable.js:403:12)
at writeOrBuffer (_stream_writable.js:387:5)
at ReadLineParser.Writable.write (_stream_writable.js:318:11)
at SerialPort.ondata (_stream_readable.js:695:22)
at SerialPort.emit (events.js:310:20)
at addChunk (_stream_readable.js:286:12)
at readableAddChunk (_stream_readable.js:268:9)
at SerialPort.Readable.push (_stream_readable.js:209:10)
at /src/server/services/rflink/node_modules/@serialport/stream/lib/index.js:385:12
(node:31) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see Command-line API | Node.js v26.10.0 Documentation). (rejection id: 3)
(node:31) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
rflink:57d8:undefined
rflink:5718:undefined

Ich habe nicht verstanden, was du in der PN wissen wolltest, aber ich wäre gerne bereit, dir die Infos zu geben :stuck_out_tongue_winking_eye:

PS: Ich habe das Update mit dem Docker-Bild von Peb von heute Mittag gemacht. Und ich werde alles mit einem ganz neuen Gladys von vorne beginnen, um zu sehen, ob sich das Verhalten wirklich identisch verhält.

Oula! Das lässt mich auf meiner neuen Installation lügen, meine Inter sind mit der letzten Version des Bildes erkannt:

Nicht mal mehr „undefined“

Danke für die Befehle :grin:

Die Logs lassen mich vermuten, dass deine Version nicht aktuell ist

Ich hoffe wirklich, dass es nur deine Einrichtung ist, die nicht aktuell ist, denn ich beginne langsam, Angst zu bekommen. Alles funktioniert perfekt bei mir (das « undefined » im Namen habe ich vor kurzem korrigiert).

Das hätte also entweder

  • die Version von @peb von gestern ohne die Änderungen sein können (das kommt mir komisch vor)
  • Meine normale Gladys v4-Installation ohne Löschen der Datenbank vor dem Wechsel zur RFLink-Version

Aber jetzt scheint alles zu funktionieren :blush:

@pierre-gilles Hast du ein Datum für die Entwicklung des Farb- und Helligkeitsbereichs der Glühbirnen?

Hallo @joeypic ,

Ich habe am Sonntag, den 3. Mai, mit einem git pull deines Repos gegen 11:30 Uhr wieder mit Tests begonnen.

Hast du meine Nachricht vom 12. April in diesem Thread gesehen? Da ich keine Antwort gesehen habe, bin ich mir nicht sicher, ob du sie bemerkt hast^^

Hier ist, was ich heute festgestellt habe:

  • Die Erkennung neuer Geräte meldet bereits hinzugefügte Geräte; dadurch versucht man, das Gerät hinzuzufügen, indem man auf „Verbinden/Neu verbinden“ klickt, was andere Geräte, die ich hinzugefügt haben könnte, aus der Liste löscht (?) und vor allem die Einstellungen des bereits hinzugefügten Geräts überschreibt.

  • Bei der Identifizierung eines neuen Geräts gibt die Log immer [object Object] zurück: rflink.addNewDevice.js:11 (RFlinkManager.addNewDevice) Gerät hinzugefügt: [object Object]

  • Das Aktualisieren der Zustände scheint nicht immer zu funktionieren: siehe Logs unten + ein weiterer Fall mit meinem Türsensor, der im Punkt nach den Logs beschrieben wird

Hier sind die Logs:

2020-05-03T11:31:09+0200 rflink.listen.js:10 (ReadLineParser.) Rflink: Nachricht empfangen: 20;02;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
rflink:0e28a0:0e
2020-05-03T11:31:39+0200 gateway.forwardWebsockets.js:14 (Gateway.forwardWebsockets) Gateway: nicht verbunden. Weiterleitung der Ereignismeldung verhindern.
2020-05-03T11:31:39+0200 rflink.message.js:28 () d.external_id: rflink:100cdb3:00
2020-05-03T11:31:39+0200 rflink.message.js:29 () msg.id: 100cdb3
2020-05-03T11:31:39+0200 rflink.newValue.js:12 (RFlinkManager.newValue) RFlink: Wert der Batterie des Geräts rflink:100cdb3:battery:00 geändert auf OK
2020-05-03T11:31:39+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature nicht gefunden
at DeviceManager.newStateEvent (/home/philippe/gladys-rflink/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:311:20)
at Event.emit (/home/philippe/gladys-rflink/server/lib/event/index.js:8:16)
at RFlinkManager.newValue (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.newValue.js:52:21)
at RFlinkManager.message (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.message.js:347:16)
at ReadLineParser. (/home/philippe/gladys-rflink/server/services/rflink/lib/commands/rflink.listen.js:9:10)
at ReadLineParser.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:271:13)
at ReadLineParser.Readable.push (_stream_readable.js:209:10)
at ReadLineParser.Transform.push (_stream_transform.js:152:32)
at ReadLineParser._transform (/home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/parser-delimiter/lib/index.js:35:12)
at ReadLineParser.Transform._read (_stream_transform.js:191:10)
at ReadLineParser.Transform._write (_stream_transform.js:179:12)
at doWrite (_stream_writable.js:441:12)
at writeOrBuffer (_stream_writable.js:425:5)
at ReadLineParser.Writable.write (_stream_writable.js:316:11)
at SerialPort.ondata (_stream_readable.js:714:22)
at SerialPort.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:275:11)
at SerialPort.Readable.push (_stream_readable.js:209:10)
at /home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/stream/lib/index.js:385:12 {
message: ‹ DeviceFeature not found ›
}
2020-05-03T11:31:39+0200 rflink.newValue.js:12 (RFlinkManager.newValue) RFlink: Wert des Schalters des Geräts rflink:100cdb3:switch:00 geändert auf ON
2020-05-03T11:31:39+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature nicht gefunden
at DeviceManager.newStateEvent (/home/philippe/gladys-rflink/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:311:20)
at Event.emit (/home/philippe/gladys-rflink/server/lib/event/index.js:8:16)
at RFlinkManager.newValue (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.newValue.js:52:21)
at RFlinkManager.message (/home/philippe/gladys-rflink/server/services/rflink/lib/events/rflink.message.js:377:16)
at ReadLineParser. (/home/philippe/gladys-rflink/server/services/rflink/lib/commands/rflink.listen.js:9:10)
at ReadLineParser.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:271:13)
at ReadLineParser.Readable.push (_stream_readable.js:209:10)
at ReadLineParser.Transform.push (_stream_transform.js:152:32)
at ReadLineParser._transform (/home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/parser-delimiter/lib/index.js:35:12)
at ReadLineParser.Transform._read (_stream_transform.js:191:10)
at ReadLineParser.Transform._write (_stream_transform.js:179:12)
at doWrite (_stream_writable.js:441:12)
at writeOrBuffer (_stream_writable.js:425:5)
at ReadLineParser.Writable.write (_stream_writable.js:316:11)
at SerialPort.ondata (_stream_readable.js:714:22)
at SerialPort.emit (events.js:311:20)
at addChunk (_stream_readable.js:294:12)
at readableAddChunk (_stream_readable.js:275:11)
at SerialPort.Readable.push (_stream_readable.js:209:10)
at /home/philippe/gladys-rflink/server/services/rflink/node_modules/@serialport/stream/lib/index.js:385:12 {
message: ‹ DeviceFeature not found ›
}

  • Die Zustände meines Türsensors werden nicht gespeichert: Atlantic;ID=3e6835;SWITCH=01;CMD=ON; und 20;10;Atlantic;ID=3e6835;SWITCH=01;CMD=OFF;

  • Die Nachricht 20;17;Warema;ID=ffd5;SWITCH=03;CMD=UP; führt zur Erstellung eines Geräts ohne Feature.

  • Für Bewegungsmelder sollte meiner Meinung nach jeder gesendete Zustand gespeichert werden (falls dies nicht bereits erfolgt). Sie senden nämlich nur CMD=ON (nie OFF)

Falls es hilft, hier ist ein Nachmittag des Empfangs:

Liste der empfangenen Nachrichten

20;00;Nodo RadioFrequencyLink - RFLink Gateway V1.1 - R48;
20;01;SelectPlus;ID=0575f1;SWITCH=02;CMD=ON;CHIME=01;
20;02;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;03;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;04;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;05;SelectPlus;ID=0575f1;SWITCH=02;CMD=ON;CHIME=01;
20;06;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;07;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1300;S=10;EXT=Tybox;BAT=OK;
20;08;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1300;S=10;EXT=Tybox;BAT=OK;
20;09;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;0A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;0B;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;0C;Atlantic;ID=3e6835;SWITCH=01;CMD=OFF;
20;0D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;0E;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;0F;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;10;LaCrosse;ID=0c06;TEMP=00ad;
20;11;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;12;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;13;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;14;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;15;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;16;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;17;SelectPlus;ID=0575f1;SWITCH=02;CMD=ON;CHIME=01;
20;18;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;19;LaCrosse;ID=0c06;TEMP=00b0;
20;1A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;1B;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;1C;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;1D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;1E;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;1F;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;20;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;21;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1400;S=10;EXT=Tybox;BAT=OK;
20;22;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1400;S=10;EXT=Tybox;BAT=OK;
20;23;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;24;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;25;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;26;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;27;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;28;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;29;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;2A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;2B;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;2C;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;2D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;2E;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;2F;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;30;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;31;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;32;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;33;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;34;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;35;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;36;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;37;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;38;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;39;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1500;S=10;EXT=Tybox;BAT=OK;
20;3A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;3B;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;3C;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;3D;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;3E;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;3F;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;40;SelectPlus;ID=0575f1;SWITCH=02;CMD=ON;CHIME=01;
20;41;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;42;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;43;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;44;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;45;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;46;Atlantic;ID=3e6835;SWITCH=01;CMD=OFF;
20;47;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;48;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;49;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;4A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;4B;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;4C;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;4D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;4E;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;4F;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;50;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;51;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;52;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;53;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;54;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;55;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;56;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;57;Debug;RTS P1;a50f0c0030fc3f6cd6a7;
20;58;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1600;S=10;EXT=Tybox;BAT=OK;
20;59;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;5A;SelectPlus;ID=0575f1;SWITCH=02;CMD=ON;CHIME=01;
20;5B;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;5C;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;5D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;5E;Debug;RTS P1;a50f0c0030fc3f6995a9;
20;5F;RTS;ID=30fc3f;SWITCH=01;CMD=ON;
20;60;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;61;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;62;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;63;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;64;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;65;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;66;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;67;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;68;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;69;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;6A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;6B;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;6C;LaCrosse;ID=0c06;TEMP=00fa;
20;6D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;6E;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;6F;LaCrosse;ID=0c06;TEMP=00fa;
20;70;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;71;LaCrosse;ID=0c06;TEMP=00f7;
20;72;Debug;RTS P1;a9c3c30003cfcf5a65a9;
20;73;Debug;RTS P1;a9c3c3000c3fcf6a65a9;
20;74;Debug;RTS P1;a9c3c3000c3f035a6565;
20;75;Debug;RTS P1;a9c3c30003cf03aa6566;
20;76;LaCrosse;ID=0c06;TEMP=00ee;
20;77;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=1700;S=10;EXT=Tybox;BAT=OK;
20;78;Warema;ID=ffd5;SWITCH=03;CMD=OFF;DEBUG=1FAEFFD5;
20;79;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;7A;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;7B;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;7C;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;7D;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;7E;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=03;EXT=Tybox;BAT=OK;
20;7F;BofuMotor;ID=010000;SWITCH=00;CMD=UP;
20;80;SelectPlus;ID=0575f1;SWITCH=02;CMD=ON;CHIME=01;
20;81;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
20;82;LaCrosse;ID=0c06;TEMP=00fd;
20;83;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;84;X2D;ID=100cdb3;SWITCH=00;CMD=ON;RC=0000;S=83;EXT=Tybox;BAT=OK;
20;85;Atlantic;ID=3e6835;SWITCH=01;CMD=OFF;
20;86;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;
[/details];
20;87;Debug;RTS P1;a9c3c3000c3fcfaa65a9;
20;88;RTS;ID=0c3fcf;SWITCH=01;CMD=STOP;
20;89;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;

Ach ja, ich habe das Problem mit « kein Wert » für fast alle Sensoren behoben, aber ich habe immer noch nicht das Logo der Funktion, das nebenan angezeigt wird :crazy_face: (trotzdem gebe ich Gladys alles, was sie braucht)

Für die Geräteerkennung habe ich fast alles korrigiert, aber ich habe ab und zu noch ein Gerät, das durchgeht, obwohl es bereits hinzugefügt wurde, also mache ich weiter.

Bei den Logs stimmt es, dass sie nicht besonders nützlich sind :rofl: . Ich werde das entfernen

Beim Aktualisieren des Zustands ist der Code einfach und funktioniert immer für mich, aber mein RFLINK erkennt nicht immer alles (ich denke, ich werde eine externe Stromversorgung für die Module hinzufügen, weil ich 2 Empfänger und einen Sender an meinem Arduino habe, die mitgelieferte USB-Versorgung könnte nicht ausreichen).

Für deinen Sensor werde ich nachsehen.

Das Problem ist nicht, dass mein Dienst den OFF-Zustand nicht verwaltet, sondern dass die günstigen Sensoren keine OFF-Nachrichten senden.
Vielleicht sollte ich direkt im Dienst eine Option hinzufügen, die den Wert der Türöffnungsmelder regelmäßig auf 0 zurücksetzt, da die günstigen Modelle eine Nachricht bei einer Öffnung senden, aber nicht, wenn du eine Tür wieder schließt.

Gleiches gilt für Bewegungsmelder (keine Nachricht, wenn keine Bewegung mehr vorhanden ist)



Auf jeden Fall danke für dein Feedback und für die Befehle, ich würde gerne Informationen über dein X2D-Peripheriegerät haben (was sind die Felder: RC=, S=, EXT=)

Ich tue mein Bestes, um einen stabilen Dienst zu erstellen, und bisher ist es noch nicht perfekt, das ist der einzige negative Punkt, weil es viele Funktionen gibt :grin: .

Wenn es jemanden interessiert, entwerfe ich gleichzeitig ein Gehäuse für RPI + RFLINK, das ich 3D-drucken werde.