Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. darkdude
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    darkdude

    @darkdude

    0
    Reputation
    2
    Posts
    242
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    darkdude Follow

    Best posts made by darkdude

    This user hasn't posted anything yet.

    Latest posts made by darkdude

    • RE: How to create a fake local sensor on Ethernet Gateway

      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

      posted in Troubleshooting
      darkdude
      darkdude
    • How to create a fake local sensor on Ethernet Gateway

      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

      posted in Troubleshooting
      darkdude
      darkdude