Sending serial commands to sensors
-
I'm having trouble sending serial commands from openhab to my sensor nodes. The first thing I'm attempting is to change the units on the my sensors humidity sketch from Celsius to Fahrenheit. I wrote a crude rule that seemed to be successfully sent to the arduino, but I saw nothing on the serial monitor of the arduino sensor and saw no changes in the temperatures reported. How can I further troubleshoot this?
-
I'm making slow progress on this however I'm still running into a wall. I have the following rule setup:
rule "Test Rule" when Item Units received update then var String status if(Units.state == ON) status = "I" else status = "M" sendCommand(Arduino, "101;255;3;0;6;" + status + "\n") println("Updated Sensor Units to " + status +)
I'm attempting to tell the serial monitor to report the temperature in imperial units (Fahrenheit) as opposed to the default metric units (Celsius). The rule seems to be running successfully, but I'm getting the following error:
2015-05-12 16:57:52.733 [ERROR] [o.o.c.s.ScriptExecutionThread ] - Error during the execution of rule 'Test Rule': Index: 1, Size: 1
I can't seem to find any reference to this error. I don't see anything on the serial monitor of the arduino nano after flipping the switch on my sitemap when using the humidity sketch from the mysensors main site.
-
This post is deleted!
-
Did you figure this out? I am trying to do the same thing.
-
In the println part there is a string missing at the end after the +, isn't it?
-
@Jan-Gatzke I'm not sure that I understand what you mean. Maybe you're referring to the + after status? If so, I think you may be right, but I would assume that will only affect what is printed in the console, and not what is sent to the remote sensor. In the example above, I believe that 101;255;3;0;6;I\n would be sent if the switch was on, and 101;255;3;0;6;M\n would be sent if the switch was off.
I believe that most of my problem is trying to figure out what should be sent to the remote sensor to enable this. In the above case, my remote sensor is ID 101. Ideally, I'd like to send the message to all sensors, and not just a certain node ID. Would that be 255;255;3;0;6;I\n?
At one point, I thought I had this working, but it wasn't repeatable.
-
I don't think there is a broadcast function in mysensors. You have to call the nodes one by one. I probably found another mistake in your rule. The rule has to be ended with "end". Is this missing or just not copied? The rest looks good. I have similar rules working. Can't say much to the format of the command, because I've never switched the units for y temp sensors.
-
Also, something to remember with your test example, is that the isMetric function is only called in the setup portion of the standard code, in other words when the arduino is first started. So if you are going to swap the functions on the fly then you would need to modify the standard code.
If you have been restarting the arduino's to check then I apologise in advance! Just something that occurred to me on reading your issues.
-
@Chester good point, but I was restarting the arduino and still couldn't get this to work correctly. Also, the missing "end" was just missed out of the paste here, it was in my code.
Suggested Topics
-
SmartSleep a feature of the Gateway
Feature Requests • 18 Jun 2017, 21:05 • strangeoptics 19 Jun 2017, 10:43 -
connecting existing alarm system to veralite/ mysensors
General Discussion • 24 Jan 2015, 01:32 • brettzky84 24 Jan 2015, 02:58 -
Arduino Pro mini + RF 433 MHz as Gateway
General Discussion • 8 Nov 2015, 20:47 • lrtsenar 9 Nov 2015, 02:37 -
Serial Gateway mystery
Troubleshooting • 21 Oct 2014, 11:51 • cribben 28 Oct 2014, 00:21 -
Contribution
General Discussion • 23 Mar 2014, 19:58 • edoardoo 23 Mar 2014, 21:40 -
💬 Franzininho
OpenHardware.io • 24 Apr 2017, 18:51 • openhardware.io 7 May 2017, 22:58 -
Trouble with 115200 baud on 3.3V/8MHz Arduino, like Serial Gateway. Solution: Change baudrate.
Troubleshooting • 1 Jun 2015, 20:00 • Stric 3 Jun 2015, 05:21 -
PIR sensor or kinda?
Hardware • 31 Oct 2017, 15:39 • Matteo Benci 8 Nov 2017, 10:01