View Code? Open in Web Editor
NEW
Bindings for Davis Vantage Pro and Pro2 weather stations, upload of weather data (e.g. wunderground.com, pwsweather.com), and meteorological calculation/conversion functions.
License: GNU General Public License v3.0
Python 98.94%
Makefile 1.06%
pyweather's People
pyweather's Issues
It should be appropriate to set the time of the console with the serial command SETTIME
.
Similar to what was done in 2b32c0f
Feature request to enable PWSweather.com support.
So I realize there hasn't been a lot of activity on this project, but thought this might be solved by a quick upload. Right now there is an entry for weather on PyPi but no actual downloads listed.
Current workaround is to install using git+git://github.com/cmcginty/PyWeather
but would love to see it installable via PyPi.
PyWeather incorrectly assumes that archive data can be safely erased. There is no way to disable this through the API.
I've been running pyweather forever and it has just worked. Until now. I don't see anything wrong on my account but I am getting authentication error:
weatherpub.py.weather.services._base DEBUG - Connect to: http://weatherstation.wunderground.com
weatherpub.py.weather.services._base DEBUG - GET /weatherstation/updateweatherstation.php?dateutc=2022-09-22+13%3A58%3A05&softwaretype=PyWeather&tempf=66.4&windspeedmph=0&baromin=29.424&rainin=0.0&humidity=95&winddir=117&action=updateraw&dailyrainin=0.0&dewptf=64.8903366236&PASSWORD=XXXX&ID=KNHNASHU20
weatherpub.py.root WARNING - publisher Wunderground: Server returned invalid status: 401 Unauthorized unauthorized
I suspect the API or the endpoint changed?
It would be nice to have a flag option to switch between imperial and metric measurement system
raise NoDeviceException ('Can not access weather station' )
# TODO: this will overwrite the last archived record with the newest record.
# Is this the expected behavior?
fields ['Archive' ] = self ._get_new_archive_fields ()
It should be possible to get all archive entries
The following lines are trying compare bytes (ack
) with a string self.ACK
ack = self .port .read (len (self .ACK )) # read ACK
log_raw ('read' , ack )
if ack != self .ACK :
return # if bad ack, return
The following line gives problems as it is trying to encode some bytes.
log .debug (msg + ': ' + raw .encode ('hex' ))