Navigation

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

    tomlund

    @tomlund

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

    tomlund Follow

    Best posts made by tomlund

    This user hasn't posted anything yet.

    Latest posts made by tomlund

    • RE: cant get setSafeguard to work with NodeManager 1.8dev

      It Looks like I can somewhat answer my own question.
      I got Safeguard to work, even if I have set it to 1minute, it doesn't update before next

        // report measures of every attached sensors every 10 minutes
        nodeManager.setReportIntervalMinutes(10);
      

      So it takes 10minutes, even if I have sent it to 1min. Is it supposed to be like this or is it a bug?

      posted in NodeManager
      tomlund
      tomlund
    • cant get setSafeguard to work with NodeManager 1.8dev

      Hi

      First of all, since this is my first post. Thank you all who have made this possible and so easy for us to use, especially NodeManager.

      I'm currently working on a garage sensor. Everything is working except this safeguard.
      I'm using a relay to open my garage door, but I only need a puls so I want to de-energize the relay as soon as possible. I tried to use;

      // [108] when switching on, turns the output off after the given number of milliseconds. For latching relay controls the pulse width (default: 0)
          void setPulseWidth(int value);
      

      It worked, but with power loss it would send one puls at startup, I tried using EEPROM, but still the same problem.

      So I thought it would be possible to use it as a normal relay and then use setSafeguard to be sure to cut the signal to the relay within a short time. Nothing happens when I try to use setSafeguard.

      Here is my code. If anyone can see where my mistake is, or have another solution how to make a momentary relay with nodeManager. I would be very happy 🙂

      /*
      * 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-2017 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.
      */
      
      /**********************************
       * MySensors node configuration
       */
      
      // General settings
      #define SKETCH_NAME "Relay"
      #define SKETCH_VERSION "1.0"
      #define MY_DEBUG
      #define MY_NODE_ID 3
      
      // RFM69 radio settings
      #define MY_RADIO_RFM69
      #define MY_RFM69_FREQUENCY RFM69_433MHZ  // Define for frequency setting. Needed if you're radio module isn't 868Mhz (868Mhz is default in lib)
      #define MY_IS_RFM69HW  // Mandatory if you radio module is the high power version (RFM69HW and RFM69HCW), Comment it if it's not the case
      #define MY_RFM69_NETWORKID 100  // Default is 100 in lib. Uncomment it and set your preferred network id if needed
      #define MY_RFM69_NEW_DRIVER
      
      // Advanced settings
      #define MY_BAUD_RATE 9600
      #define MY_SPLASH_SCREEN_DISABLED
      
      /***********************************
       * NodeManager configuration
       */
      
      #define NODEMANAGER_DEBUG ON
      #define NODEMANAGER_INTERRUPTS ON
      #define NODEMANAGER_SLEEP OFF
      #define NODEMANAGER_RECEIVE ON
      #define NODEMANAGER_DEBUG_VERBOSE ON
      #define NODEMANAGER_POWER_MANAGER OFF
      #define NODEMANAGER_CONDITIONAL_REPORT ON
      #define NODEMANAGER_EEPROM OFF
      #define NODEMANAGER_TIME ON
      #define NODEMANAGER_RTC OFF
      #define NODEMANAGER_SD OFF
      #define NODEMANAGER_HOOKING OFF
      #define NODEMANAGER_OTA_CONFIGURATION OFF
      #define NODEMANAGER_SERIAL_INPUT OFF
      
      // import NodeManager library (a nodeManager object will be then made available)
      #include <MySensors_NodeManager.h>
      
      /***********************************
       * Add your sensors
       */
      
      //#include <sensors/SensorConfiguration.h>
      //SensorConfiguration configuration;
      
      #include <sensors/SensorSignal.h>
      SensorSignal signal;
      
      #include <sensors/SensorLDR.h>
      SensorLDR ldr(A0);
      
      #include <sensors/SensorRelay.h>
      SensorRelay relay(6);
      
      #include <sensors/SensorDHT22.h>
      SensorDHT22 dht22(4);
      
      #include <sensors/SensorDoor.h>
      SensorDoor door(3);
      
      /***********************************
       * Main Sketch
       */
      
      // before
      void before() {
      
      
        /***********************************
         * Configure your sensors
         */
      
        // report measures of every attached sensors every 10 minutes
        nodeManager.setReportIntervalMinutes(10);
        // [105] automatically turn the output off after the given number of minutes
        relay.setSafeguard(1);
        // call NodeManager before routine
        nodeManager.before();
      }
      
      // presentation
      void presentation() {
        // call NodeManager presentation routine
        nodeManager.presentation();
      }
      
      // setup
      void setup() {
        // call NodeManager setup routine
        nodeManager.setup();
      }
      
      // loop
      void loop() {
        // call NodeManager loop routine
        nodeManager.loop();
      }
      
      #if NODEMANAGER_RECEIVE == ON
      // receive
      void receive(const MyMessage &message) {
        // call NodeManager receive routine
        nodeManager.receive(message);
      }
      #endif
      
      #if NODEMANAGER_TIME == ON
      // receiveTime
      void receiveTime(unsigned long ts) {
        // call NodeManager receiveTime routine
        nodeManager.receiveTime(ts);
      }
      #endif
      
      posted in NodeManager
      tomlund
      tomlund