WH1080 Weather Station Integration
Maplin WH1080 has arrived and it is indeed labelled as 433.9mhz....
from what i can tell some units were also supplied as 433mhz as well as 868mhz despite the possible incorrect labelling
Hi Steve,
I did indeed - and it does appear to be a 433mhz module Amplitude-Shift keying (OOK) - https://www.dropbox.com/s/74cljlrsiqmz5h3/2013-03-02%2019.45.09.jpg?m
I will get myself a DHT22 from Ebay with the rest of the kit to play around with
I would say the dual node use OOK / FSK isnt too much of an issue for us with the 433mhz versions as i wont be able to use them as Roomnodes using the 868mhz RFM12B modules
one thought, what mods do i need to make to your code for 433mhz use? just the below?
CONFIGURATION EL,EF,868 band,12.5pF // iT+ 915 80f8
rf12_xfer(0xA67c); // a67c FREQUENCY SETTING 868.300
thanks
Andrew
> @derek, from earlier post's, did you receive your weather station as the same from Maplin? was it 433 or 868?
I did buy one of these from Maplin earlier last year. sadly, it's still in the box. The box is in the basement (somewhere) ... probably smothered by a load of other boxes of 'stuff'.
This is an intresting thread. I hope that everything here might be distilled into a 'project writeup'.
Cheers,
Derek.
Nice bit of code, unfortunately mine is the older 433MHz OOK unit. The code is handy fo showing what data is being whizzed arounf the house though :)
Hi Steve,
thanks for the update - Mine is the same as Marks (we purchased the same model - 433mhz) i hope to make a start in a few weeks
Andrew
Just dug out the box. It's marked as a Maplin Part #N96GY
Instruction book says it uses 433MHz.
I finally got some code to work on a roomnode with an OOK 433MHz receiver module attached to one of the analog ports. This is now decoding the WH1080 transmissions. I have the transmissions decoded to give me temperature, humidity, avg wind speed, gust wind speed and rain fall.
Just testing the code for leaks before I release it.
Got a full packet stream. State change to 3
State (should be four): 4
Spacing: 48 secs
This Packet count: 10
Total Full Packets: 42
A3 B2 49 38 00 00 00 00 80 crc: GOOD
Sensor ID: 0xA3B
Humidity: 56%
Wind Speed 0 m/S
Wind Direction N
Temperature: 18.5 C
Good job Mark. With this lot decoded, it sould be relatively straightforward to create a xAP endpoint to publish this info.
Reckon it's past time where there should be a page on the wiki to capture what is known about the WH1080. I'll get this done soon. Any code that you can share will be most welcome.
Cheers,
Derek.
Great work Mark :)
Will you be looking to add the DHT22 for internal pressure and temp? and Wind Chill / Dew point calcs?
Andrew
We would only really need air pressure. I'm not sure how useful the temperature would be. If the receiving node is in a normal room environment then ok but mine will be mounted inside the HAH box and I already have a temperature sensor in there. It can be added easily enough though.
As for calculating the windchill, that could be done in the node or as part of a lua script.
Here's the working code so far, it needs a little more tidying but it works for me.
Here's a screenshot of work in progress
Attachment | Size |
---|---|
WH1080_decoder.ino_.txt | 8.72 KB |
Thanks for sharing your code Mark.
I've tested it with my $33MHz OOK WH1081 from Maplin and it works fine.
Paul
I had the transmitter near to the mac while writing the code but now it's outside, I get nothing. The range on the receiver is quite poor despite having an aerial.
So my question is do I go down the route of trying it with an RFM in OOK mode and switching between OOK for WH1080 and normal mode for CC decoding?
Or does anyone know of a good 433MHz OOK receiver?
Hi Steve
I intend to use the node to receive both WH1080 and CC transmissions. To do that I either need a separate module for the WH1080 or switch the RFM over every 48secs to pick up the next transmission. I would rather miss a transmission from the WH than the CC so I would have to build up a list of CC transmissions and try to judge if switching to OOK for the WH would cause me to loose a CC pulse.
That is why I thought of using separate modules and using interrurpts to catch all data.
I have tried a 433MHz RFM and can pick up CC stuff and have also managed to pick up and decode the HAH RF transmissions using the RFM in OOK mode.
My third option would be to use a node with RFM modified for OOK to pick up WH1080 and HAH RF transmissions (the HAH transmissions are more of a check that something has been sent) plus another node for the CC.
Mark
Hiya Steve
The range is the issue. If the module was working well I would be happy to use that and an RFM12 for the CC on the same node. But the range is not good so I need to change something, I just can't decide which way to go yet.
I'll keep playing with the RFM12 ook mod and see if I can get any better results with that
Mark
Is your receiver still working well as it looks to be just what I need for a start? I am hoping to use your code as a basis for then passing on the info to a standard Jeenode based network. I have found a sketch for a 868mhz for the FSK version of the weather station and the plan is to "bolt" the 2 togther if possible - time to start learning some C.
I have downloaded the code you posted but it seems to have lots of "\"s in it. Would you mind reposting a clean version as I am sure I will miss some of these/dleet something else in cleaning them out and then.
Many thanks
Gary
Gary, there is a more up to date forum here http://www.homeautomationhub.com/content/wh1080-integration
There is code for the jeenode and a LUA script for the plugboard too.
much appreciated
No problem Gary and welcome to the forum. Any questions, feel free to ask. We're all beginners here (except Brett, Derek and a few others) :)
Andrew / Mark
It looks like I am having the same issue as Mark with background signals swamping the weather station (I wonder if it is my neighbour's weather station - sadly not managing to grab their signal - yet!)
I have dropped the sensitivity to -14dB and I seem to be able to grab a few more packets but am missing quite a few transmissions. Mark - I have attached a text file with some sample data if you fancied having a look to see what you think the issue might be. I seem to be getting a burst of possibly valid data but then it goes "out of range".
I have also attached my current working copy of the sketch in which I have: added in some #if/#endif compile instructions to cut out code I will not need on the final version (I suspect I might start running out of space when I bolt in the RF and some sleep code); and updated to the latest Adafruit BMP085 driver code (have cropped the altitude calc to save some space). You will see I have a power pin defined for the BMP085 as the eventual goal is to to get this battery powered so every uA saved will help - I have not yet implemented turning the BMP085 on and off for readings or trying to sleep for, say, 30-40 seconds from a vaild transmission until the next which should be 48 secs later.
I have had a chance to check that I can transmit with the modded RFM12B using normal Jeelib messages and that seems to work (at least at short range). The next step is seeing if I can flip from listening with the modified RFM12B set up, to setting up the RFM12B for transmitting and then flipping back to listening. It seems possible - time to knock together a quick sketch and play with flipping the modes on the RFM12B and sending out a test signal.
Gary
Attachment | Size |
---|---|
WH1080weather_BMP085_2014_02_08v2.txt | 13.85 KB |
WH1080_test_data_2014_02_08.txt | 29.01 KB |
Gary, looking at the txt file you sent, I would say you are doing well with receiving data. Turn off debugging and serial and all you should see is the data that is intended for the WH1080 lua script.
Yes you get a lot of noise but you are 'listening' on the 433MHz spectrum and there are lots of things there (my car keyfob is, as is AndrewJ's doorbell)
If you get a data stream every 48seconds then you are doing well, the weather isn't going to change too quickly anyway.
P.S. when (if) you manage to get the code to switch from receive to transmit, you may want to incorporate the CurrentCost code in there as well ;)
P.P.S. nice bit of modding there, especially like the DEBUGMAX and it works for me too :)
Hi Gary,
Mark has already mentioned but that is a fairly clean log, not much in the way of noise in there at all.
before i decreased my gain to 14db i was picking up noise from not only the door bell and car key fobs but also baby monitors (we have 2) and probably much much more, the sheer signal flood was enough to miss any WH1080 transmission
just a thought on increasing your range, can you prehaps upgrade from a 1/4 to 1/2 or full wave lengh aerial ? or a proper whip
Thanks
Andrew
Mark/andrew
Many thanks. I might need to jump ship on using the Adafruit library for the BMP as I just cannot seem to get the payload data sent using the Jeelib library. I have just been trying a pure sending of BMP data using the OOK modded RFM12B.
Looks like I will need to use the Jeelabs PortsBMP version as there are quite a few examples of this kicking aorund but noone it seems is using Adafruit and a RFM12B to send on the data. Initial results are looking encouraging though but it will mean some serious rewriting
Gary
Looks identical to mine, except the LCD bezzle colour, should be good to go..
You could also try your luck on fleebay there's a few available over the next few days http://www.ebay.co.uk/itm/WH1080PC-Wireless-Weather-Station-PC-USB-Inter...
and this one has solar UV and LUX sensor :0... more rf packets to decode !!!
http://www.ebay.co.uk/itm/W-8681-SOLAR-Wireless-Weather-Station-with-Sol...
Steve