Releases: gjr80/weewx-gw1000
v0.6.3
Most existing WH45 users will be affected by a change introduced in v0.6.3 aimed at correcting an anomaly in PM1 and PM10 field names/mapping introduced in v0.2.0. The WeeWX default schema, wview_extended, includes fields pm1_0
and pm10_0
; however, since v0.2.0 the Ecowitt gateway driver default mapping has caused fields pm1
and pm10
to be emitted. The Ecowitt gateway driver default field mapping aims, where possible, to emit fields using the same names as the default WeeWX schema (this results in such data being automatically saved to database without the need for the user to make any changes). Consequently, as of v0.6.3 the Ecowitt Gateway driver using the default field mapping now emits current PM1 and PM10 observations in fields pm1_0
and pm10_0
respectively. For consistency, similar changes have been made to the corresponding 24 hour average fields emitted by the gateway device.
Existing WH45 users should refer to the Upgrading to v0.6.3 section of the Ecowitt Gateway driver Upgrade Guide for details of action taken before using v0.6.3. New WH45 and WH46 users are not affected, nor are users who do not have WH45 or WH45 sensors.
Key v0.6.3 changes are:
- added support for WS85 sensor array
- added support for WH46 air quality sensor
- changed PM1 and PM10 output field names in default field mapping
- improved gateway device discovery
- added GW1200, WS3800, WS3900 and WS3910 to list of known models
- unknown gateway device models are now reported as 'unknown model' instead of 'None'
v0.6.1
v0.6.0
Many of the changes introduced in v0.6.0 are internal code restructures to support gateway device HTTP requests and other changes. v0.6.0 supports the Ecowitt LAN/Wi-Fi Gateway API as documented in the API documentation v1.6.1 of 15 January 2024.
As of v0.6.0 the extension package name format has been changed from a versioned name to simply 'gw1000'. The extension package format has also been changed from a tarball archive (.tar.gz) to a zip archive (.zip). The readme has been updated to reflect these changes. This change has been implemented to simplify release management, installation of the latest release and documentation.
v0.6.0 will be the last release that supports Python v2.7 with v0.7.0 and later supporting Python v3 only. v0.6.0 may be the last release to support WeeWX v4.x with v0.7.0 likely to support WeeWX v5 and later only.
Changes:
- package extension file for each release is now
gw1000.zip
rather than the previously used versioned tarball archive - implement device HTTP requests to obtain additional device/sensor status data not available via the Gateway API
- fix error in multi-channel temperature calibration data decode
- updated IAW Gateway API documentation v1.6.9
- added support for free heap memory field
- fixed issue that prevented use of the Ecowitt gateway driver as both a driver and a service under a single WeeWX instance
- added
wee_device
/weectl device
support - rename a number of calibration/offset related command line options to better align with the labels/names now used in the WSView Plus app v2.0.32
- implement
--get-mulch-t-cal
command line option to display WN34 temperature calibration data --firmware
command line option now displays gateway device and (where available) sensor firmware versions--firmware
command line option now displays any available gateway device firmware updates as well as firmware update notes/changes- driver now regularly checks for and logs any available gateway device firmware updates, firmware update checks are enabled using the
log_firmware_update_avail
config option - gateway device temperature compensation setting can be displayed using the
--system-params
command line option (for firmware versions GW2000 all, GW1100 > v2.1.2 and GW1000 > v1.6.9) - the discarding of non-timestamped and stale packets is now logged by the
GatewayService
whendebug_loop
is set ordebug >= 2
kilobyte
andmegabyte
are added to unit groupgroup_data
on driver/service startup- unit groups are now assigned to all WeeWX fields in the default field map that are not included in the default WeeWX
wview_extended
schema - removed
distutils.StrictVersion
dependency from installer
v0.5.0b5
The 0.5.0 release in the main adds support for the GW2000 gateway device and WS90 sensor array. It includes support for the Ecowitt LAN/Wi-Fi Gateway API as documented in the API documentation v1.6.4 of 5 March 2022. Other changes in v0.5.0 are as outlined below.
As the Ecowitt LAN/Wi-Fi Gateway API supports a number of gateway devices a number of changes have been included in the v0.5.0 release to remove reference to specific devices such as GW1000, GW1100 etc. These changes are largely internal or cosmetic in nature, eg instead of referring to one or more specific device models such as GW1000 reference is made to gateway device or gateway devices, and should have little impact on the user. Reference to specific a device model or models has been retained where such reference is applicable to that device or devices only. The driver file name remains gw1000.py and wee_extension still lists the driver as GW1000, but it is likely this will change in a future release.
v0.5.0b5 changes:
- removed gateway device field t_rainhour from the default field map
- --live-data output now indicates the unit group being used
- reworked WH40 battery state handling as follows:
- fake battery state data received from WH40 devices that do not emit battery state is now ignored and the value None is returned
- battery state data for WH40 devices that do emit battery state data is correctly decoded and returned
v0.5.0b4 changes:
- driver and service are now referred to as the Ecowitt gateway driver and Ecowitt gateway service rather than the former GW1000 driver and GW1000 service or GW1000/GW1100 driver and GW1000/GW1100 service
- added support for GW2000 gateway device
- added support for WS90 sensor platform
- WH40 and WH51 battery state data is now decoded as tenths of a Volt rather than as a binary
state - added mappings for WH34 battery and signal state data to the default field map meaning this data will now appear in WeeWX loop packets
- redesignated WH35 as WN35 (this is a sensor name change only, default mapping of WH35 sensor data is still to WeeWX fields leafWet1-leafWet8
- the gateway service now defaults to using a [GW1000Service] stanza but if not found will drop back to the legacy [GW1000] stanza
- the source of the gateway driver and gateway service log output is now clearly identified
- assigned WeeWX fields extraTemp9 to extraTemp17 inclusive to group_temperature
- implemented --driver-map and --service-map command line options to display the actual field map that would be used when running as a driver and service respectively
- default field map is now only appears in the log at startup when debug>=1
- internal non-piezo rainfall related fields renamed with a 't_' prefix, eg: 't_rainrate', 't_rainday'
- default field map now maps 't_' rainfall fields to the standard WeeWX rainfall related fields, eg: rainRate = t_rainrate
- added config option log_unknown_fields to log unknown fields found in a CMD_GW1000_LIVEDATA or CMD_READ_RAIN API response
- --get-all-rain-data command line options now displays rainfall data priority (this is experimental and currently only supported on devices running v1.7.1 firmware or later)
- fix issue where day rain and week rain use a different format in CMD_READ_RAIN to that in CMD_GW1000_LIVEDATA
v0.5.0b4
v0.5.0b2
v0.4.2
v0.4.1
v0.4.0
I originally intended to release v0.3.2 with a fix for the GW1000 v2.0.4 firmware problem; however, I decided to roll in a number of other updates I had in development. The resulting breadth of changes justified a point release so hence I have released this as v0.4.0 rather than the advertised v0.3.2.
Ecowitt has released WN34 and WN35 sensors which were previously (and still are) named as WH34 and WH35 in the API documentation. The GW1000 driver supports both sensors but as WH34/WH35 not WN34/WN35. I have held over changes that will rename the wh34 and wh35 fields to wn34 and wn35 respectively as this has database field implications. Similarly, I have held over the change of WH51 battery state data from binary (0=OK, 1=low) to an absolute voltage due to the database implications. I expect both these changes to be included in the next release.
Changes:
- Fixed bug when operated with GW1100 using firmware v2.0.4.
- The device model (GW1000/GW1100) is now identified via the API so many references to 'GW1000' in console and log output should now be replaced with the correct device model.
- When used as a driver the driver
hardware_name
property now returns the device model instead of the driver name (GW1000). The follow on from this is that when using the GW1000 driver as a driver the tag$station.hardware
will display the device model (ie GW1000 or GW1100) when used in a WeeWX report. - Reworked processing of queued data by
class Gw1000Service()
to fix a bug resulting is intermittent missing GW1000 data when operated as a service. - Battery state data is now set to
None
for sensors with signal level == 0, can be disabled by setting optionshow_all_batt = True
under[GW1000]
inweewx.conf
or by use of the--show-all-batt
command line option if running directly. - The units used when displaying
--live-data
can now be controlled by the--units
command line option. Th eunits displayed are the default units in each WeeWX unit system, ie US customary (--units=us
), Metric (--units=metric
) and MetricWx (--units=metricwx
) --live-data
output is now formatted and labelled using WeeWX default formats and labels except for voltage which is displayed with two decimal places.- Fixed some incorrect command line option descriptions.
- Implemented limited sensor debug log reporting via the
debug_sensors
config option. - Implemented wind debug log reporting via the
debug_wind
config option. - Refactored rain debug log reporting via the
debug_rain
config option to report both WeeWX and GW1000 rain related fields. - Implemented a separate
broadcast_timeout
config option to allow an increased socket timeout when broadcasting for GW1000/GW1100 devices. Default value is five seconds. - A device is now considered unique if it has a unique MAC address (was formerly unique if IP address and port combination were unique).
- Minor reformatting of
--discover
console output. - WH24 battery and signal state fields are now included in the default field map.