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. Vera
  4. Stay on version 1.5 or move to 2.1.1 on my vera plus and vera 3?

Stay on version 1.5 or move to 2.1.1 on my vera plus and vera 3?

Scheduled Pinned Locked Moved Vera
6 Posts 3 Posters 1.8k Views 2 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.
  • CorvlC Offline
    CorvlC Offline
    Corvl
    wrote on last edited by
    #1

    Hello everyone,

    I run version 1.5 on both my vera's and Ethernet gateways and someone hinted to go to version 2.x since the newer codes don't work with 1.5

    I also read on this forum there are issues with version 2.x and library.
    Is it usefull to stay on version 1.5 or I better upgrade?

    I run not that many nodes , an important one, servo actuator which is working good. And a door sensor with temperature sensor which is working not so good , it doesn't report alway , so an extra piece of code is inserted so it reports at least every 30 seconds. Maybe with the new library and codes this is solved , and it reports a change immediately?

    This is the code for the servo actuator I use , will it still work with version 2.11?

    // Example showing how to create an atuator for a servo.
    // Connect red to +5V, Black or brown to GND and the last cable to Digital pin 3.
    // The servo consumes much power and should probably have its own powersource.'
    // The arduino might spontanally restart if too much power is used (happend
    // to me when servo tried to pass the extreme positions = full load).
    // Contribution by: Derek Macias
    
    
    #include <MySensor.h>
    #include <SPI.h>
    #include <Servo.h> 
    
    #define SERVO_DIGITAL_OUT_PIN 3
    #define SERVO_MIN 0 // Fine tune your servos min. 0-180
    #define SERVO_MAX 180 // Fine tune your servos max. 0-180
    #define DETACH_DELAY 4000 // Tune this to let your movement finish before detaching the servo
    #define CHILD_ID 10   // Id of the sensor child
    
    MySensor gw;
    MyMessage msg(CHILD_ID, V_DIMMER);
    Servo myservo;  // create servo object to control a servo 
                    // a maximum of eight servo objects can be created Sensor gw(9,10);
    unsigned long timeOfLastChange = 0;
    bool attachedServo = false;
                
    void setup() 
    { 
      // Attach method for incoming messages
      gw.begin(incomingMessage);
    
      // Send the sketch version information to the gateway and Controller
      gw.sendSketchInfo("Servo", "1.0");
    
      // Register all sensors to gw (they will be created as child devices)
      gw.present(CHILD_ID, S_COVER);
    
      // Request last servo state at startup
      gw.request(CHILD_ID, V_DIMMER);
    } 
    
    void loop() 
    { 
      gw.process();
      if (attachedServo && millis() - timeOfLastChange > DETACH_DELAY) {
         myservo.detach();
         attachedServo = false;
      }
    } 
    
    void incomingMessage(const MyMessage &message) {
      myservo.attach(SERVO_DIGITAL_OUT_PIN);   
      attachedServo = true;
      if (message.type==V_DIMMER) { // This could be M_ACK_VARIABLE or M_SET_VARIABLE
         int val = message.getInt();
        val = map(val, 0, 100, 0, 180); // scale 0%-100% between 0 and 180)
            myservo.write(val);       // sets the servo position 0-180
         // Write some debug info
         Serial.print("Servo changed. new state: ");
         Serial.println(val);
       } else if (message.type==V_UP) {
         Serial.println("Servo UP command");
         myservo.write(SERVO_MIN);
         gw.send(msg.set(100));
       } else if (message.type==V_DOWN) {
         Serial.println("Servo DOWN command");
         myservo.write(SERVO_MAX); 
         gw.send(msg.set(0));
       } else if (message.type==V_STOP) {
         Serial.println("Servo STOP command");
         myservo.detach();
         attachedServo = false;
    
       }
       timeOfLastChange = millis();
    }```
    marceltrapmanM Boots33B 2 Replies Last reply
    0
    • CorvlC Corvl

      Hello everyone,

      I run version 1.5 on both my vera's and Ethernet gateways and someone hinted to go to version 2.x since the newer codes don't work with 1.5

      I also read on this forum there are issues with version 2.x and library.
      Is it usefull to stay on version 1.5 or I better upgrade?

      I run not that many nodes , an important one, servo actuator which is working good. And a door sensor with temperature sensor which is working not so good , it doesn't report alway , so an extra piece of code is inserted so it reports at least every 30 seconds. Maybe with the new library and codes this is solved , and it reports a change immediately?

      This is the code for the servo actuator I use , will it still work with version 2.11?

      // Example showing how to create an atuator for a servo.
      // Connect red to +5V, Black or brown to GND and the last cable to Digital pin 3.
      // The servo consumes much power and should probably have its own powersource.'
      // The arduino might spontanally restart if too much power is used (happend
      // to me when servo tried to pass the extreme positions = full load).
      // Contribution by: Derek Macias
      
      
      #include <MySensor.h>
      #include <SPI.h>
      #include <Servo.h> 
      
      #define SERVO_DIGITAL_OUT_PIN 3
      #define SERVO_MIN 0 // Fine tune your servos min. 0-180
      #define SERVO_MAX 180 // Fine tune your servos max. 0-180
      #define DETACH_DELAY 4000 // Tune this to let your movement finish before detaching the servo
      #define CHILD_ID 10   // Id of the sensor child
      
      MySensor gw;
      MyMessage msg(CHILD_ID, V_DIMMER);
      Servo myservo;  // create servo object to control a servo 
                      // a maximum of eight servo objects can be created Sensor gw(9,10);
      unsigned long timeOfLastChange = 0;
      bool attachedServo = false;
                  
      void setup() 
      { 
        // Attach method for incoming messages
        gw.begin(incomingMessage);
      
        // Send the sketch version information to the gateway and Controller
        gw.sendSketchInfo("Servo", "1.0");
      
        // Register all sensors to gw (they will be created as child devices)
        gw.present(CHILD_ID, S_COVER);
      
        // Request last servo state at startup
        gw.request(CHILD_ID, V_DIMMER);
      } 
      
      void loop() 
      { 
        gw.process();
        if (attachedServo && millis() - timeOfLastChange > DETACH_DELAY) {
           myservo.detach();
           attachedServo = false;
        }
      } 
      
      void incomingMessage(const MyMessage &message) {
        myservo.attach(SERVO_DIGITAL_OUT_PIN);   
        attachedServo = true;
        if (message.type==V_DIMMER) { // This could be M_ACK_VARIABLE or M_SET_VARIABLE
           int val = message.getInt();
          val = map(val, 0, 100, 0, 180); // scale 0%-100% between 0 and 180)
              myservo.write(val);       // sets the servo position 0-180
           // Write some debug info
           Serial.print("Servo changed. new state: ");
           Serial.println(val);
         } else if (message.type==V_UP) {
           Serial.println("Servo UP command");
           myservo.write(SERVO_MIN);
           gw.send(msg.set(100));
         } else if (message.type==V_DOWN) {
           Serial.println("Servo DOWN command");
           myservo.write(SERVO_MAX); 
           gw.send(msg.set(0));
         } else if (message.type==V_STOP) {
           Serial.println("Servo STOP command");
           myservo.detach();
           attachedServo = false;
      
         }
         timeOfLastChange = millis();
      }```
      marceltrapmanM Offline
      marceltrapmanM Offline
      marceltrapman
      Mod
      wrote on last edited by marceltrapman
      #2

      @Corvl Hi, I did not have many sensors until now but I am ready to add stuff ( I finally have some time again :) ).
      Because of that I decided to re-evaluate my sensors and to upgrade in the process.

      You probably guessed it but this is what I would do.

      If you are not planning to add (many) sensors and everything works well I would stay with 1.5.

      If either or both of the above conditions == false I would move to 2.2.1 (current version).

      Fulltime Servoy Developer
      Parttime Moderator MySensors board

      I use Domoticz as controller for Z-Wave and MySensors (previously Indigo and OpenHAB).
      I have a FABtotum to print cases.

      1 Reply Last reply
      0
      • CorvlC Offline
        CorvlC Offline
        Corvl
        wrote on last edited by
        #3

        I would like to add some more stuff as well, and hopefully , with the newer version that doorsensor is working better.

        But is 2.11 working on vera?
        And the above sketch , of the servo actuator , is that one still compatible?

        Thanks,
        Cor

        marceltrapmanM 1 Reply Last reply
        0
        • CorvlC Corvl

          I would like to add some more stuff as well, and hopefully , with the newer version that doorsensor is working better.

          But is 2.11 working on vera?
          And the above sketch , of the servo actuator , is that one still compatible?

          Thanks,
          Cor

          marceltrapmanM Offline
          marceltrapmanM Offline
          marceltrapman
          Mod
          wrote on last edited by
          #4

          @Corvl I can't comment on the vera question.

          For 2.1.1 you have to make some changes but they are not too difficult ;)

          Fulltime Servoy Developer
          Parttime Moderator MySensors board

          I use Domoticz as controller for Z-Wave and MySensors (previously Indigo and OpenHAB).
          I have a FABtotum to print cases.

          1 Reply Last reply
          0
          • CorvlC Corvl

            Hello everyone,

            I run version 1.5 on both my vera's and Ethernet gateways and someone hinted to go to version 2.x since the newer codes don't work with 1.5

            I also read on this forum there are issues with version 2.x and library.
            Is it usefull to stay on version 1.5 or I better upgrade?

            I run not that many nodes , an important one, servo actuator which is working good. And a door sensor with temperature sensor which is working not so good , it doesn't report alway , so an extra piece of code is inserted so it reports at least every 30 seconds. Maybe with the new library and codes this is solved , and it reports a change immediately?

            This is the code for the servo actuator I use , will it still work with version 2.11?

            // Example showing how to create an atuator for a servo.
            // Connect red to +5V, Black or brown to GND and the last cable to Digital pin 3.
            // The servo consumes much power and should probably have its own powersource.'
            // The arduino might spontanally restart if too much power is used (happend
            // to me when servo tried to pass the extreme positions = full load).
            // Contribution by: Derek Macias
            
            
            #include <MySensor.h>
            #include <SPI.h>
            #include <Servo.h> 
            
            #define SERVO_DIGITAL_OUT_PIN 3
            #define SERVO_MIN 0 // Fine tune your servos min. 0-180
            #define SERVO_MAX 180 // Fine tune your servos max. 0-180
            #define DETACH_DELAY 4000 // Tune this to let your movement finish before detaching the servo
            #define CHILD_ID 10   // Id of the sensor child
            
            MySensor gw;
            MyMessage msg(CHILD_ID, V_DIMMER);
            Servo myservo;  // create servo object to control a servo 
                            // a maximum of eight servo objects can be created Sensor gw(9,10);
            unsigned long timeOfLastChange = 0;
            bool attachedServo = false;
                        
            void setup() 
            { 
              // Attach method for incoming messages
              gw.begin(incomingMessage);
            
              // Send the sketch version information to the gateway and Controller
              gw.sendSketchInfo("Servo", "1.0");
            
              // Register all sensors to gw (they will be created as child devices)
              gw.present(CHILD_ID, S_COVER);
            
              // Request last servo state at startup
              gw.request(CHILD_ID, V_DIMMER);
            } 
            
            void loop() 
            { 
              gw.process();
              if (attachedServo && millis() - timeOfLastChange > DETACH_DELAY) {
                 myservo.detach();
                 attachedServo = false;
              }
            } 
            
            void incomingMessage(const MyMessage &message) {
              myservo.attach(SERVO_DIGITAL_OUT_PIN);   
              attachedServo = true;
              if (message.type==V_DIMMER) { // This could be M_ACK_VARIABLE or M_SET_VARIABLE
                 int val = message.getInt();
                val = map(val, 0, 100, 0, 180); // scale 0%-100% between 0 and 180)
                    myservo.write(val);       // sets the servo position 0-180
                 // Write some debug info
                 Serial.print("Servo changed. new state: ");
                 Serial.println(val);
               } else if (message.type==V_UP) {
                 Serial.println("Servo UP command");
                 myservo.write(SERVO_MIN);
                 gw.send(msg.set(100));
               } else if (message.type==V_DOWN) {
                 Serial.println("Servo DOWN command");
                 myservo.write(SERVO_MAX); 
                 gw.send(msg.set(0));
               } else if (message.type==V_STOP) {
                 Serial.println("Servo STOP command");
                 myservo.detach();
                 attachedServo = false;
            
               }
               timeOfLastChange = millis();
            }```
            Boots33B Offline
            Boots33B Offline
            Boots33
            Hero Member
            wrote on last edited by
            #5

            @Corvl I am also not sure of any problems with Vera.

            Had a quick look at your sketch and it should be ok in version 2.

            V_DIMMER has been Deprecated and although it will still work at the moment you should now use V_PERCENTAGE instead

            Did a quick re-write for V2 so you can see what is different. I think I got all the changes
            I think you will find v2 easier to use once you get the hang of it

            // Example showing how to create an atuator for a servo.
            // Connect red to +5V, Black or brown to GND and the last cable to Digital pin 3.
            // The servo consumes much power and should probably have its own powersource.'
            // The arduino might spontanally restart if too much power is used (happend
            // to me when servo tried to pass the extreme positions = full load).
            // Contribution by: Derek Macias
            
            // 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 <MySensors.h>
            //#include <MySensor.h>
            #include <SPI.h>
            #include <Servo.h> 
            
            #define SERVO_DIGITAL_OUT_PIN 3
            #define SERVO_MIN 0 // Fine tune your servos min. 0-180
            #define SERVO_MAX 180 // Fine tune your servos max. 0-180
            #define DETACH_DELAY 4000 // Tune this to let your movement finish before detaching the servo
            #define CHILD_ID 10   // Id of the sensor child
            
            //MySensor gw;   
            //MyMessage msg(CHILD_ID, V_DIMMER);  //V_DIMMER has been deprecated use V_PERCENTAGE instead
            MyMessage msg(CHILD_ID, V_PERCENTAGE);
            Servo myservo;  // create servo object to control a servo 
                            // a maximum of eight servo objects can be created Sensor gw(9,10);
            unsigned long timeOfLastChange = 0;
            bool attachedServo = false;
                        
            void setup() 
            { 
              // Attach method for incoming messages
             // gw.begin(incomingMessage);
            
              // Send the sketch version information to the gateway and Controller
              //gw.sendSketchInfo("Servo", "1.0");
            
              // Register all sensors to gw (they will be created as child devices)
              //gw.present(CHILD_ID, S_COVER);
            
              // Request last servo state at startup
              //gw.request(CHILD_ID, V_DIMMER);
              request(CHILD_ID, V_PERCENTAGE);
            } 
            
            void presentation()  {
              // Send the sketch version information to the gateway and Controller
              sendSketchInfo("Servo", "1.0");
            
              // Register all sensors to gateway (they will be created as child devices)
              present(CHILD_ID, S_COVER);
            }
            
            
            void loop() 
            { 
             // gw.process();
              if (attachedServo && millis() - timeOfLastChange > DETACH_DELAY) {
                 myservo.detach();
                 attachedServo = false;
              }
            } 
            
            //void incomingMessage(const MyMessage &message) {
            void receive(const MyMessage &message){
              
              myservo.attach(SERVO_DIGITAL_OUT_PIN);   
              attachedServo = true;
              //if (message.type==V_DIMMER) { // This could be M_ACK_VARIABLE or M_SET_VARIABLE
              if (message.type==V_PERCENTAGE) {
                 int val = message.getInt();
                val = map(val, 0, 100, 0, 180); // scale 0%-100% between 0 and 180)
                    myservo.write(val);       // sets the servo position 0-180
                 // Write some debug info
                 Serial.print("Servo changed. new state: ");
                 Serial.println(val);
               } else if (message.type==V_UP) {
                 Serial.println("Servo UP command");
                 myservo.write(SERVO_MIN);
                // gw.send(msg.set(100));
                   send(msg.set(100));
               } else if (message.type==V_DOWN) {
                 Serial.println("Servo DOWN command");
                 myservo.write(SERVO_MAX); 
              //   gw.send(msg.set(0));
                   send(msg.set(0));  
               } else if (message.type==V_STOP) {
                 Serial.println("Servo STOP command");
                 myservo.detach();
                 attachedServo = false;
            
               }
               timeOfLastChange = millis();
            }
            
            
            1 Reply Last reply
            0
            • CorvlC Offline
              CorvlC Offline
              Corvl
              wrote on last edited by
              #6

              Thanks a lot , that is a big re-assurance , since that servo is hooked up on my heating system...... and it is still winter.

              Still , there are 2 or 3 threads here on this forum saying they cab's get version 2.x to work with vera on Ui7.

              I have a spare vera lite on Ui7 I will try this version 2.x on the vera lite first. But it will be for next week.

              Thanks a lot so far!,
              Cor

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


              13

              Online

              11.7k

              Users

              11.2k

              Topics

              113.0k

              Posts


              Copyright 2019 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