@mfalkvidd: So you are right, requestEcho is the end-to-end echo parameter but end-to-end means something else what I thought.
Meanwhile I tested the other direction: controller (node-red) ->mqtt -> gateway -> sensor_node message sending with ack turned on in mqtt message. I found that in this direction the sensor node sends back echo automatically to the controller through gateway and through mqtt. So it is real (full) end-to-end echo If the controller sending command to my-sensor node, but it is not that if the node sends data to controller (in that case gateway sends back echo to node). I haven't found a description in documentation about this behavior. Is it planned to add this feature to tell the gateway to enable pass through echo request to controller? So communication in both direction whould be symmetric. Thanks!
Imre Telek
@Imre Telek
Best posts made by Imre Telek
-
RE: Discussion: Reliable delivery
-
RE: fun project: entertaining doorbell
An option: I am playing sound on a speaker in my kitchen through a long ethernet cable when somebody press doorbell. Speaker is connected to my server PC which is my home automation controller and is turned on always. The speaker is connected through a cheap usb sound card and a cheap sound amplifier. My controller (Node-red) starts an external command line program to play an mp3 file on usb soundcard when somebody push the ring button outside. it could be a solution for you if you have a server. However it is not too simple and I also had some problem with it. (Now it is quite stable but it could be better )
-
RE: fun project: entertaining doorbell
@NeverDie My amplifier is something like this (TDA7297 Power Amplifier Module): https://www.ebay.com/itm/173501557435?hash=item28657faabb:g:bb4AAOSw1J5bhgtY
And usb sound card is like this (usb sound adapter): https://www.ebay.com/itm/391937753301?hash=item5b414f80d5:g:9hoAAOSwUYNaIX4l
(Maybe not exactly theese because I ordered them years ago) -
RE: fun project: entertaining doorbell
@NeverDie I used ethernet cable as an audio cable so later I can use those 6 unused pins something else.
Latest posts made by Imre Telek
-
RE: fun project: entertaining doorbell
@NeverDie I used ethernet cable as an audio cable so later I can use those 6 unused pins something else.
-
RE: fun project: entertaining doorbell
@NeverDie My amplifier is something like this (TDA7297 Power Amplifier Module): https://www.ebay.com/itm/173501557435?hash=item28657faabb:g:bb4AAOSw1J5bhgtY
And usb sound card is like this (usb sound adapter): https://www.ebay.com/itm/391937753301?hash=item5b414f80d5:g:9hoAAOSwUYNaIX4l
(Maybe not exactly theese because I ordered them years ago) -
RE: fun project: entertaining doorbell
@NeverDie If you ask about problems:
- external amplifier interferences with radio signals (mobile phone calls) -> I had to put it into a box coated with aluminium foil
- usb soundcard and pc built in sound card output order changed sometimes so I had to make the PC-s sound card as primary output. Now I always send sound to the second output (which is the usb sound card)
- one time the amplifier stopped and didn't play anything. I can't find the reason but after disconnected from power it started woring again.
- I couldn't find any good command line sound player where I cound specify the output device. So I wrote one in C#. I can share it if somebody need it. (windows command line exe)
-
RE: fun project: entertaining doorbell
An option: I am playing sound on a speaker in my kitchen through a long ethernet cable when somebody press doorbell. Speaker is connected to my server PC which is my home automation controller and is turned on always. The speaker is connected through a cheap usb sound card and a cheap sound amplifier. My controller (Node-red) starts an external command line program to play an mp3 file on usb soundcard when somebody push the ring button outside. it could be a solution for you if you have a server. However it is not too simple and I also had some problem with it. (Now it is quite stable but it could be better )
-
RE: Discussion: Reliable delivery
@mfalkvidd: So you are right, requestEcho is the end-to-end echo parameter but end-to-end means something else what I thought.
Meanwhile I tested the other direction: controller (node-red) ->mqtt -> gateway -> sensor_node message sending with ack turned on in mqtt message. I found that in this direction the sensor node sends back echo automatically to the controller through gateway and through mqtt. So it is real (full) end-to-end echo If the controller sending command to my-sensor node, but it is not that if the node sends data to controller (in that case gateway sends back echo to node). I haven't found a description in documentation about this behavior. Is it planned to add this feature to tell the gateway to enable pass through echo request to controller? So communication in both direction whould be symmetric. Thanks! -
RE: Discussion: Reliable delivery
@mfalkvidd Thanks for quick answer!
After my question I have researched more in forums and finally I found that I misunderstood "end to end" echo. I thought it means that it goes through gateway and mqtt to controller and I have to manually send echo back to original sender node. If it would be true the node could be 100% sure that the message is received. I don't know why I thought this. Maybe because there is an ack bit in mqtt topic. Maybe because I haven't found information about the details how it works. I on this page: https://www.mysensors.org/download/sensor_api_20 under Sending data/echo there should be more info. (e.g.: Echo will be send back automatically from gateway to node + Echo doesn't goes through gateway to mqtt,etc.) By the way it would be a good feature if there would be an other bool parameter in send method (e.g.: gatewayEchoPassthrough) which tells the gateway that this message requires echo from the real destination (controller). -
RE: Discussion: Reliable delivery
Hi! I am trying to create a reliable communication with MySensors. I am using ESP8266 as an MQTT gateway and frm95 modules for nodes communication. I am trying to implement an end to end acknowledge. I see that in mqtt topic there is an ack bit so my controller would send back an ack message if required. But where is that bool variable on the node side? I can't set this bit in MyMessage object and I can't set it in send method. There is a requestEcho parameter in send function but it is only the hardware echo, not the end to end ack parameter. Thanks!