I have developed an API based driver for the Ecowitt GW1000 WiFi Gateway. 
So what? Well the current means of receiving data from the GW1000 involves 
the GW1000 pushing data that is then parsed/processed by the interceptor 
driver and loop packets emitted. This API based driver uses a pull 
methodology where the GW1000 API is polled at a user specified interval and 
the API response is then used to generate loop packets. Use of the API also 
gives access to sensor battery data and allows some interrogation of the 
GW1000/sensor state.

I have developed the driver without direct access to the API so I am sure 
there will be some issues with it, most likely to do with device/sensor 
state info and possibly sensors I don't have access to. I have tested it 
against GW1000/WH31/WH32/WH41/WH51/WH57 sensors. The driver can be operated 
as a traditional WeeWX driver that emits loop packets but can also be 
operated as a WeeWX service that augments loop packets with GW1000 data. 
The driver will operate under WeeWX 4.x python 2 and 3 and under WeeWX 
3.9.x (probably some earlier 3.x versions as well).

The driver can be found on GitHub <https://github.com/gjr80/weewx-gw1000> 
and can be downloaded as an extension package from the releases tab 
<https://github.com/gjr80/weewx-gw1000/releases>. Installation and 
configuration is covered in the readme on the GitHub site or as included in 
the package as well as in the up front comments in the driver file gw1000.py. 
The driver can be run directly without the overheads of a running instance 
of WeeWX (WeeWX must be installed though). You can also run the driver 
directly while WeeWX continues to operate without interfering with the 
running WeeWX instance.

I would welcome anyone who wants to try the driver. If you do want to try 
it I would recommend installing the driver extension package or just the 
driver file (gw1000.py), and then running the driver directly with the 
various command line options (I would not reconfigure WeeWX to use the 
driver until you have confirmed it configured and operating as expected). 
Once gw1000.py is in the user directory (/home/weewx/bin/user or 
/usr/share/weewx/user) you can run the driver directly by using:

$ PYTHONPATH=/home/weewx/bin python -m user.gw1000

or

$ python -m user.gw1000

depending on your WeeWX install. This should display the driver help. 
Depending on what python version(s) are installed on your system, and how 
your system is configured, you may need/want to change python to python2 or 
python3 in the above commands.

I would recommend exercising the various command line options before 
building up to --test-driver or --test-service. Only once you see the data 
you expect  should you move to reconfiguring WeeWX to use the 
driver/service. If some sensor data is missing or just plain wrong then 
that needs to be dealt with.

If you do run into problems, in particular if the driver is not returning 
expected data, run the driver with the --debug=3 command line option and 
post details of the problem and a log extract showing the driver debug info.

Gary

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-development+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/d7337d80-1964-4698-801c-540a4ae31fa6n%40googlegroups.com.

Reply via email to