💬 Building a Raspberry Pi Gateway
-
just cloned and read the --help, but still I don't know how to use.
To make it a litte less abstract: I have a ethernet gateway (ESP8266) running at 192.168.38.19 with port 5003 to connect to. I want to have this accessible by a serial-only controller on the raspberry.I tried to do this config and
makeafterwards, but starting gave only FAILs..../configure --my-gateway=ethernet --my-controller-ip-address=192.168.38.19 --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway~/MySensors$ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.0 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.0 mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=1 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=2 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=3 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=4 mysgw: TSM:FAIL:PDTI think my config is wrong and it tries to connect to a nrf24 at the rpi. So what's the correct config for my case?
Thanks in advance.
-
just cloned and read the --help, but still I don't know how to use.
To make it a litte less abstract: I have a ethernet gateway (ESP8266) running at 192.168.38.19 with port 5003 to connect to. I want to have this accessible by a serial-only controller on the raspberry.I tried to do this config and
makeafterwards, but starting gave only FAILs..../configure --my-gateway=ethernet --my-controller-ip-address=192.168.38.19 --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway~/MySensors$ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.0 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.0 mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=1 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=2 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=3 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=4 mysgw: TSM:FAIL:PDTI think my config is wrong and it tries to connect to a nrf24 at the rpi. So what's the correct config for my case?
Thanks in advance.
-
I using RPi2 and NRF24 for this. I followed the instructions, to clone the repo, and then added config
./configure --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=mygateway1 --my-transport=nrf24make
when i run with sudo ./bin/mysgw -d, it is failing to connect to MQTT. Can you please help?
mysgw: Starting gateway...
mysgw: Protocol version - 2.1.0
mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.0
mysgw: TSF:LRT:OK
mysgw: TSM:INIT
mysgw: TSF:WUR:MS=0
mysgw: TSM:INIT:TSP OK
mysgw: TSM:INIT:GW MODE
mysgw: TSM:READY:ID=0,PAR=0,DIS=0
mysgw: MCO:REG:NOT NEEDED
mysgw: MCO:BGN:STP
mysgw: MCO:BGN:INIT OK,TSP=1
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect -
I'm using a ESP8266 as ethernet gateway and want to have this connected as virtuall serial port to my raspberry pi so my controller can connect to that.
-
I use pimatic which does not have a native compatibility to ethernet or mqtt. Thats why my question came up on how to configure it to do this...
Building a Raspberry Pi Gateway:
If you are running a controller on the Raspberry Pi that doesn't support communication with the gateway through ethernet, you can use a virtual serial port:
./configure --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway -
I use pimatic which does not have a native compatibility to ethernet or mqtt. Thats why my question came up on how to configure it to do this...
Building a Raspberry Pi Gateway:
If you are running a controller on the Raspberry Pi that doesn't support communication with the gateway through ethernet, you can use a virtual serial port:
./configure --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway@Anduril you might be able to use nodered or socat to convert the tcp connection to a serial port.
https://linux.die.net/man/1/socat
https://nodered.org/ -
I using RPi2 and NRF24 for this. I followed the instructions, to clone the repo, and then added config
./configure --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=mygateway1 --my-transport=nrf24make
when i run with sudo ./bin/mysgw -d, it is failing to connect to MQTT. Can you please help?
mysgw: Starting gateway...
mysgw: Protocol version - 2.1.0
mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.0
mysgw: TSF:LRT:OK
mysgw: TSM:INIT
mysgw: TSF:WUR:MS=0
mysgw: TSM:INIT:TSP OK
mysgw: TSM:INIT:GW MODE
mysgw: TSM:READY:ID=0,PAR=0,DIS=0
mysgw: MCO:REG:NOT NEEDED
mysgw: MCO:BGN:STP
mysgw: MCO:BGN:INIT OK,TSP=1
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect
mysgw: Attempting MQTT connection...
mysgw: connect: Connection refused
mysgw: failed to connect@lakshmc Make sure you don't have the daemon running already
If not, I'm getting the same problem on the 2.1.1 that was just released. 2.1.0 was working "fine"(besides my suspecting a bug that doesn't let any inclusion happen, hence I tried the new version). Time to go back to the serial gateway right into the vera.
-
@lakshmc Make sure you don't have the daemon running already
If not, I'm getting the same problem on the 2.1.1 that was just released. 2.1.0 was working "fine"(besides my suspecting a bug that doesn't let any inclusion happen, hence I tried the new version). Time to go back to the serial gateway right into the vera.
@pete1450 @lakshmc
Make sure you are not using an old version of mosquitto (or any other broker you're using):$ mosquitto -h mosquitto version 1.4.10 (build date 2016-09-20 11:02:07-0600)It's working fine with the 2.1.1 release:
[alarm@pi3 mysgw]$ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1 mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: Attempting MQTT connection... mysgw: connected to 127.0.0.1 mysgw: MQTT connected mysgw: Sending message on topic: mysensors-out/0/255/0/0/18 mysgw: TSF:MSG:READ,2-2-0,s=1,c=1,t=17,pt=7,l=5,sg=0:108.12 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-2-2,s=1,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:108.12 mysgw: Sending message on topic: mysensors-out/2/1/1/0/17 mysgw: TSF:MSG:READ,2-2-0,s=2,c=1,t=17,pt=7,l=5,sg=0:48.31 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-2-2,s=2,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:48.31 mysgw: Sending message on topic: mysensors-out/2/2/1/0/17 mysgw: TSF:MSG:READ,2-2-0,s=3,c=1,t=17,pt=7,l=5,sg=0:362.86 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-2-2,s=3,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:362.86 mysgw: Sending message on topic: mysensors-out/2/3/1/0/17 -
@pete1450 @lakshmc
Make sure you are not using an old version of mosquitto (or any other broker you're using):$ mosquitto -h mosquitto version 1.4.10 (build date 2016-09-20 11:02:07-0600)It's working fine with the 2.1.1 release:
[alarm@pi3 mysgw]$ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1 mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: Attempting MQTT connection... mysgw: connected to 127.0.0.1 mysgw: MQTT connected mysgw: Sending message on topic: mysensors-out/0/255/0/0/18 mysgw: TSF:MSG:READ,2-2-0,s=1,c=1,t=17,pt=7,l=5,sg=0:108.12 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-2-2,s=1,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:108.12 mysgw: Sending message on topic: mysensors-out/2/1/1/0/17 mysgw: TSF:MSG:READ,2-2-0,s=2,c=1,t=17,pt=7,l=5,sg=0:48.31 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-2-2,s=2,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:48.31 mysgw: Sending message on topic: mysensors-out/2/2/1/0/17 mysgw: TSF:MSG:READ,2-2-0,s=3,c=1,t=17,pt=7,l=5,sg=0:362.86 mysgw: TSF:MSG:ACK REQ mysgw: TSF:MSG:SEND,0-0-2-2,s=3,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:362.86 mysgw: Sending message on topic: mysensors-out/2/3/1/0/17@marceloaqno I should have specified, I'm getting the connection errors with the ethernet gateway.
-
@marceloaqno I should have specified, I'm getting the connection errors with the ethernet gateway.
@pete1450 Could you send the debug log with the connection errors?
-
@marceloaqno After installing broker and gateway fresh, seems to be working. Thanks for your help.
-
@pete1450 Could you send the debug log with the connection errors?
@marceloaqno
Ran as root and made sure I didn't have mysgw already running:rm -r MySensors/ git clone https://github.com/mysensors/MySensors.git --branch master cd MySensors/ ./configure --my-controller-ip-address=192.168.1.136 --my-port=5003 --my-rf24-irq-pin=15 makeroot@raspberrypi:~/downloads/MySensors# ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG--Q,VER=2.1.1 mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: connect: Connection refused mysgw: failed to connect mysgw: Eth: connect -
every few days mysgw randomly dies :(
Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,5-5-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0 Jan 19 06:40:01 pi mysgw[17960]: Sending message on topic: mysensors/out/1/5/255/3/0/21 Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,0-5-255,s=255,c=3,t=20,pt=0,l=0,sg=0: Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:BC Jan 19 06:40:01 pi systemd[1]: mysgw.service: main process exited, code=killed, status=11/SEGV Jan 19 06:40:01 pi systemd[1]: Unit mysgw.service entered failed state. -
@marceloaqno
Ran as root and made sure I didn't have mysgw already running:rm -r MySensors/ git clone https://github.com/mysensors/MySensors.git --branch master cd MySensors/ ./configure --my-controller-ip-address=192.168.1.136 --my-port=5003 --my-rf24-irq-pin=15 makeroot@raspberrypi:~/downloads/MySensors# ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG--Q,VER=2.1.1 mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: connect: Connection refused mysgw: failed to connect mysgw: Eth: connect@pete1450 If you use the --my-controller-ip-address= option, the gateway will act as a client and attempt to conect to the supplied ip and port. If you want the gateway to open port 5003, omit this option.
-
@marceloaqno what is the correct configure option to make this gatway connect to an ethernet gateway and let a serial-only-controller connect to it. I suppose to use the pty option, but didn't got this working. As said above, socat and nodered are no option.
-
@pete1450 If you use the --my-controller-ip-address= option, the gateway will act as a client and attempt to conect to the supplied ip and port. If you want the gateway to open port 5003, omit this option.
@marceloaqno Well that fixed the connection issue. Now I'm just back to square one where pressing start doesn't do anything. Why do I not need to specify my controllers ip? That is the ip for my veralite. Whats the use case for that option.
-
every few days mysgw randomly dies :(
Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,5-5-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0 Jan 19 06:40:01 pi mysgw[17960]: Sending message on topic: mysensors/out/1/5/255/3/0/21 Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,0-5-255,s=255,c=3,t=20,pt=0,l=0,sg=0: Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:BC Jan 19 06:40:01 pi systemd[1]: mysgw.service: main process exited, code=killed, status=11/SEGV Jan 19 06:40:01 pi systemd[1]: Unit mysgw.service entered failed state.@b0rmann Could you provide the following information?
- Your RPi model and which linux distribution you are using.
- gcc version
- The version and options you used to build the gateway (./configure --option)
- The number of nodes on your network that sends messages to the gateway.
- The broker you are using for MQTT and its version
-
@marceloaqno what is the correct configure option to make this gatway connect to an ethernet gateway and let a serial-only-controller connect to it. I suppose to use the pty option, but didn't got this working. As said above, socat and nodered are no option.
@Anduril Sorry, the gateway does not support what you're trying to do.