matthewwall / weewx-netatmo

weewx driver for netatmo weather station
GNU General Public License v3.0
7 stars 16 forks source link

"HTTP Error 400: Bad Request" getting data from Netatmo #4

Closed dmalitz closed 7 years ago

dmalitz commented 7 years ago

Hi!

I installed weewx and the Netatmo driver on my Raspberry Pi. I've been able to get weewx working fine in simulator mode, but haven't been able to get the Netatmo driver working. I looked at my SYSLOG (see end of my post below) and it is reporting "HTTP Error 400:Bad Request". So I assume that there's some problem retrieving data using the Netatmo API.

I checked /etc/weewx/weewx.config and noticed that the Netatmo section at the end of the file still had default values (e.g., "INSERT_USERNAME_HERE") in the four required keys. I tried manually updating those values in the config file with the correct username, password, client_id, and client_secret values, but that didn't fix the problem. I had originally used wee_config to set up those keys after I installed the Netatmo driver, so I don't know why they didn't get updated (or do they get updated somewhere else?).

Do you have any suggestions about what's wrong and how I can fix it?

Thanks!

-Dave

-----SYSLOG OUTPUT----- Dec 26 13:41:22 raspberrypi weewx[7827]: netatmo: netatmo-client: failed attempt 1 of 5 to get data: HTTP Error 400: Bad Request Dec 26 13:41:33 raspberrypi weewx[7827]: netatmo: netatmo-client: failed attempt 2 of 5 to get data: HTTP Error 400: Bad Request Dec 26 13:41:44 raspberrypi weewx[7827]: netatmo: netatmo-client: failed attempt 3 of 5 to get data: HTTP Error 400: Bad Request Dec 26 13:41:55 raspberrypi weewx[7827]: netatmo: netatmo-client: failed attempt 4 of 5 to get data: HTTP Error 400: Bad Request Dec 26 13:42:07 raspberrypi weewx[7827]: netatmo: netatmo-client: failed attempt 5 of 5 to get data: HTTP Error 400: Bad Request

dmalitz commented 7 years ago

I got past this issue by reinstalling weewx, so I'm going to close it.

matthewwall commented 7 years ago

i'm glad its working, but re-installing seems like a hard way to fix it.

by any chance did the password contain a comma or hash?

dmalitz commented 7 years ago

It doesn't contain a comma, but it does contain a question mark. Could this have been the problem?

Actually, I solved one problem (the HTTP error), but now I have a new one, possibly because I’m new to weewx and trying to find my way around. Currently, I’m using the standard report that gets written to INDEX.HTML. Previously, it wasn’t getting updated when I was getting the HTTP error, but now it is getting updated every 5 minutes. My problem is that the data don’t correspond to my Netatmo station. For example, it currently says that the outdoor temp is 30.2F, but the Netatmo app on my phone says 37.2.

My Netatmo account has two weather stations associated with it and the temp reported by weewx doesn’t correspond to either of them. Even if it was reporting data from my Netatmo account, how do I configure the app to report the correct station?

Thanks in advance for your help…much appreciated!

-Dave

On December 26, 2016 at 9:09:24 PM, Matthew Wall (notifications@github.com) wrote:

i'm glad its working, but re-installing seems like a hard way to fix it.

by any chance did the password contain a comma or hash?

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/matthewwall/weewx-netatmo/issues/4#issuecomment-269270693, or mute the thread https://github.com/notifications/unsubscribe-auth/AXomuTTr2xofIvPuCks6EadlWQaC8p09ks5rMJ2DgaJpZM4LV7eU .

matthewwall commented 7 years ago

it is possible that weewx is getting data from both stations and averaging the data.

in weewx.conf, set debug = 1

then restart weewx.

post the log from startup until after 15 or 20 minutes.

the sensor_map will distinguish which station you want. if you post the log then i can help you define the map.

dmalitz commented 7 years ago

Matthew-

I’ve attached my system log and my config file. Since these files have my personal identifiers, I hope you don’t mind that I’m emailing them to you rather than posting them.

