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
T

tbully

@tbully
About
Posts
74
Topics
11
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • How to scan rf remote
    T tbully

    Echoing what @emc2 said. RCSwitch worked great for my 433 project a few months ago.

    https://forum.mysensors.org/topic/4962/laser-christmas-light-control-433mhz/14

    Development

  • Missing Icons after UI5 -> UI7 Upgrade
    T tbully

    Yep. I think it's the default icon that's used when the JSON points to the wrong image, or the image is not available.

    Are you using UI7? Can you send me a screenshot of Temperature node? Maybe the XML/JSON behind it? I'd like to compare it to what I'm running.

    Vera

  • Missing Icons after UI5 -> UI7 Upgrade
    T tbully

    Hey Hek!

    Thanks for responding on a rather mundane issue. Browser connectivity is OK. In fact, your smiling guy (also your avatar here) loads OK on the "main" plugin. Also, the "integrated circuit" icon loads on each of the node definitions.

    However, the devices themselves (relays, meters, etc) don't appear to be loading. :-(

    Vera

  • Missing Icons after UI5 -> UI7 Upgrade
    T tbully

    Hello All -

    I did download the newest Vera files and uploaded them. However, I'm missing icons on some of my devices. Can someone give me some ideas?!

    0_1482440375506_MySensors_Missing_Icon1.JPG

    0_1482440385504_MySensors_Missing_Icon2.JPG

    Vera

  • Laser Christmas Light Control - 433MHZ
    T tbully

    I thought I'd report back with my code. The sensor is up and running. I don't like that I just had to present switches but I'm not skilled enough to use the "custom" field and make a control in Vera. (On/Off, Blue, Red, Green, Motion) So this will have to do for now. It's probably OK as I'm just going to use automation to actuate the switches.

    /**
     * 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.
     *
     *******************************
     *
     * 
     *Power=  010101101010010100000001
     *Red=  010101101010010100000010
     *Green=  010101101010010100001000
     *Blue= 010101101010010100001110
     *down =  010101101010010100000100
     *up= 010101101010010100010110
    
    Decimal: 5678338 (24Bit) Binary: 010101101010010100000010 Tri-State: not applicable PulseLength: 310 microseconds Protocol: 1
    Raw data: 9624,192,1032,808,416,232,988,840,384,256,964,872,360,876,340,288,936,884,336,288,936,888,336,284,936,284,940,884,340,284,936,884,340,284,936,288,936,284,940,284,936,284,940,284,936,884,336,288,936,
     * 
     * 
     * 
     * 
     * 
     */ 
    
    // Enable debug prints to serial monitor
    #define MY_DEBUG 
    
    #define MY_RF24_PA_LEVEL RF24_PA_LOW
    // 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 <MySensors.h>
    #include <RCSwitch.h>
    
    #define POWER_BUTTON 1
    #define RED_BUTTON 2
    #define GREEN_BUTTON 3
    #define BLUE_BUTTON 4
    #define NoMotion_BUTTON 5
    #define MedMotion_BUTTON 6
    #define FastMotion_BUTTON 7
    
    unsigned long delay_time = 500;
    
    bool state;
    MyMessage msg_power(POWER_BUTTON,V_LIGHT);
    MyMessage msg_red(RED_BUTTON,V_LIGHT);
    MyMessage msg_green(GREEN_BUTTON,V_LIGHT);
    MyMessage msg_blue(BLUE_BUTTON,V_LIGHT);
    MyMessage msg_NoMotion(NoMotion_BUTTON,V_LIGHT);
    MyMessage msg_MedMotion(MedMotion_BUTTON,V_LIGHT);
    MyMessage msg_FastMotion(FastMotion_BUTTON,V_LIGHT);
    
    RCSwitch mySwitch = RCSwitch();
    
    
    void before() {
      
      }
    
    void setup() {
      mySwitch.enableTransmit(8);
      mySwitch.setPulseLength(298);
      mySwitch.setRepeatTransmit(2);
      }
    
    void presentation()  
    {   
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("Christmas Laser Control", "1.0");
      present (POWER_BUTTON, S_LIGHT);
      present (RED_BUTTON, S_LIGHT);
      present (GREEN_BUTTON, S_LIGHT);
      present (BLUE_BUTTON, S_LIGHT);
      present (NoMotion_BUTTON, S_LIGHT);
      present (MedMotion_BUTTON, S_LIGHT);
      present (FastMotion_BUTTON, S_LIGHT);
    }
    
    void loop() {
     // if (state) {
     //   Serial.println("State is true");
        //send(msg.set(state?false:true), false); // Send new state and request ack back
       // send(msg.setSensor(RED_CONTROLLER).set(0));
     //   state = false;
    //  }
      
      }
    
    void receive(const MyMessage &message) {
      // We only expect one type of message from controller. But we better check anyway.
      if (message.isAck()) {
         Serial.println("This is an ack from gateway");
      }
      
      if (message.type==V_LIGHT) {
    
         Serial.print("Incoming change for sensor:");
         Serial.print(message.sensor);
         Serial.print(", New status: ");
         Serial.println(message.getBool());
         
         if (message.getBool()){
          if (message.sensor == POWER_BUTTON) {
            Serial.println ("Sending POWER data");
    
            mySwitch.send("010101101010010100000001");
     
    
            Serial.println ("Turn POWER_BUTTON off in Vera");
            send(msg_power.setSensor(POWER_BUTTON).set(0), true);
          }
          else if (message.sensor == RED_BUTTON) {
            Serial.println ("Sending RED data");
            mySwitch.send("010101101010010100000010");
       
            Serial.println ("Turn RED_BUTTON off in Vera");
            send(msg_red.setSensor(RED_BUTTON).set(0), true);
    
           }
          else if (message.sensor == GREEN_BUTTON) {
            Serial.println ("Sending GREEN data");
            mySwitch.send("010101101010010100001000");
    
            Serial.println ("Turn GREEN_BUTTON off in Vera");
            send(msg_green.setSensor(GREEN_BUTTON).set(0), true);
          }
          else if (message.sensor == BLUE_BUTTON) {
            Serial.println ("Sending BLUE data");
            mySwitch.send("010101101010010100001110");
    
            Serial.println ("Turn BLUE_BUTTON in Vera");
            send(msg_blue.setSensor(BLUE_BUTTON).set(0), true);
          }
          else if (message.sensor == NoMotion_BUTTON) {
            Serial.println ("Sending No Motion data");
            mySwitch.send("010101101010010100000100");
            delay(delay_time);
            mySwitch.send("010101101010010100000100");
            delay(delay_time);
            mySwitch.send("010101101010010100000100");
            Serial.println ("Turn No Motion in Vera");
            send(msg_blue.setSensor(NoMotion_BUTTON).set(0), true);
          }
          else if (message.sensor == MedMotion_BUTTON) {
            Serial.println ("Sending Medium Motion data");
            mySwitch.send("010101101010010100000100");//down
            delay(delay_time);
            mySwitch.send("010101101010010100000100");//down
            delay(delay_time);
            mySwitch.send("010101101010010100010110");//up
            Serial.println ("Turn Medium Motion in Vera");
            send(msg_blue.setSensor(MedMotion_BUTTON).set(0), true);
          }       
          else if (message.sensor == FastMotion_BUTTON) {
            Serial.println ("Sending Fast Motion data");
            mySwitch.send("010101101010010100010110");
            delay(delay_time);
            mySwitch.send("010101101010010100010110");
            delay(delay_time);
            mySwitch.send("010101101010010100010110");
            Serial.println ("Turn Fast Motion in Vera");
            send(msg_blue.setSensor(FastMotion_BUTTON).set(0), true);
          }      
            
        }
    
        // Store state in eeprom
       // saveState(message.sensor, message.getBool()); 
       } 
    }
    
    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    @petewill ARGH! Of course! That was it! OK, this should get me going for a bit. Thanks so much!

    I will work on this more and report back! Love these forums and how helpful they are. Hopefully, I will be able to return the favor someday!

    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    With the help of @petewill in a chat session, I was able to figure out why I couldn't send messages back.

    I was failing to instantiate:
    MyMessage msg(RED_CONTROLLER,S_LIGHT);

    I'm only concentrating on the "red" case at the moment. As you can see from the log, I'm sending a "0" back to Vera but Vera is not showing off in the console. ** Am I not resetting the state correctly?**

    0_1475434817226_upload-514b4107-7699-4c4b-8239-77ef99d97078

    Incoming change for sensor:2, New status: 1
    Get ready to send radio message
    Sending RED data
    Turn RED_CONTROLLER off in Vera
    TSP:MSG:SEND 1-1-6-0 s=2,c=1,t=3,pt=2,l=2,sg=0,ft=0,st=ok:0
    
    // Enable debug prints to serial monitor
    #define MY_DEBUG 
    
    #define MY_RF24_PA_LEVEL RF24_PA_LOW
    // 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 <MySensors.h>
    
    
    #define POWER_CONTROLLER 1
    #define RED_CONTROLLER 2
    #define GREEN_CONTROLLER 3
    #define BLUE_CONTROLLER 4
    
    bool state;
    MyMessage msg(RED_CONTROLLER,S_LIGHT);
    void before() {
      
      }
    
    void setup() {}
    
    void presentation()  
    {   
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("Christmas Laser Control", "1.0");
      present (POWER_CONTROLLER, S_LIGHT);
      present (RED_CONTROLLER, S_LIGHT);
      present (GREEN_CONTROLLER, S_LIGHT);
      present (BLUE_CONTROLLER, S_LIGHT);
    }
    
    void loop() {
     // if (state) {
     //   Serial.println("State is true");
        //send(msg.set(state?false:true), false); // Send new state and request ack back
       // send(msg.setSensor(RED_CONTROLLER).set(0));
     //   state = false;
      }
      
      }
    
    void receive(const MyMessage &message) {
      // We only expect one type of message from controller. But we better check anyway.
      if (message.isAck()) {
         Serial.println("This is an ack from gateway");
      }
      
      if (message.type==V_LIGHT) {
    
         Serial.print("Incoming change for sensor:");
         Serial.print(message.sensor);
         Serial.print(", New status: ");
         Serial.println(message.getBool());
         
         if (message.getBool()){
           //send data for appropriate "button" and then toggle controller back to "off"/false
           Serial.println ("Get ready to send radio message");
            //send appropriate data here
    
          if (message.sensor == POWER_CONTROLLER) {
            Serial.println ("Sending POWER data");
           //send 433 mhz RF data and turn switch back off
          }
          else if (message.sensor == RED_CONTROLLER) {
            Serial.println ("Sending RED data");
            
            //send data here
            
            wait (5000);
            Serial.println ("Turn RED_CONTROLLER off in Vera");
            send(msg.setSensor(RED_CONTROLLER).set(0));
           }
          else if (message.sensor == GREEN_CONTROLLER) {
            Serial.println ("Sending GREEN data");
            //send 433 mhz RF data and turn switch back off
          }
          else if (message.sensor == BLUE_CONTROLLER) {
            Serial.println ("Sending BLUE data");
            //send 433 mhz RF data and turn switch back off
          }
            
        }
    
        // Store state in eeprom
       // saveState(message.sensor, message.getBool()); 
       } 
    }
    
    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    @petewill Because when the V_LIGHT sensor is switched "on" in Vera, I will fall in to the proper "if" condition above. However, I need to switch it back off after I send the data so I can later toggle it again. I wish there was a "button device" so I didn't have to worry about it.

    0_1475431621870_upload-cc34bba7-207c-436e-9228-da1beeb24bc8

      else if (message.sensor == RED_CONTROLLER) {
        Serial.println ("Sending RED data");
        //send 433 mhz RF data and turn switch back off
      }
    
    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    @petewill Good question. I meant the home controller. The remote is completely out of the picture now. Using your ideas, I was able to figure out all the codes and can send them successfully via a test script. The hard part is done, ironically!

    I'm just not a great code guy.....

    I haven't put that logic in to my script yet. Instead, I'm trying to figure out how to "bounce" a light switch. When the home automation controller sends an "on" for a certain function, I'll send the RF data and then switch it back "off" to be ready for the next command/"button press" later. That's the part I'm having trouble with....

    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    I'm forging ahead with multiple switches (lights) until someone can help me think through the best way to present to the controller. I'm trying to work out the logic to simulate a button-press.

    When someone/something presses "on" in the controller, the sensor will determine which button/light was pressed, send the appropriate data and then toggle the device back off. I've never updated a switch status back to the controller. My use of "send" below is clearly invalid.

    #define MY_DEBUG 
    
    #define MY_RF24_PA_LEVEL RF24_PA_LOW
    // 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 <MySensors.h>
    
    
    #define POWER_CONTROLLER 1
    #define RED_CONTROLLER 2
    #define GREEN_CONTROLLER 3
    #define BLUE_CONTROLLER 4
    
    void before() {}
    
    void setup() {}
    
    void presentation()  
    {   
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("Christmas Laser Control", "1.0");
      present (POWER_CONTROLLER, S_LIGHT);
      present (RED_CONTROLLER, S_LIGHT);
      present (GREEN_CONTROLLER, S_LIGHT);
      present (BLUE_CONTROLLER, S_LIGHT);
    }
    
    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) {
    
         Serial.print("Incoming change for sensor:");
         Serial.print(message.sensor);
         Serial.print(", New status: ");
         Serial.println(message.getBool());
         
         if (message.getBool()){
           //send data for appropriate "button" and then toggle controller back to "off"/false
           Serial.println ("Get ready to send radio message");
            //send appropriate data here
    
          if (message.sensor == POWER_CONTROLLER) {
            Serial.println ("Sending POWER data");
           //send 433 mhz RF data and turn switch back off
          }
          else if (message.sensor == RED_CONTROLLER) {
            Serial.println ("Sending RED data");
            //send 433 mhz RF data and turn switch back off
          }
          else if (message.sensor == GREEN_CONTROLLER) {
            Serial.println ("Sending GREEN data");
            //send 433 mhz RF data and turn switch back off
          }
          else if (message.sensor == BLUE_CONTROLLER) {
            Serial.println ("Sending BLUE data");
            //send 433 mhz RF data and turn switch back off
          }
            
        //   delay (1000);
        //   send(message.set(0));   
         }
    
        // Store state in eeprom
       // saveState(message.sensor, message.getBool()); 
       } 
    }
    
    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    Well, I made some progress today. I was able to sniff the traffic, determine the pulse width, and put together a simple sketch to test it. I had to modify the antenna on the transmitter as well as the one on the receiver inside the light. I'm now able to control it from anywhere in the house. Prior, only a few feet would work.

    However, I'm still not clear on how I'll present this to the controller.

    Here are the codes for the record:

    Power= 010101101010010100000001
    Red= 010101101010010100000010
    Green= 010101101010010100001000
    Blue= 010101101010010100001110
    down = 010101101010010100000100
    up= 010101101010010100010110

    Pulse width was measured at 310 ms. However, using my ear, it sounds and works better if set at 298ms.

    Any more thoughts on the controller side? Would really be helpful. I'm just not a very creative coder.

    Thanks!

    General Discussion

  • Momentary Actuation?
    T tbully

    Hey All -

    I'm working on a sensor where I will want to actuate something momentarily. Specifically, I want to send a stream of data via a 433mhz transmitter. But this could be as something as simple as latching/un-latching a relay (simulating a button-push, etc).

    I'm not sure what device to use from a controller perspective.

    Should I just use a switch that is normally in a state of "off"? When Vera sets the device to "on", do "whatever" in the sketch (set a bit in the sketch, etc), and then have the sketch turn the switch status back off in Vera? Seems like kind of a hack. Is there a "push button" device type?

    Vera

  • Laser Christmas Light Control - 433MHZ
    T tbully

    @petewill Ah! I didn't think of exposing multiple sensors/devices! Ugh! I will think on this. The problem is, each button is momentary (not a switch/dimmer) so I'm not sure I have the experience to handle that. (good with electronics - not so good in the coding world) Although, I seem to remember others talking about momentary actions in the forums..... I'm sure it has been tackled.

    @hek I didn't know about that device..... I'm going to check in to that as well.

    Thanks!

    General Discussion

  • Laser Christmas Light Control - 433MHZ
    T tbully

    Hello All -

    I recently purchased a pretty neat laser/projector from: http://www.laserchristmaslights.com/

    0_1474983760072_laser.jpg

    I control my annual display by a few Z-Wave Outlets/Modules and Vera Scenes. The problem with this laser (I knew this when purchasing) is that it doesn't "remember" the mode it was in prior to shutdown. While I purchased the "moving lasers" product, I knew that I initially intended to use it in its static mode to keep things less busy. The problem is it comes up in "moving mode" regardless of initial settings.

    No problem, I figured. I originally thought it was going to be an IR remote and was going to use a blaster to remind it to not move. Short of that, I also considered manually hacking the remote (bought an extra one!) and just momentarily close the button (relay, etc) to set the correct state.

    After receiving the product, I realized that it was a 433MHZ remote. I remember reading a thread by @petewill to control his RF blinds: https://forum.mysensors.org/topic/7/controlling-blinds-com-rf-dooya-motors-with-arduino-and-vera

    While I haven't completely finished sniffing the remote's traffic, I have successfully been able to "hear" it with a receiver as outlined by Pete.

    I want to mimic 7 different buttons:

    • Power (just in case I need to cycle)
    • R, G, B (turns each laser on/off to control color scenes if needed)
    • Flash (flashes all lasers - ugly but may be interesting to have control over)
    • ' - / + (controls the speed of movement from zero to "full")

    0_1474983695292_controller.jpg

    My Main Issue/Question at the Moment
    I'm not entirely clear how to present the sensor to the gateway/controller. Again, I'm using Vera and everything I'm reading at https://www.mysensors.org/download/serial_api_20#sensor-type doesn't show a clear match for what I'm trying to achieve.

    Any thoughts?

    I'm including @petewill 's thread for appropriate credit as I'm generally modeling his methods: https://forum.mysensors.org/topic/7/controlling-blinds-com-rf-dooya-motors-with-arduino-and-vera

    General Discussion

  • 💬 NRF2RFM69
    T tbully

    It would be great if there was a version of this that had line level converters built in. (For those of us using non 3.3v Arduinos)

    OpenHardware.io rfm69 adapter converter nrf24l01

  • Relay Trouble - Controller Status Updates
    T tbully

    Last night I found that I could put my thumb on the sensor's antenna and the sensor would then work flawlessly. After switching radios on both the sensor and gateway without luck, I reduced the power on the sensor. This has seemed to fix the issue for now.

    By the way, I'm using a separate 3.3v supply, capacitor on the radios - the works.

    Troubleshooting

  • Relay Trouble - Controller Status Updates
    T tbully

    Thanks for the quick response. I will enable debug on the sensor and see if I can capture some errors. The problem with debugging on the gateway-side is this is controller-induced. There's no way (to my knowledge) to see gateway debug messages while connected to the controller. I wish the Vera plugin had an inherent way to log to the Vera filesystem.

    Troubleshooting

  • Relay Trouble - Controller Status Updates
    T tbully

    Hello Friends -

    I have a rather strange issue that I'd like to float by you. I will hold up on sending sketch information, etc unless we feel it's necessary (just don't want to confuse the situation).

    I have a sensor that does pulse counting (water flow) and also controls one relay. Using Vera as my controller and an ethernet gateway, I've noticed on many occasions that when I actuate the relay, the relay moves as commanded but the status doesn't always get updated in Vera. I sometimes have to click the on/off button several times to get the state to update correctly. (The "light bulb" on the Vera GUI.)

    Any thoughts on where I should start troubleshooting? I'm guessing it's radio/comms issues on either the sensor or gateway. I do have several "one way" sensors (temperature, etc) around the home that seem to work just fine. My relay sensors are the only ones where I command "MySensors" to do something via the controller.

    Thanks for any starts you can provide.

    Troubleshooting

  • Understanding serial gateway code
    T tbully

    I'm interested in what you learn here. I'm not much of developer (ok - I'm NOT a developer! haha!) but would like to do something similar and posted a thread about it a few months ago. I think I was in the wrong section as I never got a response.

    http://forum.mysensors.org/topic/2200/vera-mqtt-gateway

    Development

  • Relay actuator + water meter pulse sensor sketch
    T tbully

    Hey there. Sorry for the delay. I never get notifications on this board for some reason.

    I'm using one of these:
    http://www.amazon.com/dp/B00EVKVM02/ref=pe_385040_30332190_TE_3p_dp_1

    And one of these for my sprinkler 3/4 line:
    http://www.amazon.com/dp/B00EVKOK6A/ref=pe_385040_30332190_TE_3p_dp_2
    http://www.amazon.com/gp/product/B009YVCMX4?psc=1&redirect=true&ref_=oh_aui_search_detailpage

    I couldn't find the 1" valve to go with the sensor but you get the idea. I'm just switching those with normal relays tied to the appropriate pins.

    Funny you should ask about this, however. I'm actually not overly thrilled with the flow sensors (especially the 1" model). It doesn't seem to detect low flow rates. Either my sketch isn't sensitive enough (maybe my debounce is screwed up) or it doesn't pulse for lower speeds.

    I'm considering another type of flow meter but 1) haven't found one yet 2) not looking forward to re-plumbing everything.

    Development
  • Login

  • Don't have an account? Register

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