MQTT Broker gateway
-
Restarting the modem and checking wires of arduino solved my problem before.
I am sure mqtt have to be in dhcp list. -
I have restarted my router with no effect. The gateway still does not show up as an active client (using DDWRT) but I still have a connection from phone to gateway.
Added the above line. I've used one before like it but went back to what was given at the beggining of this thread to start anew. I also tried with the following edits
"Light Level"
"Light Level [%s]"
"Light Level [%.1f]"None of which make a difference. The reason I think OpenHab doesn't even see the gateway is because nothing shows up in sketch name either which should work even if the above line was incorrect.
I have done the testing with the Android App turned off as well since I know OpenHab had some issues earlier if other clients were accessing the gateway.
I still see no reference to my gateway's IP in any of the OpenHab output/logs. So I'm not sure it is even trying.
The only error message in my openhab log is:
11:23:46.951 [ERROR] [sphere.cpr.AtmosphereFramework:2215 ] -I tried clearing the EEPROM in the gateway. I changed it's Mac address and removed the DHCP lease for it from my router. Still no evidence of the gateway on my router status page but also still able to connect to it with my phone.
Another update:
I installed Mosquitto and I see the light sensor level using mosquitto_sub -h 192.168.1.134 -t MyMQTT -
I have restarted my router with no effect. The gateway still does not show up as an active client (using DDWRT) but I still have a connection from phone to gateway.
Added the above line. I've used one before like it but went back to what was given at the beggining of this thread to start anew. I also tried with the following edits
"Light Level"
"Light Level [%s]"
"Light Level [%.1f]"None of which make a difference. The reason I think OpenHab doesn't even see the gateway is because nothing shows up in sketch name either which should work even if the above line was incorrect.
I have done the testing with the Android App turned off as well since I know OpenHab had some issues earlier if other clients were accessing the gateway.
I still see no reference to my gateway's IP in any of the OpenHab output/logs. So I'm not sure it is even trying.
The only error message in my openhab log is:
11:23:46.951 [ERROR] [sphere.cpr.AtmosphereFramework:2215 ] -I tried clearing the EEPROM in the gateway. I changed it's Mac address and removed the DHCP lease for it from my router. Still no evidence of the gateway on my router status page but also still able to connect to it with my phone.
Another update:
I installed Mosquitto and I see the light sensor level using mosquitto_sub -h 192.168.1.134 -t MyMQTT@hooraysimpsons Your gateway seems to be working fine. Do you see something like this on your openhab logs?
2015-02-27 17:48:06.349 [INFO ] [.io.transport.mqtt.MqttService] - MQTT Service initialization completed. 2015-02-27 17:48:06.350 [INFO ] [o.i.t.m.i.MqttBrokerConnection] - Starting MQTT broker connection 'mysensor' -
@hooraysimpsons Your gateway seems to be working fine. Do you see something like this on your openhab logs?
2015-02-27 17:48:06.349 [INFO ] [.io.transport.mqtt.MqttService] - MQTT Service initialization completed. 2015-02-27 17:48:06.350 [INFO ] [o.i.t.m.i.MqttBrokerConnection] - Starting MQTT broker connection 'mysensor'@celonunes Nope. I figured it out. In my openhab config file there was space prior to my MQTT related lines
" mqtt:mysensor.url=tcp://192.168.1.134:1883"
" mqtt:mysensor.clientId=OpenhabMQTT"
Instead of
"mqtt:mysensor.url=tcp://192.168.1.134:1883"
"mqtt:mysensor.clientId=OpenhabMQTT"Removed the space and now I get my light sensor output value. I still don't get the sketch name coming through but I'll look into that later.
-
@celonunes @hek
I installed this https://github.com/lurch/rpi-serial-console
pi@raspberrypi ~ $ rpi-serial-console status
Serial console on /dev/ttyAMA0 is disabledNow my nodes are working perfect when i use manual button or ui but my logs are not correct
My config:
add on : org.openhab.binding.serial_1.6.0.201411271703.jar
String Arduino "Arduino" { serial="/dev/ttyUSB0" }As you see there are "fails" but nodes are working.
015-03-09 12:37:51.725 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:1
2015-03-09 12:37:56.726 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;read: 52-52-0 s=255,c=0,t=18,pt=0,l=5:1.4.1
52;255;0;0;18;1.4.1
0;0;3;0;9;read: 52-52-0 s=255,c=3,t=6,pt=1,l=1:0
52;255;3;0;6;02015-03-09 12:37:58.768 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;read: 52-52-0 s=255,c=3,t=11,pt=0,l=14:Relay & Button
52;255;3;0;11;Relay & Button
0;0;3;0;9;read: 52-52-0 s=255,c=3,t=12,pt=0,l=3:1.0
52;255;3;0;12;1.0
0;0;3;0;9;read: 52-52-0 s=1,c=0,t=3,pt=0,l=5:1.4.1
52;1;0;0;3;1.4.1
0;0;3;0;9;read: 52-52-0 s=2,c=0,t=3,pt=0,l=5:1.4.1
52;2;0;0;3;1.4.12015-03-09 12:37:59.700 [INFO ] [runtime.busevents ] - S2 received command ON
2015-03-09 12:37:59.822 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;02015-03-09 12:38:00.106 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:0
2015-03-09 12:38:00.546 [INFO ] [runtime.busevents ] - S2 received command OFF
2015-03-09 12:38:00.661 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;12015-03-09 12:38:00.967 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:1
2015-03-09 12:38:01.161 [INFO ] [runtime.busevents ] - S2 received command ON
2015-03-09 12:38:01.339 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;02015-03-09 12:38:01.649 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:0
2015-03-09 12:38:01.782 [INFO ] [runtime.busevents ] - S2 received command OFF
2015-03-09 12:38:01.894 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;12015-03-09 12:38:02.076 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:1
-
Just want to make sure I'm understanding this correctly since I feel the MQTT terminology is new to me.
The MQTT Broker is the MQTT server so if I wanted to use this with openhab on a pi I would just need the MQTT plugin and then point it to the IP of the gateway?
I have the ethernet module ordered so I can't test myself yet.
-
@celonunes @hek
I installed this https://github.com/lurch/rpi-serial-console
pi@raspberrypi ~ $ rpi-serial-console status
Serial console on /dev/ttyAMA0 is disabledNow my nodes are working perfect when i use manual button or ui but my logs are not correct
My config:
add on : org.openhab.binding.serial_1.6.0.201411271703.jar
String Arduino "Arduino" { serial="/dev/ttyUSB0" }As you see there are "fails" but nodes are working.
015-03-09 12:37:51.725 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:1
2015-03-09 12:37:56.726 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;read: 52-52-0 s=255,c=0,t=18,pt=0,l=5:1.4.1
52;255;0;0;18;1.4.1
0;0;3;0;9;read: 52-52-0 s=255,c=3,t=6,pt=1,l=1:0
52;255;3;0;6;02015-03-09 12:37:58.768 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;read: 52-52-0 s=255,c=3,t=11,pt=0,l=14:Relay & Button
52;255;3;0;11;Relay & Button
0;0;3;0;9;read: 52-52-0 s=255,c=3,t=12,pt=0,l=3:1.0
52;255;3;0;12;1.0
0;0;3;0;9;read: 52-52-0 s=1,c=0,t=3,pt=0,l=5:1.4.1
52;1;0;0;3;1.4.1
0;0;3;0;9;read: 52-52-0 s=2,c=0,t=3,pt=0,l=5:1.4.1
52;2;0;0;3;1.4.12015-03-09 12:37:59.700 [INFO ] [runtime.busevents ] - S2 received command ON
2015-03-09 12:37:59.822 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;02015-03-09 12:38:00.106 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:0
2015-03-09 12:38:00.546 [INFO ] [runtime.busevents ] - S2 received command OFF
2015-03-09 12:38:00.661 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;12015-03-09 12:38:00.967 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:1
2015-03-09 12:38:01.161 [INFO ] [runtime.busevents ] - S2 received command ON
2015-03-09 12:38:01.339 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;02015-03-09 12:38:01.649 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:0
2015-03-09 12:38:01.782 [INFO ] [runtime.busevents ] - S2 received command OFF
2015-03-09 12:38:01.894 [INFO ] [runtime.busevents ] - Arduino received command 52;1;1;0;2;12015-03-09 12:38:02.076 [INFO ] [runtime.busevents ] - Arduino state updated to 0;0;3;0;9;send: 0-0-52-52 s=1,c=1,t=2,pt=0,l=1,st=fail:1
@C.r.a.z.y. You are using the raspberry serial port to connect the openhab with the arduino and the arduino is running the SerialGateway sketch, is that right?
-
Just want to make sure I'm understanding this correctly since I feel the MQTT terminology is new to me.
The MQTT Broker is the MQTT server so if I wanted to use this with openhab on a pi I would just need the MQTT plugin and then point it to the IP of the gateway?
I have the ethernet module ordered so I can't test myself yet.
@Chaotic said:
The MQTT Broker is the MQTT server so if I wanted to use this with openhab on a pi I would just need the MQTT plugin and then point it to the IP of the gateway?
That's right.
-
I have ENC28J60-I/SO connected by ethernetcable to my Asus RT-n66u in LAN 4. But It will not show up in my router... On my ENC28J60 there is a red light on D1 and the ethernet port has a green light and a yellow flashing light.
Serial monitor says "
Started!
0;0;3;0;9;read: 20-20-0 s=255,c=0,t=17,pt=0,l=5:1.4.1
0;0;3;0;9;read: 20-20-0 s=255,c=3,t=6,pt=1,l=1:0
0;0;3;0;9;send: 0-0-20-20 s=255,c=3,t=6,pt=0,l=1,st=ok:M
0;0;3;0;9;read: 20-20-0 s=255,c=3,t=11,pt=0,l=18:Temperature Sensor
0;0;3;0;9;read: 20-20-0 s=255,c=3,t=12,pt=0,l=3:1.0. But nothing more. I have followed the MQTT gateway guide and set an static ip in the sketch.. DHCP is on in my router.
The only thing I see in my router is : That the cable is connected to something and that its 10 Half duplex.
I have also tried to connect it to other LAN ports but no difference
What could be wrong?
-
I have ENC28J60-I/SO connected by ethernetcable to my Asus RT-n66u in LAN 4. But It will not show up in my router... On my ENC28J60 there is a red light on D1 and the ethernet port has a green light and a yellow flashing light.
Serial monitor says "
Started!
0;0;3;0;9;read: 20-20-0 s=255,c=0,t=17,pt=0,l=5:1.4.1
0;0;3;0;9;read: 20-20-0 s=255,c=3,t=6,pt=1,l=1:0
0;0;3;0;9;send: 0-0-20-20 s=255,c=3,t=6,pt=0,l=1,st=ok:M
0;0;3;0;9;read: 20-20-0 s=255,c=3,t=11,pt=0,l=18:Temperature Sensor
0;0;3;0;9;read: 20-20-0 s=255,c=3,t=12,pt=0,l=3:1.0. But nothing more. I have followed the MQTT gateway guide and set an static ip in the sketch.. DHCP is on in my router.
The only thing I see in my router is : That the cable is connected to something and that its 10 Half duplex.
I have also tried to connect it to other LAN ports but no difference
What could be wrong?
@msebbe Did you try to ping the gateway static IP?
-
@msebbe Did you try to ping the gateway static IP?
@celonunes
Yes, both from windows cmd and from the router ui with this result:
PING 192.168.1.197 (192.168.1.197): 56 data bytes
--- 192.168.1.197 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet lossCould be that I have not changed the MAC adress cause I tried to figure out how to do it but I dont understand this part from the MQTT gateway sketch:
*1 -> NOTE: Keep first byte at x2, x6, xA or xE (replace x with any hex value) for using Local Ranges.
#define TCP_PORT 1883 // Set your MQTT Broker Listening port. IPAddress TCP_IP ( 192, 168, 1, 197 ); // Configure your static ip-address here uint8_t TCP_MAC[] = { 0x02, 0xDE, 0xAD, 0x00, 0x00, 0x42 }; // Mac-address - You should change this! see note *2 above! -
@celonunes
Yes, both from windows cmd and from the router ui with this result:
PING 192.168.1.197 (192.168.1.197): 56 data bytes
--- 192.168.1.197 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet lossCould be that I have not changed the MAC adress cause I tried to figure out how to do it but I dont understand this part from the MQTT gateway sketch:
*1 -> NOTE: Keep first byte at x2, x6, xA or xE (replace x with any hex value) for using Local Ranges.
#define TCP_PORT 1883 // Set your MQTT Broker Listening port. IPAddress TCP_IP ( 192, 168, 1, 197 ); // Configure your static ip-address here uint8_t TCP_MAC[] = { 0x02, 0xDE, 0xAD, 0x00, 0x00, 0x42 }; // Mac-address - You should change this! see note *2 above!@msebbe Which library your are using for the ENC28J60? The UIPEthernet has some examples you could try to test if your module is working.
-
@Chaotic said:
The MQTT Broker is the MQTT server so if I wanted to use this with openhab on a pi I would just need the MQTT plugin and then point it to the IP of the gateway?
That's right.
@celonunes
Just wanted to say I was able to get this working.Also found a nice little MQTT utility that makes it easy to see the messages being sent from the broker/openhab.
I'm sure I'll have more questions but most of my hardware is still on a boat from china so will be a little while till I discover them.
-
@msebbe Which library your are using for the ENC28J60? The UIPEthernet has some examples you could try to test if your module is working.
@celonunes In the Mqtt broker sketch, Ethernet.h was included. I suppose it should be UIPEthernet.h for me? So I tried that but nothing.
I had better luck with the UIPEthernet examples, there my arduino shows up with an ip and mac adress.. Hmmm.
edit:
So after using UIPEthernet "Advanced chat server" sketch, the MAC and IP showed up in my router. When I then tried with the MQTT sketch with UIPEthernet.h it would not work. So then I tried to copy the MAC and IP I used in the chat server sketch into the Mqtt sketch and bom! I can now ping it, so I guess it works now?
edit2: Should it say anything more then "Started!" on serial monitor? Like "on ip 192.168.1.197" or something like that? Since Im now trying the MQTT in pidome as I know how to use pidome better. Pidome states;
Connected: Yes, with 192.168.1.197:1883 at topic: MyMQTT/# (without subscribe promise)
Last receive time: 00-00-0000 00:00
Last send time: 00-00-0000 00:00This is what Serial monitor says http://i61.tinypic.com/i252kn.png
But when I use device discovery it cannot find the temperature sensor that could be found using the serial gateway :/
-
Hi everyone,
Finally got this working but had a couple of quetions
Does the MQTT Broker gateway not handle requests for time? I currently have a node that I'm using as an alarm clock which has a RTC module. I had hoped to be able to update the time via the gateway and polling the time from one of my computers which are connected to NTP servers but the message never seems to get put on a MQTT message so I can't have a computer respond to it.
-
@celonunes In the Mqtt broker sketch, Ethernet.h was included. I suppose it should be UIPEthernet.h for me? So I tried that but nothing.
I had better luck with the UIPEthernet examples, there my arduino shows up with an ip and mac adress.. Hmmm.
edit:
So after using UIPEthernet "Advanced chat server" sketch, the MAC and IP showed up in my router. When I then tried with the MQTT sketch with UIPEthernet.h it would not work. So then I tried to copy the MAC and IP I used in the chat server sketch into the Mqtt sketch and bom! I can now ping it, so I guess it works now?
edit2: Should it say anything more then "Started!" on serial monitor? Like "on ip 192.168.1.197" or something like that? Since Im now trying the MQTT in pidome as I know how to use pidome better. Pidome states;
Connected: Yes, with 192.168.1.197:1883 at topic: MyMQTT/# (without subscribe promise)
Last receive time: 00-00-0000 00:00
Last send time: 00-00-0000 00:00This is what Serial monitor says http://i61.tinypic.com/i252kn.png
But when I use device discovery it cannot find the temperature sensor that could be found using the serial gateway :/
@msebbe It doesn't print your ip, those numbers after "Started!" is related to mqtt packages showing that PiDome is connected.
For the device discovery, there are probably a lot of other people who can help you with that because I don't know much about PiDome. -
Hi everyone,
Finally got this working but had a couple of quetions
Does the MQTT Broker gateway not handle requests for time? I currently have a node that I'm using as an alarm clock which has a RTC module. I had hoped to be able to update the time via the gateway and polling the time from one of my computers which are connected to NTP servers but the message never seems to get put on a MQTT message so I can't have a computer respond to it.
@Chaotic MQTT Broker gateway doesn't handle time requests.
-
@Chaotic said:
The MQTT Broker is the MQTT server so if I wanted to use this with openhab on a pi I would just need the MQTT plugin and then point it to the IP of the gateway?
That's right.
@celonunes Ok, thanks! I got the discovery working by just rebuilding the same sensor from scratch!
Sorry for so many questions.. But I have now changed to Openhab and got it working with my MQTT gateway. Now Another problem appear:
http://i60.tinypic.com/2d2eqzk.png[/IMG
I would like to display the temperature in °C like in your guide sketch (wich I am using) but instead it looks like in the picture. Same thing about humidity, why is it like this?
Edit: For anyone wondering, I solved the issue with the degree symbol not showing up properly by replacing "°C" with "& deg;C" without space between & deg
-
Hi Folks,
New to mysensors and am impressed. I've been playing with OpenHAB and MQTT so this sounds like an interesting project. My question though, which might have been answered but I'm finding it hard to find the answer, is - is this bidirectional? As in if I had a 'sensor' on the Arduino network and that went over the radio network, hit the gateway and then got picked up by OpenHAB, could I then, if I had a 'actuator' or a 'do-er' node on the network, send a message to MQTT from OpenHAB to change the status of that actuator device? So for instance to start a motor controlling blinds for instance? Or is it a read only system?
Thanks
-
Hi Folks,
New to mysensors and am impressed. I've been playing with OpenHAB and MQTT so this sounds like an interesting project. My question though, which might have been answered but I'm finding it hard to find the answer, is - is this bidirectional? As in if I had a 'sensor' on the Arduino network and that went over the radio network, hit the gateway and then got picked up by OpenHAB, could I then, if I had a 'actuator' or a 'do-er' node on the network, send a message to MQTT from OpenHAB to change the status of that actuator device? So for instance to start a motor controlling blinds for instance? Or is it a read only system?
Thanks
It works both ways.