[V4] Dev service RFlink

I misspoke. In Gladys, switch and motion are device types used to determine how to communicate with the device. To detect the type of a device, I rely on the fields present in the Rflink message.

For example, if the message contains « RGBW=… » then the type will be detected as Light.
If the message contains « HUM=… » then it will be detected as a humidity sensor.

However, for certain types of devices, I can’t find a way in the message transmitted by Rflink to know, for example, if it’s a socket or a door opening sensor. That’s why I asked you if you thought all motion sensors sent a CHIME property.

Okay, so I confirm that CHIME is not sent by all motion detectors. This is the case with the 2 sensors I have.

Here are the logs I have in Gladys:

(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 v25.9.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.

It’s fixed, thank you :grin:.

It works! My opening detector is now detected :slight_smile: (still as a switch, however, but normal given our recent exchange)

I can now see the messages.

I notice a strange behavior. Today, when a new device is detected, clicking the Connect/Reconnect button does not work; I have to manually refresh the page to see it appear at the top.

Note: I abandoned the tests with Docker otherwise I would not have been able to see the latest corrections you made.

@joeypic, after Gladys’ afternoon of operation, the list of devices to create is enormous. Even though I added the device in Gladys (Connect/Reconnect), it is listed multiple times :sweat_smile:

The gif file to illustrate: Access via Synology

Wow! There are a few of us :sweat_smile:

I may have forgotten a detail :rofl:
It’s fixed (hopefully)!

I can’t understand this. It didn’t happen before, and now I have this issue suddenly, even though I haven’t touched the front end for two weeks. However, in my code, it should refresh the list when you click Connect.

I’ll let it run and tell you how it evolves.

I’m making progress in my tests. I’ll add my neighbors’ devices :joy:

After adding the devices to the dashboard, they remain without value (No value recorded). For a LaCrosse weather station that transmits a message 20;05;LaCrosse;ID=0c06;TEMP=0116; (temperature in hexadecimal by the way, I don’t know if you have planned the conversion to decimal?), I notice that there is no associated feature (no icon either in the Integrations section).

Therefore, the error message below may explain why I don’t have any value displayed on the dashboard:

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 ›

I have another error message in the 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 v25.9.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.

Hello @joeypic and thank you for developing this module :slight_smile:

I increasingly want to replace my home automation installation on a V3 RPI3 that is more than overloaded and shows slowdowns due to the RFlink system and its too many requests per minute. So today I tried to install the docker image @peb which is 4 hours old on an RPI4 to test your module.

So it’s my first day with docker, I installed peb’s image in the same way as the official beta by just replacing the line
gladysassistant/gladys:4.0.0-beta-arm
with pebou/gladys:4.0.0-beta-integration-rflink. Is this what I am supposed to do?

After that I have a server running smoothly so I think I did it right, but I have several issues regarding the addition of my 433MHz devices, which make me think that I may not be on the latest version of the module (I saw similar problems solved earlier)?

The connection to my Ardu MEGA is not a problem, port selection and gladys reboot and it’s good to go. Directly, several sensors have been recognized and I have added them without any issues. In the dashboard they do not take any values, everything remains at No value recorded except one sensor that displays its humidity (why? :rofl:)

Later, I tried to add my 5-outlet remote control, which is in TriState protocol. Impossible to detect it automatically, it does not appear. I then tried a manual addition, by putting several buttons in a single device, but I did not succeed because of « ID conflict ». I conclude that each ON/OFF button must be created separately? :stuck_out_tongue_winking_eye:
Here is what I tried:

And at this point I don’t know by what magic I see in the detected devices one of my TriState buttons that appeared. And with it I control my outlet well. However, it is impossible to add the other 9 via detection :thinking: In the debug, the line still concerns temperature sensors (well I didn’t see anything else even when I press my buttons)

So if I’m wrong somewhere I’m all ears for your corrections :slight_smile:

I admit I have no idea how docker works :grin: but there are specialists on the forum.

I just fixed the problem by adding (I added humidity, light and pressure sensors)

What would be useful is to check if the RFlink receives a message. In the settings tab of the service you see the last message received, press your remote control (refresh the page because I haven’t put that in auto),

If your RFLINK receives a message but you don’t have a device added, then send me the logs. If your RFLINK doesn’t even detect the message (the Arduino LED doesn’t blink) then the problem is not with the service (I would be very surprised)

Thank you again for your feedback, I was starting to go in circles because I had none (if you have time, you could send me the list of your devices and the Rflink code that corresponds to them via PM please?)

Yes, that’s it! :slight_smile:

I will update the image as soon as there are new commits

No problem, so my RFLink box is well-tuned since I’ve been using it for more than a year and a half. Reception and transmission work quite well (reception 4 out of 5 times but it’s still good).
So when I try to detect my remote control via the RFLink software, it works, they appear every time I press my remote control:

On the other hand, on the gladys module side, it’s almost impossible to make them appear. The debug tab doesn’t help either, the last line received is 20;13;Alecto V4;ID=57d8;TEMP=00c2;HUM=79; but it doesn’t change when I press my TriState buttons. I notice the same thing with a presence detector in EV1527 which took a long time before I finally found it in the list of detected devices.

I had a bit of magic or two TriState buttons suddenly appeared in the list… I don’t explain they are like « appeared 30 minutes after I pressed the buttons » lol. But the others are not detected.

I also see that for the temperature sensors, they are almost all called « XXX XXX undefined ». This may be normal but I prefer to report it


I don’t think I modified the first one… but maybe it was me after all who modified it unconsciously.

On the logs side, here is what the docker logs gladys command gives me, hoping that it is what you are looking for:

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 v25.9.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

I didn’t quite understand what you wanted to know in the PM but I would be happy to give you the information :stuck_out_tongue_winking_eye:

PS: I did the update with Peb’s Docker image from the beginning of the afternoon. And I’m going to start all over again with a brand new gladys to see if the behavior is the same.

Oh no! It makes me lie on my new install, my inters are detected with the latest version of the image:

No more « undefined »

Thanks for the orders :grin:

The logs make me think your version is not up to date

I really hope it’s just your setup that’s not up to date because I’m starting to get scared, everything works perfectly for me (the undefined in the name I fixed not long ago).

It must have been either

  • @peb’s version from yesterday that didn’t have the modifications (that seems odd)
  • My « normal » Gladys v4 install without clearing the database before switching to the RFLink version

But now everything seems to be working :slight_smile:

@pierre-gilles Do you have a date for the development of the color and brightness part of the bulbs?

Bonjour @joeypic ,

J’ai repris des tests ce dimanche 3 mai avec un git pull de ton repos vers 11h30.

As-tu pris connaissance de mon message du 12 avril dernier, plus haut dans ce thread ? N’ayant pas vu de réponse, je ne suis pas sûr que tu l’ai remarqué^^

Voici ce que j’ai constaté aujourd’hui :

  • La détection de nouveaux devices remonte des devices déjà ajoutés ; du coup, on essaie d’ajouter le device en cliquant sur “Connect/Reconnect” ça supprime de la liste les autres devices que j’aurais pu ajouter (?) et surtout, ça écrase le paramétrage du device qui était déjà ajouté.

  • Lors de l’identification d’un nouveau device, la log retourne [object Object] systématiquement : rflink.addNewDevice.js:11 (RFlinkManager.addNewDevice) ajout du device : [object Object]

  • La mise à jour des états ne semble pas fonctionner tout le temps : cf. logs ci-dessous + un autre cas avec mon détecteur de porte décrit dans le point après les logs

voici les logs :

2020-05-03T11:31:09+0200 rflink.listen.js:10 (ReadLineParser.) Rflink : message reçu : 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: not connected. Prevent forwarding event.
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 : value battery of device rflink:100cdb3:battery:00 changed to OK
2020-05-03T11:31:39+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: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 : value switch of device rflink:100cdb3:switch:00 changed to ON
2020-05-03T11:31:39+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: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’
}

  • Les états de mon détecteur de porte ne sont pas enregistrés : Atlantic;ID=3e6835;SWITCH=01;CMD=ON; et 20;10;Atlantic;ID=3e6835;SWITCH=01;CMD=OFF;

  • Le message 20;17;Warema;ID=ffd5;SWITCH=03;CMD=UP; conduit à créer un device sans feature.

