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. Troubleshooting
  3. How to create a fake local sensor on Ethernet Gateway

How to create a fake local sensor on Ethernet Gateway

Scheduled Pinned Locked Moved Troubleshooting
5 Posts 3 Posters 2.7k Views 4 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.
  • darkdudeD Offline
    darkdudeD Offline
    darkdude
    wrote on last edited by
    #1

    Hi,

    I need some help in understanding the basics of MySensors library.

    To make the long story short I'm a beginner in both programming and Arduino. In most cases I'm able to understand how things work by looking at a working example and then modyfing it to do what I want it to. However after a lot of searching and reading I still can't get what goes where in MySensors.

    I want to make a thermostate based on Domoticz + Ethernet Gateway with locally attached sensors and one relay. For now I installed an example of 2.0 Ethernet Gateway that connects to Domoticz but obviously has nothing to present.

    Is it possible to present a simple static value as a fake reading of a temp sensor so I can see how the message is formatted, what goes into presentation() etc. ?

    I know it's all written in API section but I just don't get it.

    Thanks in advance

    mfalkviddM 1 Reply Last reply
    0
    • darkdudeD darkdude

      Hi,

      I need some help in understanding the basics of MySensors library.

      To make the long story short I'm a beginner in both programming and Arduino. In most cases I'm able to understand how things work by looking at a working example and then modyfing it to do what I want it to. However after a lot of searching and reading I still can't get what goes where in MySensors.

      I want to make a thermostate based on Domoticz + Ethernet Gateway with locally attached sensors and one relay. For now I installed an example of 2.0 Ethernet Gateway that connects to Domoticz but obviously has nothing to present.

      Is it possible to present a simple static value as a fake reading of a temp sensor so I can see how the message is formatted, what goes into presentation() etc. ?

      I know it's all written in API section but I just don't get it.

      Thanks in advance

      mfalkviddM Offline
      mfalkviddM Offline
      mfalkvidd
      Mod
      wrote on last edited by mfalkvidd
      #2

      @darkdude hi and welcome to the MySensors community.

      Funny thing, @martim asked a similar question yesterday, which got me thinking.

      Here is a simple example that will report the running time in seconds, once per second. So basically it will be a counter. Feedback is welcome.

      /**
         The MySensors Arduino library handles the wireless radio link and protocol
         between your home built sensors/actuators and HA controller of choice.
         The sensors forms a self healing radio network with optional repeaters. Each
         repeater and gateway builds a routing tables in EEPROM which keeps track of the
         network topology allowing messages to be routed to nodes.
      
         Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
         Copyright (C) 2013-2015 Sensnology AB
         Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
      
         Documentation: http://www.mysensors.org
         Support Forum: http://forum.mysensors.org
      
         This program is free software; you can redistribute it and/or
         modify it under the terms of the GNU General Public License
         version 2 as published by the Free Software Foundation.
      
       *******************************
      
         REVISION HISTORY
         Version 1.0 - Henrik EKblad
      
         DESCRIPTION
         This sketch provides an example how to implement a distance sensor using HC-SR04
         http://www.mysensors.org/build/distance
      */
      
      // Enable debug prints
      #define MY_DEBUG
      
      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      //#define MY_RADIO_RFM69
      
      #include <MySensors.h>
      
      #define CHILD_ID 1
      unsigned long SLEEP_TIME = 1000; // Sleep time between sends (in milliseconds)
      
      MyMessage msg(CHILD_ID, V_TEXT);
      
      void setup()
      {
      
      }
      
      void presentation() {
        // Send the sketch version information to the gateway and Controller
        sendSketchInfo("Dummy sensor", "1.0");
      
        // Register all sensors to gw (they will be created as child devices)
        present(CHILD_ID, S_INFO);
      }
      
      void loop()
      {
        unsigned int seconds = millis() / 1000;
        Serial.print("Seconds since start: ");
        Serial.println(seconds);
      
        send(msg.set(seconds));
        sleep(SLEEP_TIME);
      }
      
      1 Reply Last reply
      2
      • darkdudeD Offline
        darkdudeD Offline
        darkdude
        wrote on last edited by
        #3

        Hi,

        Thanks for your answer!

        I combined your code with my gateway setup:

        /**
         * The MySensors Arduino library handles the wireless radio link and protocol
         * between your home built sensors/actuators and HA controller of choice.
         * The sensors forms a self healing radio network with optional repeaters. Each
         * repeater and gateway builds a routing tables in EEPROM which keeps track of the
         * network topology allowing messages to be routed to nodes.
         *
         * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
         * Copyright (C) 2013-2015 Sensnology AB
         * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
         *
         * Documentation: http://www.mysensors.org
         * Support Forum: http://forum.mysensors.org
         *
         * This program is free software; you can redistribute it and/or
         * modify it under the terms of the GNU General Public License
         * version 2 as published by the Free Software Foundation.
         *
         *******************************
         *
         * REVISION HISTORY
         * Version 1.0 - Henrik EKblad
         * Contribution by a-lurker and Anticimex,
         * Contribution by Norbert Truchsess <norbert.truchsess@t-online.de>
         * Contribution by Tomas Hozza <thozza@gmail.com>
         *
         *
         * DESCRIPTION
         * The EthernetGateway sends data received from sensors to the ethernet link.
         * The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
         *
         * The GW code is designed for Arduino 328p / 16MHz.  ATmega168 does not have enough memory to run this program.
         *
         * LED purposes:
         * - To use the feature, uncomment WITH_LEDS_BLINKING in MyConfig.h
         * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
         * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
         * - ERR (red) - fast blink on error during transmission error or recieve crc error
         *
         * See http://www.mysensors.org/build/ethernet_gateway for wiring instructions.
         *
         */
        
        // Enable debug prints to serial monitor
        #define MY_DEBUG 
        
        // Enable and select radio type attached
        //#define MY_RADIO_NRF24
        //#define MY_RADIO_RFM69
        
        // Enable gateway ethernet module type 
        #define MY_GATEWAY_W5100
        
        // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
        //#define MY_W5100_SPI_EN 4  
        
        // Enable Soft SPI for NRF radio (note different radio wiring is required)
        // The W5100 ethernet module seems to have a hard time co-operate with 
        // radio on the same spi bus.
        #if !defined(MY_W5100_SPI_EN) && !defined(ARDUINO_ARCH_SAMD)
          #define MY_SOFTSPI
          #define MY_SOFT_SPI_SCK_PIN 14
          #define MY_SOFT_SPI_MISO_PIN 16
          #define MY_SOFT_SPI_MOSI_PIN 15
        #endif  
        
        // When W5100 is connected we have to move CE/CSN pins for NRF radio
        #ifndef MY_RF24_CE_PIN 
          #define MY_RF24_CE_PIN 5
        #endif
        #ifndef MY_RF24_CS_PIN 
          #define MY_RF24_CS_PIN 6
        #endif
        
        // Enable to UDP          
        //#define MY_USE_UDP
        
        #define MY_IP_ADDRESS 192,168,1,122   // If this is disabled, DHCP is used to retrieve address
        // Renewal period if using DHCP
        //#define MY_IP_RENEWAL_INTERVAL 60000
        // The port to keep open on node server mode / or port to contact in client mode
        #define MY_PORT 5003      
        
        // Controller ip address. Enables client mode (default is "server" mode). 
        // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere. 
        #define MY_CONTROLLER_IP_ADDRESS 192, 168, 1, 105  
         
        // The MAC address can be anything you want but should be unique on your network.
        // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
        // Note that most of the Ardunio examples use  "DEAD BEEF FEED" for the MAC address.
        #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
        
        // Flash leds on rx/tx/err
        #define MY_LEDS_BLINKING_FEATURE
        // Set blinking period
        #define MY_DEFAULT_LED_BLINK_PERIOD 300
        
        // Enable inclusion mode
        //#define MY_INCLUSION_MODE_FEATURE
        // Enable Inclusion mode button on gateway
        //#define MY_INCLUSION_BUTTON_FEATURE
        // Set inclusion mode duration (in seconds)
        //#define MY_INCLUSION_MODE_DURATION 60 
        // Digital pin used for inclusion mode button
        //#define MY_INCLUSION_MODE_BUTTON_PIN  3 
        
        // Uncomment to override default HW configurations
        //#define MY_DEFAULT_ERR_LED_PIN 7  // Error led pin
        //#define MY_DEFAULT_RX_LED_PIN  8  // Receive led pin
        //#define MY_DEFAULT_TX_LED_PIN  9  // the PCB, on board LED
        
        #include <SPI.h>
        
        #if defined(MY_USE_UDP)
          #include <EthernetUdp.h>
        #endif
        #include <Ethernet.h>
        #include <MySensors.h>
        
        #define CHILD_ID 1
        unsigned long SLEEP_TIME = 1000; // Sleep time between sends (in milliseconds)
        
        MyMessage msg(CHILD_ID, V_TEXT);
        
        
        void setup()
        {
        }
        
        void presentation() {
          // Send the sketch version information to the gateway and Controller
          sendSketchInfo("Dummy sensor", "1.0");
        
          // Register all sensors to gw (they will be created as child devices)
          present(CHILD_ID, S_INFO);
        }
        
        void loop()
        {
          unsigned int seconds = millis() / 1000;
          Serial.print("Seconds since start: ");
          Serial.println(seconds);
        
          send(msg.set(seconds));
          sleep(SLEEP_TIME);
        }
        

        I had to enable client mode (it just restarted after every loop without it). However it still does nor register as a sensor in Domoticz.
        In Domoticz log there is:

        2016-10-18 13:10:17.041 MySensors: connected to: 192.168.1.122:5003
        

        In Devices i have

        MySensors Gateway with LAN interface
        Version: ? 
        

        Serial monitor gives:

        0;255;3;0;9;Starting gateway (1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        0;255;3;0;9;Starting gateway (R-NGA-, 2.0.0)
        IP: 192.168.1.122
        0;255;3;0;9;No registration required
        0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        Seconds since start: 1
        

        I added

        seconds ++
        

        to your code and it now counts correctly but still does not register as a sensor.

        Regarding a need for a "Dummy" example.

        In my case here the problem is in using libraries or understanding how they work. For now it's like:

        MyMessage msg(CHILD_ID, V_TEXT);
        

        CHILD_ID - OK, it's defined allright
        V_TEXT - it's not edfined in this sketch and I don't know where it comes from

        It's the same with

        present(CHILD_ID, S_INFO);
        

        After finishing some basic projects I would try to define S_INFO and send sensor data there...

        However after seeing a dummy sensor actually register and "work" in Domoticz I should be able to play with it for a bit, change its value and then connect a real sensor. And that should give me enough knowledge to try other sensor types.

        I asked especially for a dummy temp sensor because temp sensors are easy to use, they are a basic example in many Arduino courses.

        Regards

        mfalkviddM 1 Reply Last reply
        0
        • darkdudeD darkdude

          Hi,

          Thanks for your answer!

          I combined your code with my gateway setup:

          /**
           * The MySensors Arduino library handles the wireless radio link and protocol
           * between your home built sensors/actuators and HA controller of choice.
           * The sensors forms a self healing radio network with optional repeaters. Each
           * repeater and gateway builds a routing tables in EEPROM which keeps track of the
           * network topology allowing messages to be routed to nodes.
           *
           * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
           * Copyright (C) 2013-2015 Sensnology AB
           * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
           *
           * Documentation: http://www.mysensors.org
           * Support Forum: http://forum.mysensors.org
           *
           * This program is free software; you can redistribute it and/or
           * modify it under the terms of the GNU General Public License
           * version 2 as published by the Free Software Foundation.
           *
           *******************************
           *
           * REVISION HISTORY
           * Version 1.0 - Henrik EKblad
           * Contribution by a-lurker and Anticimex,
           * Contribution by Norbert Truchsess <norbert.truchsess@t-online.de>
           * Contribution by Tomas Hozza <thozza@gmail.com>
           *
           *
           * DESCRIPTION
           * The EthernetGateway sends data received from sensors to the ethernet link.
           * The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
           *
           * The GW code is designed for Arduino 328p / 16MHz.  ATmega168 does not have enough memory to run this program.
           *
           * LED purposes:
           * - To use the feature, uncomment WITH_LEDS_BLINKING in MyConfig.h
           * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
           * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
           * - ERR (red) - fast blink on error during transmission error or recieve crc error
           *
           * See http://www.mysensors.org/build/ethernet_gateway for wiring instructions.
           *
           */
          
          // Enable debug prints to serial monitor
          #define MY_DEBUG 
          
          // Enable and select radio type attached
          //#define MY_RADIO_NRF24
          //#define MY_RADIO_RFM69
          
          // Enable gateway ethernet module type 
          #define MY_GATEWAY_W5100
          
          // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
          //#define MY_W5100_SPI_EN 4  
          
          // Enable Soft SPI for NRF radio (note different radio wiring is required)
          // The W5100 ethernet module seems to have a hard time co-operate with 
          // radio on the same spi bus.
          #if !defined(MY_W5100_SPI_EN) && !defined(ARDUINO_ARCH_SAMD)
            #define MY_SOFTSPI
            #define MY_SOFT_SPI_SCK_PIN 14
            #define MY_SOFT_SPI_MISO_PIN 16
            #define MY_SOFT_SPI_MOSI_PIN 15
          #endif  
          
          // When W5100 is connected we have to move CE/CSN pins for NRF radio
          #ifndef MY_RF24_CE_PIN 
            #define MY_RF24_CE_PIN 5
          #endif
          #ifndef MY_RF24_CS_PIN 
            #define MY_RF24_CS_PIN 6
          #endif
          
          // Enable to UDP          
          //#define MY_USE_UDP
          
          #define MY_IP_ADDRESS 192,168,1,122   // If this is disabled, DHCP is used to retrieve address
          // Renewal period if using DHCP
          //#define MY_IP_RENEWAL_INTERVAL 60000
          // The port to keep open on node server mode / or port to contact in client mode
          #define MY_PORT 5003      
          
          // Controller ip address. Enables client mode (default is "server" mode). 
          // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere. 
          #define MY_CONTROLLER_IP_ADDRESS 192, 168, 1, 105  
           
          // The MAC address can be anything you want but should be unique on your network.
          // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
          // Note that most of the Ardunio examples use  "DEAD BEEF FEED" for the MAC address.
          #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
          
          // Flash leds on rx/tx/err
          #define MY_LEDS_BLINKING_FEATURE
          // Set blinking period
          #define MY_DEFAULT_LED_BLINK_PERIOD 300
          
          // Enable inclusion mode
          //#define MY_INCLUSION_MODE_FEATURE
          // Enable Inclusion mode button on gateway
          //#define MY_INCLUSION_BUTTON_FEATURE
          // Set inclusion mode duration (in seconds)
          //#define MY_INCLUSION_MODE_DURATION 60 
          // Digital pin used for inclusion mode button
          //#define MY_INCLUSION_MODE_BUTTON_PIN  3 
          
          // Uncomment to override default HW configurations
          //#define MY_DEFAULT_ERR_LED_PIN 7  // Error led pin
          //#define MY_DEFAULT_RX_LED_PIN  8  // Receive led pin
          //#define MY_DEFAULT_TX_LED_PIN  9  // the PCB, on board LED
          
          #include <SPI.h>
          
          #if defined(MY_USE_UDP)
            #include <EthernetUdp.h>
          #endif
          #include <Ethernet.h>
          #include <MySensors.h>
          
          #define CHILD_ID 1
          unsigned long SLEEP_TIME = 1000; // Sleep time between sends (in milliseconds)
          
          MyMessage msg(CHILD_ID, V_TEXT);
          
          
          void setup()
          {
          }
          
          void presentation() {
            // Send the sketch version information to the gateway and Controller
            sendSketchInfo("Dummy sensor", "1.0");
          
            // Register all sensors to gw (they will be created as child devices)
            present(CHILD_ID, S_INFO);
          }
          
          void loop()
          {
            unsigned int seconds = millis() / 1000;
            Serial.print("Seconds since start: ");
            Serial.println(seconds);
          
            send(msg.set(seconds));
            sleep(SLEEP_TIME);
          }
          

          I had to enable client mode (it just restarted after every loop without it). However it still does nor register as a sensor in Domoticz.
          In Domoticz log there is:

          2016-10-18 13:10:17.041 MySensors: connected to: 192.168.1.122:5003
          

          In Devices i have

          MySensors Gateway with LAN interface
          Version: ? 
          

          Serial monitor gives:

          0;255;3;0;9;Starting gateway (1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          0;255;3;0;9;Starting gateway (R-NGA-, 2.0.0)
          IP: 192.168.1.122
          0;255;3;0;9;No registration required
          0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          Seconds since start: 1
          

          I added

          seconds ++
          

          to your code and it now counts correctly but still does not register as a sensor.

          Regarding a need for a "Dummy" example.

          In my case here the problem is in using libraries or understanding how they work. For now it's like:

          MyMessage msg(CHILD_ID, V_TEXT);
          

          CHILD_ID - OK, it's defined allright
          V_TEXT - it's not edfined in this sketch and I don't know where it comes from

          It's the same with

          present(CHILD_ID, S_INFO);
          

          After finishing some basic projects I would try to define S_INFO and send sensor data there...

          However after seeing a dummy sensor actually register and "work" in Domoticz I should be able to play with it for a bit, change its value and then connect a real sensor. And that should give me enough knowledge to try other sensor types.

          I asked especially for a dummy temp sensor because temp sensors are easy to use, they are a basic example in many Arduino courses.

          Regards

          mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #4

          @darkdude V_TEXT and S_INFO are described in the API documentation, https://www.mysensors.org/download/serial_api_20#presentation

          Switch from

          MyMessage msg(CHILD_ID, V_TEXT);
          present(CHILD_ID, S_INFO);
          
          

          to

          MyMessage msg(CHILD_ID, V_TEMP);
          present(CHILD_ID, S_TEMP);
          

          to simulate a temperature sensor instead. This is shown in the temperature example.

          I don't know why the sensor doesn't show up in Domoticz. I have no experience with ethernet gateway and I have never used V_TEXT/S_INFO, it could be that Domoticz handles them in a special way.

          Having to add seconds++ is seriously strange. I don't have a clue why the millis function doesn't work on your device, and adding seconds++ should not work since the variable is re-initilaized each time the loop is run.

          1 Reply Last reply
          0
          • Silviu NegoitaS Offline
            Silviu NegoitaS Offline
            Silviu Negoita
            wrote on last edited by Silviu Negoita
            #5

            Hi,
            I tried to create an ethernet gateway + one dummy sensor , like in above exemple. My controller is domoticz for windows.
            I tried this code :

            /**
             * The MySensors Arduino library handles the wireless radio link and protocol
             * between your home built sensors/actuators and HA controller of choice.
             * The sensors forms a self healing radio network with optional repeaters. Each
             * repeater and gateway builds a routing tables in EEPROM which keeps track of the
             * network topology allowing messages to be routed to nodes.
             *
             * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
             * Copyright (C) 2013-2015 Sensnology AB
             * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
             *
             * Documentation: http://www.mysensors.org
             * Support Forum: http://forum.mysensors.org
             *
             * This program is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License
             * version 2 as published by the Free Software Foundation.
             *
             *******************************
             *
             * REVISION HISTORY
             * Version 1.0 - Henrik EKblad
             * Contribution by a-lurker and Anticimex,
             * Contribution by Norbert Truchsess <norbert.truchsess@t-online.de>
             * Contribution by Tomas Hozza <thozza@gmail.com>
             *
             *
             * DESCRIPTION
             * The EthernetGateway sends data received from sensors to the ethernet link.
             * The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
             *
             * The GW code is designed for Arduino 328p / 16MHz.  ATmega168 does not have enough memory to run this program.
             *
             * LED purposes:
             * - To use the feature, uncomment WITH_LEDS_BLINKING in MyConfig.h
             * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
             * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
             * - ERR (red) - fast blink on error during transmission error or recieve crc error
             *
             * See http://www.mysensors.org/build/ethernet_gateway for wiring instructions.
             *
             */
            
            // Enable debug prints to serial monitor
            #define MY_DEBUG 
            
            // Enable and select radio type attached
            //#define MY_RADIO_NRF24
            //#define MY_RADIO_RFM69
            
            // Enable gateway ethernet module type 
            #define MY_GATEWAY_W5100
            
            // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
            //#define MY_W5100_SPI_EN 4  
            
            // Enable Soft SPI for NRF radio (note different radio wiring is required)
            // The W5100 ethernet module seems to have a hard time co-operate with 
            // radio on the same spi bus.
            #if !defined(MY_W5100_SPI_EN) && !defined(ARDUINO_ARCH_SAMD)
              #define MY_SOFTSPI
              #define MY_SOFT_SPI_SCK_PIN 14
              #define MY_SOFT_SPI_MISO_PIN 16
              #define MY_SOFT_SPI_MOSI_PIN 15
            #endif  
            
            // When W5100 is connected we have to move CE/CSN pins for NRF radio
            #ifndef MY_RF24_CE_PIN 
              #define MY_RF24_CE_PIN 5
            #endif
            #ifndef MY_RF24_CS_PIN 
              #define MY_RF24_CS_PIN 6
            #endif
            
            // Enable to UDP          
            //#define MY_USE_UDP
            
            #define MY_IP_ADDRESS 192,168,0,125  // If this is disabled, DHCP is used to retrieve address
            // Renewal period if using DHCP
            //#define MY_IP_RENEWAL_INTERVAL 60000
            // The port to keep open on node server mode / or port to contact in client mode
            #define MY_PORT 5003      
            
            // Controller ip address. Enables client mode (default is "server" mode). 
            // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere. 
            #define MY_CONTROLLER_IP_ADDRESS 192, 168, 0, 100  
             
            // The MAC address can be anything you want but should be unique on your network.
            // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
            // Note that most of the Ardunio examples use  "DEAD BEEF FEED" for the MAC address.
            #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
            
            // Flash leds on rx/tx/err
            #define MY_LEDS_BLINKING_FEATURE
            // Set blinking period
            #define MY_DEFAULT_LED_BLINK_PERIOD 300
            
            // Enable inclusion mode
            //#define MY_INCLUSION_MODE_FEATURE
            // Enable Inclusion mode button on gateway
            //#define MY_INCLUSION_BUTTON_FEATURE
            // Set inclusion mode duration (in seconds)
            //#define MY_INCLUSION_MODE_DURATION 60 
            // Digital pin used for inclusion mode button
            //#define MY_INCLUSION_MODE_BUTTON_PIN  3 
            
            // Uncomment to override default HW configurations
            //#define MY_DEFAULT_ERR_LED_PIN 7  // Error led pin
            //#define MY_DEFAULT_RX_LED_PIN  8  // Receive led pin
            //#define MY_DEFAULT_TX_LED_PIN  9  // the PCB, on board LED
            
            #include <SPI.h>
            
            #if defined(MY_USE_UDP)
              #include <EthernetUdp.h>
            #endif
            #include <Ethernet.h>
            #include <MySensors.h>
            
            #define CHILD_ID 1
            unsigned long SLEEP_TIME = 1000; // Sleep time between sends (in milliseconds)
            
            MyMessage msg(CHILD_ID, V_TEMP);
            unsigned int seconds = 0;
            
            void setup()
            {
            }
            
            void presentation() {
              // Send the sketch version information to the gateway and Controller
              sendSketchInfo("Dummy sensor", "1.0");
            
              // Register all sensors to gw (they will be created as child devices)
              present(CHILD_ID, S_TEMP);
            }
            
            void loop()
            {
              seconds = seconds + 1;
              Serial.print("Seconds since start: ");
              Serial.println(seconds);
            
              send(msg.set(seconds, 1));
              sleep(SLEEP_TIME);
            }
            

            Controller seems to connect to gateway but no devices were found:

            alt text

            Also, serial monitor gives:

            alt text

            Any ideas why my dummy sensor is not recognized ?

            UPDATE: I managed to make above code run by removing

            #define MY_CONTROLLER_IP_ADDRESS 192, 168, 0, 100  
            

            Regards

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


            21

            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