Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. Domoticz
  4. Robot mower ignores the rain, MySensors to the rescue!

Robot mower ignores the rain, MySensors to the rescue!

Scheduled Pinned Locked Moved Domoticz
28 Posts 6 Posters 8.0k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SparkmanS Offline
    SparkmanS Offline
    Sparkman
    Hero Member
    wrote on last edited by
    #8

    Hi Mark,

    The only example I can think of is @BulldogLowell's sprinkler controller. It queries for run-times from the controller. I think that is supported on the Vera, and not sure if Domoticz supports the same feature.

    Cheers
    Al

    1 Reply Last reply
    1
    • sundberg84S Offline
      sundberg84S Offline
      sundberg84
      Hardware Contributor
      wrote on last edited by
      #9

      Hi!
      Some examples of getting a value from Domoticz is
      @AWI http://forum.mysensors.org/topic/1976/scrolling-text-sensor-node-with-new-v_text and http://forum.mysensors.org/topic/1957/lcd-clock-and-text-sensor-node-with-new-v_text.
      My LCD screen uses the same method:
      https://www.openhardware.io/view/23/In-wall-LCD-SwitchScene-controller-for-MySensors

      Controller: Proxmox VM - Home Assistant
      MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
      MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
      RFLink GW - Arduino Mega + RFLink Shield, 433mhz

      1 Reply Last reply
      1
      • Mark SwiftM Offline
        Mark SwiftM Offline
        Mark Swift
        wrote on last edited by
        #10

        Hi Guys,

        Firstly, thank you very much for the replies and help. I'm really struggling to get my head around it, and have been playing around the last few hours with little results.

        From the above is seems logical to have one node in the mower garage, connected to both a rain sensor and soil sensor, this doesn't need to sleep and can update domoticz frequently. I'm using simple on / off switches for both rain and moisture in Domoticz.

        I now need to figure out how to have a node wake up and check the status of the rain and moisture switches from Domoticz - after a couple of hours trying various things, I'm at a loss how to achieve this. Perhaps I should consider giving up :-(

        TheoLT 1 Reply Last reply
        0
        • Mark SwiftM Mark Swift

          Hi Guys,

          Firstly, thank you very much for the replies and help. I'm really struggling to get my head around it, and have been playing around the last few hours with little results.

          From the above is seems logical to have one node in the mower garage, connected to both a rain sensor and soil sensor, this doesn't need to sleep and can update domoticz frequently. I'm using simple on / off switches for both rain and moisture in Domoticz.

          I now need to figure out how to have a node wake up and check the status of the rain and moisture switches from Domoticz - after a couple of hours trying various things, I'm at a loss how to achieve this. Perhaps I should consider giving up :-(

          TheoLT Offline
          TheoLT Offline
          TheoL
          Contest Winner
          wrote on last edited by
          #11

          @Mark-Swift You can let that one node sleep. It will save power, thus energy an money. Since it would only be a sensor and not an actuator. Unless you want to node to do more than just rain and soil detection. If however you want to be able to add more intelligence, let's say the robot should not go out during night times - anti theft - you probably want that node to respond to message from your Home Automation system. As far as I've understood a node cannot be awoken, by a message received from the gateway.

          But of course it all depends on the definition of real-time. If it's okay, that you'll only require a response time of half a minute or more, you could let the node query the gateway for new states. But that will complicate your implementation. Hence you see the problem? In cases like this, it's more important to design what you want rather than let the electronics dictate what you can do. That's at least my point of view. Because there are a lot of possibilities.

          We can help you with that implementation. But my advice is, think what it is you want to achieve. Just grab a pencil and make a simple drawing. Visualizing problems often lead to to simple and pragmatic solutions.

          A node can be awoken by either on an interrupt and/or a timer. Just have a look at the MySensor API description of gw.sleep

          1 Reply Last reply
          0
          • Mark SwiftM Offline
            Mark SwiftM Offline
            Mark Swift
            wrote on last edited by
            #12

            @TheoL I think I understand that, thanks... I think I'm clear on what I need to do, but the missing piece for me is how to have a node look up a value in Domoticz.

            I think the logic is quite simple?

            Mower node, wakes up every 30 minutes and checks the status of switches rain & soil moisture within Domoticz (sent by mower garage node). If either switch is 'on', activate relay (bridge rain sensor connections on mower).

            TheoLT 1 Reply Last reply
            0
            • Mark SwiftM Mark Swift

              @TheoL I think I understand that, thanks... I think I'm clear on what I need to do, but the missing piece for me is how to have a node look up a value in Domoticz.

              I think the logic is quite simple?

              Mower node, wakes up every 30 minutes and checks the status of switches rain & soil moisture within Domoticz (sent by mower garage node). If either switch is 'on', activate relay (bridge rain sensor connections on mower).

              TheoLT Offline
              TheoLT Offline
              TheoL
              Contest Winner
              wrote on last edited by
              #13

              @Mark-Swift I think the way sending text messages, like sundberg has done, will do exactly what you need.

              1. Let the node sleep
              2. If it awakes it needs to query the gateway and domotics for a message
              3. Handle the response
              4. Notify the robot if needed.

              I believe you need to do some things on the domoticz side. Haven't played with it yet. But @Awi and @sundberg84 have accomplished this already. They might be able to help you with that part as well.

              1 Reply Last reply
              0
              • sundberg84S Offline
                sundberg84S Offline
                sundberg84
                Hardware Contributor
                wrote on last edited by
                #14

                This requiers dev branch !
                You need to have the node create text sensor

                MyMessage textMsg(messageCHILD, V_TEXT);      // message for Sending Text to Controller
                

                Then you use a script and update this in the controller with json for example.
                See the examples.

                Then you use request to fetch it:

                request(messageCHILD, V_TEXT, 0);                    
                

                and recive to handle the incoming message.

                void receive(const MyMessage &message) {
                  if (message.sensor == messageCHILD) {
                    if (message.type == V_TEXT) {                   // Text content
                }
                }
                

                Controller: Proxmox VM - Home Assistant
                MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
                MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
                RFLink GW - Arduino Mega + RFLink Shield, 433mhz

                Mark SwiftM 1 Reply Last reply
                0
                • Mark SwiftM Offline
                  Mark SwiftM Offline
                  Mark Swift
                  wrote on last edited by
                  #15
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • sundberg84S sundberg84

                    This requiers dev branch !
                    You need to have the node create text sensor

                    MyMessage textMsg(messageCHILD, V_TEXT);      // message for Sending Text to Controller
                    

                    Then you use a script and update this in the controller with json for example.
                    See the examples.

                    Then you use request to fetch it:

                    request(messageCHILD, V_TEXT, 0);                    
                    

                    and recive to handle the incoming message.

                    void receive(const MyMessage &message) {
                      if (message.sensor == messageCHILD) {
                        if (message.type == V_TEXT) {                   // Text content
                    }
                    }
                    
                    Mark SwiftM Offline
                    Mark SwiftM Offline
                    Mark Swift
                    wrote on last edited by Mark Swift
                    #16

                    @sundberg84 said:

                    This requiers dev branch !
                    You need to have the node create text sensor

                    MyMessage textMsg(messageCHILD, V_TEXT);      // message for Sending Text to Controller
                    

                    Then you use a script and update this in the controller with json for example.
                    See the examples.

                    Then you use request to fetch it:

                    request(messageCHILD, V_TEXT, 0);                    
                    

                    and recive to handle the incoming message.

                    void receive(const MyMessage &message) {
                      if (message.sensor == messageCHILD) {
                        if (message.type == V_TEXT) {                   // Text content
                    }
                    }
                    

                    Hi @sundberg84,

                    Thanks for taking time out to reply.

                    I think I kind of understand, but I'm a new to Arduino's and hence can't quite apply it to my situation. Could you perhaps point me in the right direction with regards the problem I've presented? I know it's a big ask but would be greatly appreciated. This is the final piece of the puzzle I need to solve before deploying my new mower garage...

                    As stated earlier, I have 2 sensors:

                    Node 1: Reports Moisture / Rain to Domoticz
                    Node 2: Relay (Closes contacts of mower rain pins)

                    I need node 2 to wake every 30 minutes and check if node 1 has reported either moisture or rain (they are switches in Domoticz).

                    TheoLT 1 Reply Last reply
                    0
                    • sundberg84S Offline
                      sundberg84S Offline
                      sundberg84
                      Hardware Contributor
                      wrote on last edited by sundberg84
                      #17

                      @Mark-Swift Sorry friend, I dont have time to code and test a sketch at the moment. Work, family and own projects.
                      I suggest you take it step by step, look at http://www.mysensors.org/build/ and build yourself some temp nodes and learn as you go.
                      Also look at the provided examples above - the logic is the same in them all... you will see.
                      Copy paste code and try and see what happens... watch the serial output and you will learn.

                      Controller: Proxmox VM - Home Assistant
                      MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
                      MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
                      RFLink GW - Arduino Mega + RFLink Shield, 433mhz

                      1 Reply Last reply
                      1
                      • Mark SwiftM Mark Swift

                        @sundberg84 said:

                        This requiers dev branch !
                        You need to have the node create text sensor

                        MyMessage textMsg(messageCHILD, V_TEXT);      // message for Sending Text to Controller
                        

                        Then you use a script and update this in the controller with json for example.
                        See the examples.

                        Then you use request to fetch it:

                        request(messageCHILD, V_TEXT, 0);                    
                        

                        and recive to handle the incoming message.

                        void receive(const MyMessage &message) {
                          if (message.sensor == messageCHILD) {
                            if (message.type == V_TEXT) {                   // Text content
                        }
                        }
                        

                        Hi @sundberg84,

                        Thanks for taking time out to reply.

                        I think I kind of understand, but I'm a new to Arduino's and hence can't quite apply it to my situation. Could you perhaps point me in the right direction with regards the problem I've presented? I know it's a big ask but would be greatly appreciated. This is the final piece of the puzzle I need to solve before deploying my new mower garage...

                        As stated earlier, I have 2 sensors:

                        Node 1: Reports Moisture / Rain to Domoticz
                        Node 2: Relay (Closes contacts of mower rain pins)

                        I need node 2 to wake every 30 minutes and check if node 1 has reported either moisture or rain (they are switches in Domoticz).

                        TheoLT Offline
                        TheoLT Offline
                        TheoL
                        Contest Winner
                        wrote on last edited by TheoL
                        #18

                        @Mark-Swift I'm afraid I have the same problem as @sundberg84. I have too many things that need my attention at the moment. I'm developing an Arduino/MySensors course for beginners which was unforeseen - and consumes a lot of time - and I'm following a Big Data course at San Diego University. That with my family and some projects I'm working on is more than enough at the moment.

                        I'm willing to help except for the part with the text message exchange between Domoticz. I feel bad about that, but it is what it is.

                        Maybe we can start with a simpler sketch than the one you have in mind. It is the way I always developping things. Start simple and then add more complexity. Just give me a holla if you want me to help you with things.

                        1 Reply Last reply
                        0
                        • Mark SwiftM Offline
                          Mark SwiftM Offline
                          Mark Swift
                          wrote on last edited by Mark Swift
                          #19

                          @sundberg84 @TheoL I understand, no hard feelings, I'm also pretty busy (currently a week away from launching my startup) so I know how it feels :)

                          The code for the mower node I've got so far is

                          // Enable debug prints to serial monitor
                          #define MY_DEBUG
                          
                          // Enable and select radio type attached
                          #define MY_RADIO_NRF24
                          // #define MY_RADIO_RFM69
                          
                          // Enable repeater functionality for this node
                          // #define MY_REPEATER_FEATURE
                          
                          #include <SPI.h>
                          #include <MySensor.h>
                          
                          #define CHILD_ID1 1
                          #define CHILD_ID2 2
                          #define RELAY_PIN 3
                          #define RELAY_ON 1  // GPIO value to write to turn on attached relay
                          #define RELAY_OFF 0 // GPIO value to write to turn off attached relay
                          
                          MyMessage MowerMsg(CHILD_ID2, V_TEXT);      // message for Sending Text to Controller
                          
                          void before() {
                            // Then set relay pins in output mode
                            pinMode(RELAY_PIN, OUTPUT);
                            // Set relay to last known state (using eeprom storage)
                            digitalWrite(RELAY_PIN, loadState(CHILD_ID1) ? RELAY_ON : RELAY_OFF);
                            // Fetch mower run status
                          }
                          
                          void setup() {
                          }
                          
                          void presentation() {
                            // Send the sketch version information to the gateway and Controller
                            sendSketchInfo("Relay", "1.0");
                          
                            // Register all sensors to gw (they will be created as child devices)
                            present(CHILD_ID1, S_LIGHT);
                            present(CHILD_ID2, S_CUSTOM);
                          }
                          
                          
                          void loop() {
                          }
                          
                          void receive(const MyMessage &message) {
                            // We only expect one type of message from controller. But we better check anyway.
                            if (message.type == V_LIGHT) {
                              // Change relay state;
                              digitalWrite(message.sensor, message.getBool() ? RELAY_ON : RELAY_OFF);
                              // Store state in eeprom
                              saveState(message.sensor, message.getBool());
                              // Write some debug info
                              Serial.print("Incoming change for sensor:");
                              Serial.print(message.sensor);
                              Serial.print(", New status: ");
                              Serial.println(message.getBool());
                            }
                          }
                          
                          

                          I've no idea if I'm on the right lines or not, I have however managed to get the V_TEXT to show in Domoticz and update it to '1', it's currently living under utility sensors?

                          Now, if I can just figure out how to update the utility sensor based on my moisture / rain sensors and retrieve it, once that's done I'm sure I can add the logic for if V_TEXT = 1.

                          1 Reply Last reply
                          0
                          • TheoLT Offline
                            TheoLT Offline
                            TheoL
                            Contest Winner
                            wrote on last edited by
                            #20

                            It's a bit too late over here, will look at it tomorrow. Your own startup cool!! What is your business?

                            1 Reply Last reply
                            1
                            • Mark SwiftM Offline
                              Mark SwiftM Offline
                              Mark Swift
                              wrote on last edited by
                              #21

                              @TheoL Yes, we've been building our product for a year; we're due to launch in a month or so. We're looking to revolutionise the recruitment industry :-)

                              I hope you can help point me in the right direction regarding this predicament, it's the last thing I need to complete.

                              Cheers,

                              Mark

                              TheoLT C 2 Replies Last reply
                              0
                              • Mark SwiftM Mark Swift

                                @TheoL Yes, we've been building our product for a year; we're due to launch in a month or so. We're looking to revolutionise the recruitment industry :-)

                                I hope you can help point me in the right direction regarding this predicament, it's the last thing I need to complete.

                                Cheers,

                                Mark

                                TheoLT Offline
                                TheoLT Offline
                                TheoL
                                Contest Winner
                                wrote on last edited by
                                #22

                                @Mark-Swift I'll see what I can do. But as said before. I haven't tested the V_TEXT. And since I'm on an old version of Domoticz, I won't be able to.

                                1 Reply Last reply
                                0
                                • Mark SwiftM Mark Swift

                                  @TheoL Yes, we've been building our product for a year; we're due to launch in a month or so. We're looking to revolutionise the recruitment industry :-)

                                  I hope you can help point me in the right direction regarding this predicament, it's the last thing I need to complete.

                                  Cheers,

                                  Mark

                                  C Offline
                                  C Offline
                                  chickey
                                  wrote on last edited by
                                  #23

                                  @Mark-Swift Random one here, you didn't happen to work for a company called ABS in the past did you?

                                  Mark SwiftM 1 Reply Last reply
                                  0
                                  • C chickey

                                    @Mark-Swift Random one here, you didn't happen to work for a company called ABS in the past did you?

                                    Mark SwiftM Offline
                                    Mark SwiftM Offline
                                    Mark Swift
                                    wrote on last edited by
                                    #24

                                    @chickey Sadly I did, I remember OSG ;)

                                    1 Reply Last reply
                                    0
                                    • C Offline
                                      C Offline
                                      chickey
                                      wrote on last edited by
                                      #25

                                      Small world lol OSG is a nearly distant memory now, disbanded in the UK a few years ago nearly now, remember seeing you'd got the robot mower and when i saw your name i put 2 and 2 together and got the right number for a change lol. Been tinkering with the mysensors stuff and Domoticz lately. Only got a few sensors going so far but working well. Not to go too far off topic which mower did you go for BTW been looking at them myself.

                                      1 Reply Last reply
                                      0
                                      • Mark SwiftM Offline
                                        Mark SwiftM Offline
                                        Mark Swift
                                        wrote on last edited by Mark Swift
                                        #26

                                        I've actually got 2 (don't ask!). I have the Worx Landroid, it's great with exception of the rain sensor...

                                        I've just completed building a garage for it - complete with automatic door, rain and moisture sensors and some exterior neopixel indicators showing it's status. It saves me a ton of time cutting the grass; I'd thoroughly recommend it!

                                        C 2 Replies Last reply
                                        0
                                        • Mark SwiftM Mark Swift

                                          I've actually got 2 (don't ask!). I have the Worx Landroid, it's great with exception of the rain sensor...

                                          I've just completed building a garage for it - complete with automatic door, rain and moisture sensors and some exterior neopixel indicators showing it's status. It saves me a ton of time cutting the grass; I'd thoroughly recommend it!

                                          C Offline
                                          C Offline
                                          chickey
                                          wrote on last edited by
                                          #27

                                          @Mark-Swift I was looking at the Worx Landroid as it seemed pretty good value.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          17

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular