rfxcom / node-rfxcom

Node.js client for talking to an RFXtrx433 device
MIT License
61 stars 45 forks source link

node-rfxcom and enxa #12

Closed mrose17 closed 10 years ago

mrose17 commented 10 years ago

hi again. apparently another entrant in the 433MHz usb stick arena ia the telldus tellstick (similar to the rfxrec433) and the tellstick-duo (similar to the rfxtrx433).

telldus open sources their source code, which is nice, but i have yet to get something like https://github.com/Hexagon/telldus-core-js to actually build on my mac. combine this with the fact that, afaik, nexus doesn't sell into the united states, and i suspect that i can't get the dots to connect.

i am wondering if you have any experience seeing an rfxcom work with any of these products described at http://www.nexa.se/System-Nexa-2.htm

http://www.clasohlson.com/uk/Nexa-EYCR2-2300UK-Remote-Switch-Set-2-pack/Pr182651000
http://www.clasohlson.com/uk/Temperature-Sensor-Hygrometer/Pr361797000

as you may have guessed: my implementation strategy is to always start with a node module (either an existing one or one that i write) and then have #thethingsystem use that module. i'm a big fan of node-rfxcom, so the logical course is to ask whether you think the rfxcom can deal with those peripherals…

what's your thinking?

thanks!

bigkevmcd commented 10 years ago

I've not had the time to take the rfxcom out of my setup and test this, but I will get a chance this week to do it.

As for the other devices, a bit of Googling suggests that the Nexa devices will work as "Home Easy" devices, and The Clas Ohlson weather sensors are listed as supported on the rfxcom website here: http://rfxcom.com/store/Transceivers/12103

The telldus-core stuff looks a bit complicated to install :-) Requiring a telldus-core library to get bootstrapped first, I guess they don't want to reimplement their protocol in JS as well as the C version...

mrose17 commented 10 years ago

the telldus-core stuff is an excellent example of a complex, well-written piece of code that got "lapped" by the industry. i just can't imagine writing something like that today given the existing way we architect software (viz., node.js, node-rfxcom, etc.); however, done is done.

if you are able to see some success on the nexa/home easy front, then please let me know what events they trigger as. the dispatch logic for the rfxcom in the #thethingsystem is here:

    https://github.com/TheThingSystem/steward/blob/master/steward/devices/devices-gateway/gateway-rfxrec433-usb.js

so my first step will be to augment that to do something when the events come in.

many thanks!

bigkevmcd commented 10 years ago

My reading of the RFXtrx SDK is that the Nexa devices should be "lighting2" messages, and the Clas Ohlson temperature sensor should be TH8 messages.

I'll find time to write a parser for that data early this week (it's fairly trivial adding new messages / parsing).

You can ask rfxcom for the SDK document (the author explicitly asks developers not to redistribute it, otherwise I'd share it, and I'm respecting his wishes), which might help understanding some of the things in node-rfxcom (why the messages are called what they are, for example).

mrose17 commented 10 years ago

thanks. when you know the parsing, let me know and i'll re-sync with your repo and start augmented #thethingsystem…

i thought i had requested the API before and received it, but it's not in my work area… i'll take another look, thanks!

bigkevmcd commented 10 years ago

I had a quick look at the code, and I think it should actually be parsing successfully, based on the SDK document.

I don't have any of these devices to test for real.

mrose17 commented 10 years ago

no worries… i'll find us a volunteer (-;

also, what is "humidityStatus" for the th1-9 devices?

bigkevmcd commented 10 years ago

It should be one of the humidity "constants"

exports.humidity = { DRY: 0, COMFORT: 1, NORMAL: 2, WET: 3 };