Rtl_433: Add Blueline PowerCost Monitor

Created on 2 Jan 2020  Â·  15Comments  Â·  Source: merbanan/rtl_433

Documentation : https://static.hydroottawa.com/documents/residential/conservation/pdf/peaksaver_user_guides/8-Energy-Display-Installation-Guide-EN.pdf

I'm a bit confused as there is reference to rtl_433 ( https://github.com/CapnBry/Powermon433/blob/master/arduino/Powermon433/Powermon433.ino ) but it's not a supported device. Perhaps the author meant he used rtl_433 to do the decoding.

I'm willing to capture the samples and submit to test repo. Based on the code above, I am using this

-X "name=blueline,modulation=OOK_MC_ZEROBIT,short=500,long=1000,r=58000"

Does that seem accurate?

device support

Most helpful comment

s/power/energy/

All 15 comments

FCC : Data obtained by an IR-reader/sensor is transmitted in form of short bursts every 28.5 to 31.5 seconds on 433.92 MHz (single frequency). The carrier is On/Off pulse modulated (logic ‘1’: 0.5ms TX-on followed by 2ms TX-off, logic ‘0’: 0.5ms TX- on followed by 4ms TX-off).

http://scruss.com/blog/2013/12/03/blueline-black-decker-power-monitor-rf-packets/

So you can just clean up the old code from the above branch.

I think I have a valid packet captured. The ON period is 2ms, not 0.5ms as described in the FCC filing, but it has matching OFF periods of 2ms or 4ms.

Can I ask why these produce the same results? Swapping short and long values in the decoder string?

````
greg@biglenny:~/rtl_433_tests/tests/blueline/lime-outside$ rtl_433 -r g010_433.92M_1000k.cs16 -X "name=blueline,modulation=OOK_PPM,short=2000,long=4000,gap=7000,reset=350000"


time : @0.134372s
model : blueline count : 2 num_rows : 2 rows :
len : 32 data : 010c99a8,
len : 0 data :
codes : {32}010c99a8, {0}


time : @0.549692s
model : blueline count : 2 num_rows : 2 rows :
len : 32 data : 01f2bcd5,
len : 0 data :
codes : {32}01f2bcd5, {0}
````

````
greg@biglenny:~/rtl_433_tests/tests/blueline/lime-outside$ rtl_433 -r g010_433.92M_1000k.cs16 -X "name=blueline,modulation=OOK_PPM,short=2000,long=4000,gap=7000,reset=350000"


time : @0.134372s
model : blueline count : 2 num_rows : 2 rows :
len : 32 data : 010c99a8,
len : 0 data :
codes : {32}010c99a8, {0}


time : @0.549692s
model : blueline count : 2 num_rows : 2 rows :
len : 32 data : 01f2bcd5,
len : 0 data :
codes : {32}01f2bcd5, {0}
````

That example might get the wrong results, you do need -s 1M. Both examples look the same? Copy/paste error?

Sorry, I made a copy/paste error.

One was short=2000,long=4000, the other was short=4000,long=2000, but the output is the same. But it should be interpreting the bits differently (inversely), no?

For PPM short and long will only result in a threshold (6000 here) if no tolerance value is used.

Blueline PowerCost monitor added by #1580
This issue can probably be closed

I'm unable to enable this filter for rtl_433:

~/rtl_433/build/src/rtl_433 -R 176

Then the output interestingly:

Registered 1 out of 176 device decoding protocols [ ]

Adding a second random protocol with -R 1:

Registered 2 out of 176 device decoding protocols [ 1 ]

rtl_433 -R 176:auto should give you the key. And then rtl_433 -R 176:"key" should work.

I've read the PR to try and get a better understanding of what's happening.

I've run it with -R 176:auto, it picked up the first few - then I ran outside and pressed the button on the device. None of these seem to be the key?

Allocating 15 zero-copy buffers
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:07:40
model     : Blueline PowerCost Monitor             id        : 12080
gap       : 5281         mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:12
model     : Blueline PowerCost Monitor             id        : 12080
impulses  : 531          mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:12
model     : Blueline PowerCost Monitor             id        : 12080
impulses  : 531          mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:12
model     : Blueline PowerCost Monitor             id        : 12080
gap       : 5489         mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:22
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:23
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:23
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:23
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:27
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:27
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:27
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:08:27
model     : Blueline PowerCost Monitor             id        : 12080
mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:09:13
model     : Blueline PowerCost Monitor             id        : 12080
gap       : 5617         mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:09:14
model     : Blueline PowerCost Monitor             id        : 12080
gap       : 5617         mic       : CRC
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2021-01-18 10:09:14
model     : Blueline PowerCost Monitor             id        : 12080
gap       : 5617         mic       : CRC

Unless id is the key? Also, I think the missing "gap" is the packets when I pushed the button (twice).

Aha, note to future people following the breadcrumps - read the comments in the source file for an exhaustive description of steps to follow and what is going on, as well as how to calculate kWh - https://github.com/merbanan/rtl_433/blob/master/src/devices/blueline.c

I'm good to go - wonderful work by everyone involved. Looks like a lot of work was needed to get past the traditional stateless decoding, hopefully paving the way for future peculiar devices :)

And, here it is pulled in to Home Assistant, using rtl_433 with the MQTT function.

  - platform: mqtt
    name: "Power Consumption"
    state_topic: "rtl_433/Blueline_PowerCost_Monitor/12080/gap"
    unit_of_measurement: 'kWh'
    value_template: "{{ '%.2f'%(3600 / (value | float)) | float }}"

image

s/power/energy/

pe

Was this page helpful?
0 / 5 - 0 ratings

Related issues

loengrin2000 picture loengrin2000  Â·  15Comments

gcormier picture gcormier  Â·  15Comments

ALEEF02 picture ALEEF02  Â·  9Comments

DeadEnded picture DeadEnded  Â·  5Comments

Tehrasha picture Tehrasha  Â·  8Comments