Skip to content
  • 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
jsiddallJ

jsiddall

@jsiddall
Plugin Developer
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store
About
Posts
30
Topics
8
Shares
0
Groups
1
Followers
0
Following
0

Posts

Recent Best Controversial

  • Highest efficiency LED?
    jsiddallJ jsiddall

    If you look at the datasheet is says, depending on the bin, between 17 and 18 lm max output. At max power of 110 mW that is 17.5/0.110 or 159 lm/w. I haven't looked for comparisons but I suspect that is typical of most modern LEDs. Keep in mind that, for commercial LED bulbs, there is power converter efficiency that has to be factored into the efficacy and they still achieve > 100 lm/W with pretty average LEDs.

    General Discussion

  • 💬 NodeManager
    jsiddallJ jsiddall

    @user2684 Great news! I will give that a try shortly.

    OpenHardware.io contest2017 arduino newbie mysensors battery sensor

  • How to create sensors not tied to pins
    jsiddallJ jsiddall

    @gohan yes, I certainly could treat these sensors manually but of course that is more work!

    I think I will create a feature request on NodeManager to add a "virtual" sensor capability anyway because it would be useful and probably not that hard to build. This concept already exists for things like the battery sensor which has a pin "-1".

    Edit: added request for this feature as issue #257.

    NodeManager

  • How to create sensors not tied to pins
    jsiddallJ jsiddall

    I am working with some devices that aren't directly tied to pins, yet I would still like to interact with these devices, ideally using NodeManager. An example device is a TTP229 touch sensor. This has 8 or 16 buttons and sends the state changes as serial data over a single data pin. I would like to treat these button presses as inputs to an S_BINARY sensors but at the moment I don't see a way to send sets for a sensor child by anything other than a physical pin.

    On the receive side I would like to be able to receive arbitrary data from a controller to, for example, an S_CUSTOM device and then use that data to control the behaviour of the node. I could use the state of the child to do something like reduce the brightness of all the S_DIMMERs on the node.

    Is there any way to do this type of thing?

    NodeManager

  • NodeManager: plugin for a rapid development of battery-powered sensors
    jsiddallJ jsiddall

    @user2684 Great, thanks for the quick response.

    UPDATE: Confirmed, all is good with MyS 2.2.0-rc2. Not sure what resolution you had in mind for issue #256 but a note in the installation section of this page:

    https://www.mysensors.org/download/node-manager

    ...stating the required version of MyS for both the stable and dev versions of NodeManager would probably have been enough to keep me out of trouble!

    Thanks again for NodeManager. It does everything I had been doing manually before, using pages of sketch, and shrinks it down to a few simple lines.

    NodeManager

  • NodeManager: plugin for a rapid development of battery-powered sensors
    jsiddallJ jsiddall

    I grabbed the latest development branch tonight to try this out. I saved the NodeManager.ino as a new name and copied the NodeManagerLibrary.h and NodeManagerLibrary.ino files into the new folder. I enabled USE_DIGITAL_OUTPUT and added a SensorDigitalOutput and SensorRelay child in my sketch and tried to compile. Unfortunately I got these errors:

    In file included from ino:244:0:
    sketch/NodeManagerLibrary.h:549:27: error: 'SR_RX_RSSI' was not declared in this scope
         int _signal_command = SR_RX_RSSI;
                               ^
    /NodeManagerLibrary.ino: In member function 'virtual void SensorSignal::onLoop(Child*)':
    /NodeManagerLibrary.ino:741:45: error: 'signalReport_t' was not declared in this scope
       int16_t value = transportGetSignalReport((signalReport_t)_signal_command);
                                                 ^
    /NodeManagerLibrary.ino:741:75: error: 'transportGetSignalReport' was not declared in this scope
       int16_t value = transportGetSignalReport((signalReport_t)_signal_command);
                                                                               ^
    exit status 1
    Error compiling for board Arduino Nano.
    

    All seems to be related to signal reports but even if I disable signal reporting the errors still occur. Guessing I did something wrong so any ideas would be appreciated.

    Thanks!

    NodeManager

  • New MyS module available
    jsiddallJ jsiddall

    @wallyllama have a look here:

    https://github.com/hollie/misterhouse/blob/master/lib/MySensors.pm

    The default branch is stable but you won't find it there [yet].

    Misterhouse

  • codebender.cc no more
    jsiddallJ jsiddall

    Got this email today from vasilis.georgitzikis@codebender.mail.intercom.io:

    All good things must come to an end

    We have some sad news to share today. With a heavy heart, we've decided to shut down the codebender.cc website.

    General Discussion

  • Open Source Home Automation (Raspberry)
    jsiddallJ jsiddall

    @hek said:

    The question is if it recognize MySensors topics and do things like hand out ids over MQTT.

    Hmmm... good point. Hand out IDs, no, not out of the box, but set/req should work. For now I am fine to leave MQTT off and I will look at what would need to be done to add basic MYS specific internal support.

    Controllers automation open source raspberry controller

  • Open Source Home Automation (Raspberry)
    jsiddallJ jsiddall

    @hek

    Actually, now that I think about it, Misterhouse also has support for MQTT so you can probably list all three gateways for Misterhouse. Sorry for forgetting about that one in my initial post.

    Controllers automation open source raspberry controller

  • New MyS module available
    jsiddallJ jsiddall

    @hek

    Here's a larger one that I pulled from my own deployment

    0_1475782710119_touch-icon_180.png

    If you need a bigger one I will need to contact the icon designer. Let me know.

    Misterhouse

  • New MyS module available
    jsiddallJ jsiddall

    @hek Sure, here's some info. Let me know if you need more detail or something specific

    Misterhouse is one of the longest running home automation platforms around. Started in 1998 it supports a wide range of hardware, protocols and capabilities. It is written in perl which means it is easy to run on a wide range of platforms, to see what is happening and also to make customizations. The flip side of this flexibility is that some perl scripting is required but fortunately there are many examples and a helpful group of people on mailing lists.

    The project is currently hosted on github:

    https://github.com/hollie/misterhouse/wiki

    A search of the wiki will also show what support exists for various protocols and hardware.

    For screenshots of the web interface see:

    https://sourceforge.net/projects/misterhouse/

    Ex: https://a.fsdn.com/con/app/proj/misterhouse/screenshots/MH_ia7.png

    There are articles such as this one from linux magazine:

    http://www.linux-magazine.com/Issues/2015/178/MisterHouse

    and even a book by the same author.

    Misterhouse

  • [Solved] No heartbeat
    jsiddallJ jsiddall

    @tekka Thanks, easy fix. I'm obviously not a C guy! I guess you only use "void" when you are defining a function.

    Troubleshooting

  • [Solved] No heartbeat
    jsiddallJ jsiddall

    I am trying to implement sendHeartbeat() periodically so my gateway knows that a sensor is alive even when it doesn't have any data to send.

    The issue is that while I am pretty sure sendHeartbeat() is being called nothing is actually being sent.

    This is a node running MYS 2.0.

    Here's the sketch excerpt from loop():

    #define MY_DEBUG
    
    if ((millis() - last_heartbeat_time) > HEARTBEAT_TIME) {
      // If it exceeds the heartbeat time then send a heartbeat
      void sendHeartbeat();
      last_heartbeat_time = millis();
      
      #ifdef MY_DEBUG
        Serial.println("Sent heartbeat");
      #endif
    }
    
    wait(UPDATE_TIME);
    

    And here's the debug log:

    Sent heartbeat
    TSP:SANCHK:OK
    TSP:MSG:SEND 3-3-0-0 s=0,c=1,t=39,pt=7,l=5,sg=0,ft=0,st=ok:0.00
    TSP:MSG:SEND 3-3-0-0 s=1,c=1,t=38,pt=7,l=5,sg=0,ft=0,st=ok:4.37
    Sent heartbeat
    

    I know the if clause is executing because I get the "Sent heartbeat" debug message.

    The two other messages are from child sensors 1 and 2 and those seem to be working fine.

    I would expect that if a message was being sent for the heartbeat I should see some kind of debug log showing the message was sent. However, I neither see a debug message nor receive a heartbeat message at the gateway.

    Can anyone see any reason the above code shouldn't send a heartbeat?

    Thanks,

    Jeff

    Troubleshooting

  • MYSBootLoader OTA documentation
    jsiddallJ jsiddall

    @tekka, yes, sorry, should have clarified. 7 bytes for MYS sensor, but the 6 bytes I was referring to as a "header" was the typedef on the firmware download. So 7+6=13/32 leaving up to 19 bytes for the firmware block itself.

    Thanks for the clarification on the padding and the CRC. That will become important.

    Development

  • MYSBootLoader OTA documentation
    jsiddallJ jsiddall

    Thanks @tekka. Binary huh? Looks like it's time I read http://perldoc.perl.org/perlpacktut.html

    I also see #define FIRMWARE_BLOCK_SIZE 16

    with 6 bytes of other headers brings it up to 22 bytes of the 25 available payload bytes. Is it safe to assume the block size won't be changing any time soon?

    Also, if the actual firmware doesn't fill the last block is the expected behavior to send less than FIRMWARE_BLOCK_SIZE bytes (i.e.: no padding)?

    Development

  • MYSBootLoader OTA documentation
    jsiddallJ jsiddall

    Is there any documentation on how MYSBootloader expects to receive OTA firmware updates? This is a slick feature for sure but I need to write an OTA stack for my controller since I am not using MYSController.

    I checked for documentation but there seems to be almost zero there (just a brief mention that OTA exists on the serial protocol page).

    Development

  • New MyS module available
    jsiddallJ jsiddall

    The new MyS module for Misterhouse (MySensors.pm) has now been merged to the Master branch. Please test and post and questions or comments.

    What it does:
    Serial and Ethernet gateways
    Door/window, motion, binary/light, temperature and humidity sensors
    Assigns node ID requests (untested)

    What it doesn't do:
    Almost everything else!

    Misterhouse

  • New controller for the open source Misterhouse project
    jsiddallJ jsiddall

    I just created a pull request for a new MySensors module for the open source Misterhouse project:

    https://github.com/hollie/misterhouse/wiki

    An icon tor that project is here:

    https://a.fsdn.com/allura/p/misterhouse/icon

    Misterhouse

  • Open Source Home Automation (Raspberry)
    jsiddallJ jsiddall

    I just committed a controller module for Misterhouse if you want to update the list. Supports both serial and Ethernet gateways.

    Controllers automation open source raspberry controller
  • Login

  • Don't have an account? Register

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