As you can see, I’m back to my earlier error: HTTP Error 400. This started happening again after I edited the config file to set debug to “1”. I’m mystified, because the identifiers have the correct values — I double checked them. Also, I changed my Netatmo password so it no longer contains a question mark — my new password contains only alphanumeric characters.

I hope you can help me figure this out!

-Dave

On December 26, 2016 at 9:59:38 PM, Matthew Wall (notifications@github.com) wrote:

it is possible that weewx is getting data from both stations and averaging the data.

in weewx.conf, set debug = 1

then restart weewx.

post the log from startup until after 15 or 20 minutes.

the sensor_map will distinguish which station you want. if you post the log then i can help you define the map.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/matthewwall/weewx-netatmo/issues/4#issuecomment-269274435, or mute the thread https://github.com/notifications/unsubscribe-auth/AXomuVLmHpvFOismn_QG0Vb3VxxSo5o9ks5rMKlGgaJpZM4LV7eU .

Dec 27 12:05:37 raspberrypi systemd[1]: Starting LSB: weewx weather system... Dec 27 12:05:37 raspberrypi weewx[2536]: engine: Initializing weewx version 3.6.2 Dec 27 12:05:37 raspberrypi weewx[2536]: engine: Using Python 2.7.9 (default, Mar 8 2015, 00:52:26) #012[GCC 4.9.2] Dec 27 12:05:37 raspberrypi weewx[2536]: engine: Platform Linux-4.1.19-v7+-armv7l-with-debian-8.0 Dec 27 12:05:37 raspberrypi weewx[2536]: engine: pid file is /var/run/weewx.pid Dec 27 12:05:37 raspberrypi weewx[2540]: engine: Using configuration file /etc/weewx/weewx.conf Dec 27 12:05:37 raspberrypi weewx[2540]: engine: Initializing engine Dec 27 12:05:37 raspberrypi weewx[2540]: engine: Loading station type netatmo (user.netatmo) Dec 27 12:05:37 raspberrypi weewx[2526]: Starting weewx weather system: weewx. Dec 27 12:05:37 raspberrypi systemd[1]: Started LSB: weewx weather system. Dec 27 12:05:38 raspberrypi weewx[2540]: netatmo: MainThread: driver version is 0.6 Dec 27 12:05:38 raspberrypi weewx[2540]: netatmo: MainThread: sensor map is {'outHumidity': '.NAModule1.Humidity', 'wifi_status': '.NAMain.wifi_status', 'out_battery_vp': '.NAModule1.battery_vp', 'rainBatteryStatus': '.NAModule3.battery_percent', 'co2': '.NAMain.CO2', 'extra_battery_vp_1': '.NAModule4.battery_vp', 'outTempBatteryStatus': '.NAModule1.battery_percent', 'inTemp': '.NAMain.Temperature', 'wind_rf_status': '.NAModule2.rf_status', 'rain_total': '.NAModule3.sum_rain_24', 'windGustDir': '.NAModule2.GustAngle', 'noise': '.NAMain.Noise', 'rain_rf_status': '.NAModule3.rf_status', 'rain': '.NAModule3.Rain', 'extra_rf_status_1': '.NAModule4.rf_status', 'pressure': '.NAMain.AbsolutePressure', 'rain_battery_vp': '.NAModule3.battery_vp', 'extraHumid1': '.NAModule4.Humidity', 'extraTemp1': '.NAModule4.Temperature', 'extra1BatteryStatus': '.NAModule4.battery_percent', 'out_rf_status': '.NAModule1.rf_status', 'wind_battery_vp': '.NAModule2.battery_vp', 'windBatteryStatus': '.NAModule2.battery_percent', 'windDir': '.NAModule2.WindAngle', 'outTemp': '.NAModule1.Temperature', 'windSpeed': '.NAModule2.WindStrength', 'inHumidity': '.NAMain.Humidity', 'windGust': '.NAModule2.GustStrength'} Dec 27 12:05:38 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdTimeSynch Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdTimeSynch Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdConvert Dec 27 12:05:38 raspberrypi weewx[2540]: engine: StdConvert target unit is 0x1 Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdConvert Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdCalibrate Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdCalibrate Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdQC Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdQC Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.wxservices.StdWXCalculate Dec 27 12:05:38 raspberrypi weewx[2540]: wxcalculate: The following values will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=prefer_hardware, windrun=prefer_hardware, heatindex=prefer_hardware, maxSolarRad=prefer_hardware, humidex=prefer_hardware, pressure=prefer_hardware, inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, cloudbase=prefer_hardware Dec 27 12:05:38 raspberrypi weewx[2540]: wxcalculate: The following algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.wxservices.StdWXCalculate Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdArchive Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Archive will use data binding wx_binding Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Record generation will be attempted in 'hardware' Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Using archive interval of 300 seconds (specified in weewx configuration) Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Use LOOP data in hi/low calculations: 1 Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Using binding 'wx_binding' to database 'weewx.sdb' Dec 27 12:05:38 raspberrypi weewx[2540]: manager: Starting backfill of daily summaries Dec 27 12:05:38 raspberrypi weewx[2540]: manager: Daily summaries up to date Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdArchive Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.restx.StdStationRegistry Dec 27 12:05:38 raspberrypi weewx[2540]: restx: StationRegistry: Registration not requested. Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.restx.StdStationRegistry Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.restx.StdWunderground Dec 27 12:05:38 raspberrypi weewx[2540]: restx: Wunderground: Posting not enabled. Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.restx.StdWunderground Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.restx.StdPWSweather Dec 27 12:05:38 raspberrypi weewx[2540]: restx: PWSweather: Posting not enabled. Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.restx.StdPWSweather Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.restx.StdCWOP Dec 27 12:05:38 raspberrypi weewx[2540]: restx: CWOP: Posting not enabled. Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.restx.StdCWOP Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.restx.StdWOW Dec 27 12:05:38 raspberrypi weewx[2540]: restx: WOW: Posting not enabled. Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.restx.StdWOW Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.restx.StdAWEKAS Dec 27 12:05:38 raspberrypi weewx[2540]: restx: AWEKAS: Posting not enabled. Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.restx.StdAWEKAS Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdPrint Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdPrint Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Loading service weewx.engine.StdReport Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Finished loading service weewx.engine.StdReport Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Starting up weewx version 3.6.2 Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Station does not support reading the time Dec 27 12:05:38 raspberrypi weewx[2540]: engine: Starting main packet loop. Dec 27 12:05:39 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 1 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:05:39 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:05:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:05:49 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:05:49 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 2 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:05:49 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:05:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:05:59 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:06:00 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 3 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:06:00 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:06:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:06:10 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:06:11 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 4 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:06:11 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:06:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:06:21 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:06:22 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 5 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:06:22 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:06:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:06:32 raspberrypi weewx[2540]: netatmo: netatmo-client: failed to get data after 5 attempts Dec 27 12:06:32 raspberrypi weewx[2540]: netatmo: netatmo-client: next update in 300 seconds Dec 27 12:06:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:06:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:06:48 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:08:18 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:06:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:07:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:07:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:07:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:07:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:07:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:07:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:08:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:08:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:08:18 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:09:48 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:08:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:08:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:08:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:08:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:09:01 raspberrypi CRON[2733]: (root) CMD ( [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean) Dec 27 12:09:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:09:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:09:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:09:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:09:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:09:48 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:11:18 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:09:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:10:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:10:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:10:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:10:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:10:39 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:10:40 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 1 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:10:40 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:10:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:10:50 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:10:51 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 2 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:10:51 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:10:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:11:01 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:11:02 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 3 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:11:02 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:11:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:11:12 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:11:13 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 4 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:11:13 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:11:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:11:18 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:12:48 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:11:23 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:11:23 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 5 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:11:23 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:11:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:11:33 raspberrypi weewx[2540]: netatmo: netatmo-client: failed to get data after 5 attempts Dec 27 12:11:33 raspberrypi weewx[2540]: netatmo: netatmo-client: next update in 300 seconds Dec 27 12:11:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:11:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:11:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:12:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:12:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:12:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:12:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:12:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:12:48 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:14:18 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:12:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:13:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:13:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:13:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:13:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:13:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:13:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:14:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:14:17 raspberrypi wpa_supplicant[485]: wlan0: WPA: Group rekeying completed with 90:72:40:1a:93:e4 [GTK=CCMP] Dec 27 12:14:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:14:18 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:15:48 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:14:22 raspberrypi wpa_supplicant[485]: wlan0: WPA: Group rekeying completed with 90:72:40:1a:93:e4 [GTK=CCMP] Dec 27 12:14:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:14:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:14:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:14:53 raspberrypi wpa_supplicant[485]: wlan0: WPA: Group rekeying completed with 90:72:40:1a:93:e4 [GTK=CCMP] Dec 27 12:14:57 raspberrypi wpa_supplicant[485]: wlan0: WPA: Group rekeying completed with 90:72:40:1a:93:e4 [GTK=CCMP] Dec 27 12:14:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:15:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:15:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:15:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:15:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:15:40 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:15:40 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 1 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:15:40 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:15:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:15:48 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:17:18 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:15:50 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:15:51 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 2 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:15:51 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:15:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:16:01 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:16:02 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 3 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:16:02 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:16:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:16:12 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:16:13 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 4 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:16:13 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:16:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:16:23 raspberrypi weewx[2540]: netatmo: netatmo-client: url: https://api.netatmo.net/oauth2/token data: username=dave%40stepsys.com&grant_type=password&client_id=5860301a67e482426a8b6298&scope=read_station&client_secret=wIhzgy2aBKLliAUUnZYQubPNG5&password=mOL8h6QQw3KH hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=urf-8'} Dec 27 12:16:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:16:28 raspberrypi weewx[2540]: netatmo: netatmo-client: failed attempt 5 of 5 to get data: HTTP Error 400: Bad Request Dec 27 12:16:28 raspberrypi weewx[2540]: netatmo: netatmo-client: waiting 10 seconds before retry Dec 27 12:16:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:16:38 raspberrypi weewx[2540]: netatmo: netatmo-client: failed to get data after 5 attempts Dec 27 12:16:38 raspberrypi weewx[2540]: netatmo: netatmo-client: next update in 300 seconds Dec 27 12:16:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:16:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:17:01 raspberrypi CRON[2931]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Dec 27 12:17:08 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:17:18 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:17:18 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Dec 27 12:18:48 2016 [try http://www.rsyslog.com/e/2007 ] Dec 27 12:17:28 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:17:38 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:17:48 raspberrypi weewx[2540]: netatmo: MainThread: empty queue Dec 27 12:17:58 raspberrypi weewx[2540]: netatmo: MainThread: empty queue

