Project

General

Profile

Very late to your party

Added by JohnO over 2 years ago

I’ve started to take a fresh look at HouseMon: http://jeelabs.net/projects/cafe/wiki/Dive\_Into\_JeeNodes I’m sorry it has taken me a year or more to get here.
After running through the @jcw’s excellent “Dive In” articles I am going to post elements of my learning curve in this thread.

Installation concerns: http://jeelabs.org/2013/02/16/dijn-09-install-the-housemon-server/
makes a reference to:

git checkout 0.7.x    # <== this is ESSENTIAL

I struggled for a while to get there and now think it would be better if it was changed to:

git checkout v0.7.0    # <== this is ESSENTIAL

Usage: It feels quite resource intensive on the RaspPi especially on at npm start. I have run @jcw’s replayed data and my interest has been triggered.

Problems: I haven’t yet found the mechanism that assigns group/node ID’s to be passed into the decoders, I am looking specifically for how to have my RoomNode decoded.


Replies (12)

RE: Very late to your party - Added by JohnO over 2 years ago

I am unable to add the “rf12demo-readwrite Ver: 0.1.1” briq.

install briq rf12demo-readwrite:ttyUSB0:57600:

/root/housemon/node_modules/redis/index.js:582
            throw err;
                  ^
TypeError: Object # has no method 'apply'
    at /root/housemon/server/briqs.coffee:57:53
    at EventEmitter. (/root/housemon/server/briqs.coffee:59:17)
    at EventEmitter.emit (/root/housemon/node_modules/eventemitter2/lib/eventemitter2.js:339:22)
    at /root/housemon/server/state.coffee:92:17
    at /root/housemon/server/state.coffee:67:20
    at try_callback (/root/housemon/node_modules/redis/index.js:579:9)
    at RedisClient.return_reply (/root/housemon/node_modules/redis/index.js:664:13)
    at ReplyParser. (/root/housemon/node_modules/redis/index.js:312:14)
    at ReplyParser.EventEmitter.emit (events.js:95:17)
    at ReplyParser.send_reply (/root/housemon/node_modules/redis/lib/parser/javascript.js:300:10)
    at ReplyParser.execute (/root/housemon/node_modules/redis/lib/parser/javascript.js:189:22)
    at RedisClient.on_data (/root/housemon/node_modules/redis/index.js:535:27)
    at Socket. (/root/housemon/node_modules/redis/index.js:91:14)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Socket. (_stream_readable.js:746:14)
    at Socket.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)
    at emitReadable (_stream_readable.js:404:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at Socket.Readable.push (_stream_readable.js:127:10)
    at TCP.onread (net.js:526:21)
npm ERR! weird error 8
npm ERR! not ok code 0

RE: Very late to your party - Added by JohnO over 2 years ago

Appears to support one RF12 group, support for group 0 operation appears to be in the future.

RE: Very late to your party - Added by lightbulb over 2 years ago

JohnO,

That Briq I knocked up (rf12demo-readwrite) could be loaded multiple times, 1 per group and uses the additional parameters to help map the relevant routing.
It needed RFDemo.9 or .10 if I remember (but may work with the latest version if the version string format and functionality is NOT vastly different).
…..afaik .10 was the one that supported the change group to send command (‘>’) which it made use of.

Please note that I have not used the redis /node.js version of HouseMon in over 18months….but my notes are still online and in the relevant forum posts.

—lightbulb

RE: Very late to your party - Added by JohnO over 2 years ago

Thanks @lightbulb:

lightbulb wrote:
> That Briq I knocked up (rf12demo-readwrite) could be loaded multiple times, 1 per group and uses the additional parameters to help map the relevant routing.

Would that need multiple JeeLink devices? I was hoping to use a single JeeLink configured to Group 0. This works well now on the RFM69 hardware.

> It needed RFDemo.9 or .10 if I remember (but may work with the latest version if the version string format and functionality is NOT vastly different).

I needed a slight tweak on my version of RF12Demo.

> Please note that I have not used the redis /node.js version of HouseMon in over 18months….but my notes are still online and in the relevant forum posts.

I didn’t get it working way back but with @jcw’s “Dive In” I have most of it up and running. Is there a latest greatest version?

Running with a single group how does HouseMon know which decoder to apply to RF12Demo data stream? Is there a flow chart of the steps to plumb in a node to be decoded - RoomNode in my case.

RE: Very late to your party - Added by lightbulb over 2 years ago

@JohnO,

From my creaky memory I’ll try to answer now, when I get home I’ll review and update if needed:

> Would that need multiple JeeLink devices? I was hoping to use a single JeeLink configured to Group 0. This works well now on the RFM69 hardware.

It (rf12readwrite + rfdemo shell) was originally meant for multiple jeelinks (using diff freq 915, 868, 433etc) on multiple serial ports
It would sit on a ‘home’ group for listen but be able to switch for sending packets.
You could load multiple instances of the briq for multiple listening groups - but expected multiple ‘jeelinks’.
(This is because at that stage RFDemo did not by default include the receiving ‘group’ as part of the packet output, but rather it was read from the header when it saw the version string and assumed all packets came from that group - i think to get that (grp) the node had to be switched specifically to group 0 to provide that in packet output, but was not widely used at that time, so not directly supported in the briq)

>
> > It needed RFDemo.9 or .10 if I remember (but may work with the latest version if the version string format and functionality is NOT vastly different).
>
> I needed a slight tweak on my version of RF12Demo.

I guessed you did.

>
> > Please note that I have not used the redis /node.js version of HouseMon in over 18months….but my notes are still online and in the relevant forum posts.
>
> I didn’t get it working way back to @jcw’s “Dive In” got most of it up and running. Is there a latest greatest version?
>
Althought the node/redis version functions I think it has been in a frozen state for a long while (not checked) although I see some users are still using it especially with readwrite briq. It was more an experimental ‘moment in time’ thing I feel.

I myself use a variant of HouseMon running using the ‘go’ compiler, originally started by JCW.
Its vastly different than the node version but much more efficient and frugal.
I use both a Rapberry PI and a beaglebone black for my variants with a small 7" android tablet for control embedded in a wall bracket. The devices do not break a sweat and I monitor/control an awful lot of the environment.
I use both RFM12/69 and SRF and Nordic trancievers as well as BLE modems which together gives my system a full set of eyes and ears.

> Running with a single group how does HouseMon know which decoder to apply to RF12Demo data stream?
It will not know, as by default it does not know to extract the rec’d group on every packet - assuming it is the same as that reported by the original version string. It could easily (from memory) be modified to support the extraction of the group from the packet when using the permissive grp 0 mode.

>Is there a flow chart of the steps to plumb in a node to be decoded - RoomNode in my case.
Hmm, there is/was a coffee file that contains the node to freq/nodeid mappings, assuming your jeelink was reporting packets on 868Mhz you would add a mapping line in that file to map a packet from 868,212,11 to Roomnode, where 868 and 212 were picked up from the RFDemo version string. To use grp 0, you would need to revamp the serial extraction shell code to extract the grp from the packet by packet output.

This is all old stuff to me now - but I’ll take another look when I get home and provide additional info if I can add anything further.

—lightbulb

RE: Very late to your party - Added by JohnO over 2 years ago

I have found nodeMap.coffee and now created nodeMap-local.coffee:

exports.rf12nodes = 
     212:
       3: 'roomNode'

exports.rf12devices =
  'ttyUSB0':
    recvid: 3
    group: 212
    band: 868

exports.locations =
  'RF12:212:3': title: 'Room Node 3'

RE: Very late to your party - Added by lightbulb over 2 years ago

@JohnO,

That sounds like the one, the issue you will have I think, using grp 0, will be that you will likely have to add something like:
‘RF12:0:3: title: ’Room Node 3’, but then the same nodeid on different grp’s will overlay each other unless you modify the rf12demo driver to extract the grp (for grp0) on a node by node basis.
i.e
nodeid 3 on 212 will be treated identically to nodeid 3 on 200 when using grp 0, as the driver will pass off both as grp 0 without code modifications.

This was all seemingly a long time ago - how time flies…….

—lightbulb

RE: Very late to your party - Added by JohnO over 2 years ago

I am just trying group 212 for the moment still nothing showing up.

I did try a group 0 JeeLink but there were a lot of messages that told me the front end didn’t like it at all.

RE: Very late to your party - Added by JohnO over 2 years ago

Demo appears to work, I enter “3,s” on a RF12Demo node and I get 3 appearing on my Demo web page. It supports an 8 bit number.

Still no joy with RoomNode data.

RE: Very late to your party - Added by JohnO over 2 years ago

When there is room node activity I see “ss-store” only:

[17/10/14 - 18:14:37:879] â event:all ss-tick
[17/10/14 - 18:14:38:880] â event:all ss-tick
[17/10/14 - 18:14:39:894] â event:all ss-tick
[17/10/14 - 18:14:40:081] â event:all ss-store
[17/10/14 - 18:14:40:908] â event:all ss-tick
[17/10/14 - 18:14:41:907] â event:all ss-tick
[17/10/14 - 18:14:42:923] â event:all ss-tick
[17/10/14 - 18:14:43:922] â event:all ss-tick
[17/10/14 - 18:14:44:924] â event:all ss-tick
[17/10/14 - 18:14:45:938] â event:all ss-tick
[17/10/14 - 18:14:46:937] â event:all ss-tick
[17/10/14 - 18:14:47:952] â event:all ss-tick
[17/10/14 - 18:14:48:950] â event:all ss-tick
[17/10/14 - 18:14:49:957] â event:all ss-tick
[17/10/14 - 18:14:50:972] â event:all ss-tick
[17/10/14 - 18:14:51:970] â event:all ss-tick

RE: Very late to your party - Added by JohnO over 2 years ago

I am guessing that the status and the graphs briqs display the RoomNode stats - probably not based on my results.

[17/10/14 - 18:17:33:385] extending nodeMap with /root/housemon/briqs[17/10/14 - 18:17:33:385] /nodeMap-local.coffee
[17/10/14 - 18:17:39:786] briqs loaded
[17/10/14 - 18:17:39:817] storage size ~ 8890 bytes
[17/10/14 - 18:17:40:020] â event:all ss-store
[17/10/14 - 18:17:40:020] â event:all ss-store
[17/10/14 - 18:17:40:036] â event:all ss-store
[17/10/14 - 18:17:40:036] â event:all ss-store
[17/10/14 - 18:17:40:051] â event:all ss-store
[17/10/14 - 18:17:40:051] â event:all ss-store
[17/10/14 - 18:17:40:067] â event:all ss-store
[17/10/14 - 18:17:40:067] â event:all ss-store
[17/10/14 - 18:17:40:083] â event:all ss-store
[17/10/14 - 18:17:40:083] â event:all ss-store
[17/10/14 - 18:17:40:098] â event:all ss-store
[17/10/14 - 18:17:40:098] â event:all ss-store
[17/10/14 - 18:17:40:114] â event:all ss-store
[17/10/14 - 18:17:40:114] â event:all ss-store
[17/10/14 - 18:17:40:114] â event:all ss-store
[17/10/14 - 18:17:40:129] â event:all ss-store
[17/10/14 - 18:17:40:129] â event:all ss-store
[17/10/14 - 18:17:40:129] â event:all ss-store
[17/10/14 - 18:17:40:145] â event:all ss-store
[17/10/14 - 18:17:40:145] â event:all ss-store
[17/10/14 - 18:17:40:161] â event:all ss-store
[17/10/14 - 18:17:40:161] â event:all ss-store
[17/10/14 - 18:17:40:161] â event:all ss-store
[17/10/14 - 18:17:40:176] â event:all ss-store
[17/10/14 - 18:17:40:176] â event:all ss-store
[17/10/14 - 18:17:40:192] â event:all ss-store
[17/10/14 - 18:17:40:192] â event:all ss-store
[17/10/14 - 18:17:40:192] â event:all ss-store
[17/10/14 - 18:17:40:270] install briq sysinfo
[17/10/14 - 18:17:40:270] â event:all ss-store
[17/10/14 - 18:17:40:285] install briq drivers
[17/10/14 - 18:17:40:285] â event:all ss-store
[17/10/14 - 18:17:40:301] install briq status
[17/10/14 - 18:17:40:301] â event:all ss-store
[17/10/14 - 18:17:40:301] install briq graphs
[17/10/14 - 18:17:40:301] â event:all ss-store
[17/10/14 - 18:17:40:317] install briq reset
[17/10/14 - 18:17:40:317] â event:all ss-store
[17/10/14 - 18:17:40:317] install briq logger
[17/10/14 - 18:17:40:332] â event:all ss-store
[17/10/14 - 18:17:40:332] install briq rf12demo:ttyUSB0
[17/10/14 - 18:17:40:707] â event:all ss-store
[17/10/14 - 18:17:40:707] install briq demo
[17/10/14 - 18:17:40:722] â event:all ss-store
[17/10/14 - 18:17:44:197] â event:all ss-store
[17/10/14 - 18:17:44:197] â event:all ss-store
[17/10/14 - 18:17:44:213] â event:all ss-store
[17/10/14 - 18:17:44:213] â event:all ss-store
[17/10/14 - 18:17:44:229] â event:all ss-store
[17/10/14 - 18:17:44:229] â event:all ss-store
[17/10/14 - 18:17:44:244] â event:all ss-store
[17/10/14 - 18:17:44:244] â event:all ss-store
[17/10/14 - 18:17:44:260] â event:all ss-store
[17/10/14 - 18:17:44:260] â event:all ss-store
[17/10/14 - 18:17:44:275] â event:all ss-store
[17/10/14 - 18:17:44:275] â event:all ss-store
[17/10/14 - 18:17:44:291] â event:all ss-store
[17/10/14 - 18:17:44:307] â event:all ss-store
[17/10/14 - 18:17:44:307] â event:all ss-store
[17/10/14 - 18:17:44:322] â event:all ss-store
[17/10/14 - 18:17:44:322] â event:all ss-tick
[17/10/14 - 18:17:44:400] â event:all ss-store
[17/10/14 - 18:17:44:400] â event:all ss-store
[17/10/14 - 18:17:44:416] â event:all ss-store
[17/10/14 - 18:17:44:416] â event:all ss-store
[17/10/14 - 18:17:44:416] â event:all ss-store
[17/10/14 - 18:17:44:431] â event:all ss-store
[17/10/14 - 18:17:44:431] â event:all ss-store
[17/10/14 - 18:17:44:447] â event:all ss-store
[17/10/14 - 18:17:44:447] â event:all ss-store
[17/10/14 - 18:17:44:447] â event:all ss-store
[17/10/14 - 18:17:44:463] â event:all ss-store
[17/10/14 - 18:17:44:463] â event:all ss-store
[17/10/14 - 18:17:44:478] â event:all ss-store
[17/10/14 - 18:17:44:478] â event:all ss-store
[17/10/14 - 18:17:44:494] â event:all ss-store
[17/10/14 - 18:17:44:494] â event:all ss-store
[17/10/14 - 18:17:44:494] â event:all ss-store
[17/10/14 - 18:17:44:509] â event:all ss-store
[17/10/14 - 18:17:44:509] â event:all ss-store
[17/10/14 - 18:17:44:525] â event:all ss-store
[17/10/14 - 18:17:44:525] â event:all ss-store
[17/10/14 - 18:17:44:541] â event:all ss-store
[17/10/14 - 18:17:44:556] â event:all ss-store
[17/10/14 - 18:17:44:572] â event:all ss-store
[17/10/14 - 18:17:44:572] â event:all ss-store
[17/10/14 - 18:17:44:697] â event:all ss-store
[17/10/14 - 18:17:44:697] â event:all ss-store
[17/10/14 - 18:17:44:712] â event:all ss-store
[17/10/14 - 18:17:44:712] â event:all ss-store
[17/10/14 - 18:17:44:728] â event:all ss-store
[17/10/14 - 18:17:44:728] â event:all ss-store
[17/10/14 - 18:17:44:744] â event:all ss-store
[17/10/14 - 18:17:44:744] â event:all ss-store
[17/10/14 - 18:17:44:760] â event:all ss-store
[17/10/14 - 18:17:44:760] â event:all ss-store
[17/10/14 - 18:17:44:776] â event:all ss-store
[17/10/14 - 18:17:44:791] â event:all ss-store
[17/10/14 - 18:17:44:791] â event:all ss-store
[17/10/14 - 18:17:44:807] â event:all ss-store
[17/10/14 - 18:17:44:885] downloads /logger ./logger
[17/10/14 - 18:17:44:932] â CSS files changed. Updating browser...
[17/10/14 - 18:17:44:932] â Client files changed. Reloading browser..[17/10/14 - 18:17:44:932] .
[17/10/14 - 18:17:45:337] â event:all ss-tick
[17/10/14 - 18:17:46:336] â event:all ss-tick
[17/10/14 - 18:17:47:336] â event:all ss-tick
[17/10/14 - 18:17:48:350] â event:all ss-tick
[17/10/14 - 18:17:49:348] â event:all ss-tick
    (1-12/12)