I have written a new driver for my XC0422 weather station (which I believe 
is a WS1001 and HP1000 clone). It talks directly to the console via the 
WiFi connection using TCP sockets with no packet sniffing or other 
interception techniques. I'm looking for some advice on some final 
'finishing touches' and how to make it available to others if they are 
interested.

I have been running it on my Weewx Raspberry Pi (along with a Nginx web 
server) for some months now and the driver code would seem to be reliable.

The console continues to send its packets to WU and the additional 
connection by my driver does not (seem to) interfere with this, nor the 
other way around.

As I said, it makes a direct connection to the console so I've found that 
it helps to be on the same subnet to avoid any router blocking of the 
broadcast messages it uses to initially find the console. After that it 
makes a direct connection to the console and exchanges TCP packets with it.

The Console allows you to select various units for wind speed (including 
Beaufort!), temperature, pressure, rain and solar radiation and the driver 
will read the settings from the console each time when it makes connection. 
If a connection is lost, then the driver restarts broadcasting again and 
trying to reconnect.

Because I live in a metricated country, the packet that is created is in 
METRICWX units. Many of the existing drivers seem to have this hard coded 
in the 'genLoopPackets' function but is there a better way to pick this up? 
If not then I believe that my code picks up the settings from the console 
for all values with differing units and other variables (such as humidity 
and wind direction) are pretty much standard across the various measurement 
systems.

At present the code includes 'testing code' that I've used to confirm that 
the various unit transformations all work, and this is controlled by a 
single class boolean variable. Is it better to leave this code in there for 
others to check things out or should it be removed to make the code easier 
to understand?

Finally, how is the best way to let others know of this driver so they can 
try it out for themselves? I'd love for others to try it out on branded 
WS1001 and HP1000 WiFi consoles to make sure that it works as I think it 
will.

Thanks

Susan

Reply via email to