matthewwall commented 7 years ago

dave, the log was posted, not emailed. so you better change your passwords.

there is a typo in netatmo.py. change line 524 from this:

            "Content-Type": "application/x-www-form-urlencoded;charset=urf-8"}

to this:

            "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"}

utf not urf

however, i doubt that is the the root cause of the problem.

m

burtamcgna commented 7 years ago

Matthew, I was getting the same error and fixed the "urf" misspelling and it resolved my issue

matthewwall commented 7 years ago

thank you for confirming this. fixed in v0.9

bassemolufda commented 3 months ago

I have the same Problem. Re-Install from weewx did not solve the Problem. I need help please.

Raspberry PI 4 - 4GB

:~ $ uname -a
Linux 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
:~ $ cat /etc/issue
Debian GNU/Linux 12
:~ $ sudo dpkg -l weewx
weewx          5.0.2-1      all          weather software
netatmo: netatmo-client: failed attempt 1 of 5 to get data: HTTP Error 400:
netatmo: netatmo-client: waiting 10 seconds before retry
netatmo: netatmo-client: url: https://api.netatmo.com/oauth2/token data: b'grant_type=refresh_token&refresh_token=refresh_token_as_num_hidden&client_id=client_id_as_num_hidden&client_secret=client_secret_as_hidden' hdr: {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'}

cat /etc/weewx/weewx.conf

station_type = netatmo

[netatmo]
    # mode = sniff
    mode = cloud
    username = **********
    password = **********
    client_id = **********
    client_secret = **********
    refresh_token = *********
    # access_token = **********
    driver = user.netatmo
# port = 80
# host = 70:********
# device_id = 70:*********