New wireless probe system


 

Bryan Mayland

TVWBB Hall of Fame
For those who don't follow the git changelog, I've rewritten the wireless probe code in HeaterMeter. The old system was based on the jeenode protocol was great except it limited the transmitters to only custom-built devices. The new code reads data from La Crosse Technology Wireless Weather Stations which I figure integrates more easily with devices that are more general purpose and widely available. In addition, I've simplified the configuration process for users with just one transmitter by allowing you to just select "any" as the transmitter ID. Tested with TX29 transmitters but it should work on several other models from what I see on the internet. Probably not their mega super weatherstations though, as the packet format is slightly different. Changes might be able to be made to accommodate them though.

The down side to using their protocol instead of my own:
-- You no longer get an exact measurement of the battery level on the remote transmitters. There is only a "low battery" flag in their protocol.
-- I can't tell if packets are missed, which is the way I gauged the reception quality. That was a little hokey anyway, but now I use the "strong signal" flag from the wireless chip, which is probably better but is fixed at -91dBm currently.

Code for HeaterMeter, LinkMeter, and the web interface is now in git. I haven't updated the lmremote yet-- I should have that done in a few days. Also on the todo list still is a way to see what transmitters are available from the web interface (you can currently see it in JSON format at /lm/rfstatus, but I'd like a little HTML snippet to display it in a div or something).

Also unrelated, but also in git, when LinkMeter starts up it displays what it thinks is the primary IP address for the device on the HeaterMeter LCD. I'm sure we'll find this code always picks the wrong address to display, and ultimately will frustrate everyone to death until it is removed...
 
lmremote is now updated at github for the new rf system and should even be more accurate than it ever was. Also the config web page now lists available RF nodes. Like everything, it isn't pretty, but it works:
 
I have a La Crosse with a TX25U transmitter which appears to be interchangeable with the TX 29. Can you tell me how to setup LinkMeter so I can see it? I did not originally install the RF components on my V3.2 board, but decided to do so this week. I think I have everything required installed but do not see any available wireless transmitters in LinkMeter. So I guess either the TX25 isn't compatible, I didn't install something properly, or I just don't know what I'm doing in the setup. Thanks in advance.
 
First make sure you've got the latest HeaterMeter firmware (from the Firmware Upgrade -> 'Online Repository') and LinkMeter package. Depending on how old your LinkMeter was, you also might need to edit /etc/config/lucid and change the serial_baud from 115200 to 38400. You can do all this from a command line:
Code:
opkg install http://capnbry.net/linkmeter/snapshots/trunk/packages/linkmeter_2_brcm47xx.ipk
avrupdate http://capnbry.net/linkmeter/snapshots/trunk/heatermeter.cpp.hex
uci set lucid.linkmeter.serial_baud=38400
uci commit lucid
/etc/init.d/lucid restart
I just did these steps to upgrade my LinkMeter this morning and it (surprisingly) worked flawlessly.

Assuming you've got the latest firmware and everything is communicating, set one of your probes to type "RF12 Wireless" and check the "Any" node checkbox and apply the changes. The RF unit isn't initialized unless it is used, because attempting to initialize it if it isn't physically installed can lock up HeaterMeter. After you apply the changes, the "Available RF12 Transmitters" panel should appear. Assuming the transmitter is compatible you should see a Node appear (other than the "Receiver"). If you've got just one transmitter, you can be done at this point. The "Coefficients" and "Resistor" values are not used for IT+ transmitters. If you have multiple, change the Node ID in the probe config to match the transmitter you want to use. You can identify which transmitter is which by removing the batteries from one and putting them back in, and "New" will say "Yes" for that transmitter.

If your transmitter is incompatible, the receiver "Qual" will probably slowly go negative and stay there. If that's the case then maybe I can look at getting support for your transmitter, with your help.
 
I followed your steps above and both LinkMeter and HeaterMeter updated fine. Once updated I set Probe 3 to RF 12 and node to "any" and applied the changes. Once I did that I could see between 1 and 3 nodes. One of the nodes always had a good signal and battery and was always present, the other two were poor. The receiver Qual would show upwards of +90. With "Any" node selected Probe 3 would cycle between a few temperatures for a minute or so then settle in on a temperature about 20 degrees warmer than my LaCrosse displayed. None of the temps displayed during the cycling matched my LaCrosse. If I entered in one of the node numbers and applied changes Probe 3 would show "off" as it's status. When I pulled the batteries out of my LaCrosse all of the nodes would disappear, and they would reappear with the batteries back in. Is this what you see with yours? Do you have to put in an offset for this wireless probe? Thanks
 
It sounds like it is a different protocol but close enough that HeaterMeter thinks it is the same. My TX29 just shows one Node ID and the numbers are offset by 40 degrees C (00.0C is transmitted as 400). They might be using the "spare bit" (a bit in the transmission which noone has any documentation for) to indicate continuation of some sort? That would confuse HeaterMeter because I use that to detect if it is a native IT+ unit.

If you want, if I can ssh into your LinkMeter, I can upload some code to figure out what the differences are and probably get it working. PM me if you're interested.
 
This should be fixed now, thanks to Andrew. Only one of the two temperature probes on the TX25U is supported at this time, due to the inability to configure HeaterMeter to assign them separately.
 
Bryan,

At what temperature does the LM stop displaying the IT+ temperature? It is about 10 degrees here right now. I started up the LM and everything works great except my ambient temp reading from the IT+ just says "off". I have a good signal from the IT+ and it is setup properly. I brought the transmitter inside , let it warm up and put new warm batteries in it. I disabled the IT+ in the LM and let it wait for a little bit before trying to find it again. Once the transmitter was warmed up the LM found the IT+ and I got a reading on the LM that matched. I went ahead and put the transmitter back outside and watched the temp drop. The LM and IT+ receiver both showed the same temps as it dropped. At 32.4 degrees the LM stopped displaying the temp and went back to saying "off". Is ~32 the lower limit of what the LM will display? The transmitter is still sending temps to the IT+ receiver.

Thanks
 
The bug is that when it crosses 0 celcius, HeaterMeter interprets that as "I can't take a reading" and turns it off. I fixed this a month ago but it isn't in github or the releases yet. Should be this week.
 
Bryan, I've looked a bit. Is there a tutorial on building the system to be wireless? I've had a bit of trouble finding it.
 
There isn't because there didn't seem to be enough interest.

What you'd do is build a LMRemote Node with support for as many probes as you want to be wireless. Then install the lmremote sketch on it. On HeaterMeter itself all you need to do is solder the RFM12B radio the the board, add an antenna wire, and it is good to go.
 

 

Back
Top