rflink-warema

  • Pour les détecteurs de mouvement, il faudrait à mon sens enregistrer tous les états envoyés (si ce n’est pas déjà fait). En effet, ils n’envoient que des CMD=ON (jamais de OFF)

Si ça peut aider, voici une après-midi de réception :

Liste des messages reçus

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;
20;87;Debug;RTS P1;a9c3c3000c3fcfaa65a9;
20;88;RTS;ID=0c3fcf;SWITCH=01;CMD=STOP;
20;89;EV1527;ID=0e28a0;SWITCH=0e;CMD=ON;

Ah yes, I fixed the « no value » issue for almost all sensors, but I still don’t have the feature logo displayed next to it :crazy_face: (yet I’m providing everything needed to Gladys)

For device detection, I’ve fixed almost everything, but I still occasionally have a device that passes even though it’s already added, so I’ll keep going.

For the logs, it’s true that it’s not very useful :rofl:. I’ll remove that.

For state updates, the code is simple and works all the time for me, but my RFLINK doesn’t always detect everything (I think I’ll add an external power supply for the modules because I have 2 receivers and a transmitter on my Arduino, the provided USB might not be enough).

For your detector, I’ll take a look.

The problem is not that my service doesn’t handle OFF, it’s that cheap sensors don’t send OFF messages.
Maybe I should add an option directly in the service that resets the value of door opening detectors to 0 regularly since cheap ones send a message when a door is opened but not when you close it.

Same for motion sensors (no message when there’s no more movement)



Anyway, thanks for your feedback and the commands, I’d like some information about your X2D peripheral (what are the fields: RC=, S=, EXT=)

I’m doing my best to create a stable service, and for now, it’s not yet perfect, that’s the only negative point because there are many features :grin:.

If it interests someone, I’m also modeling a case for RPI + RFLINK that I’ll print in 3D.