Closed 2A3 closed 6 years ago
What city ID are you using? Could there be something in the response for your selected City that might be causing the parsing to fail? Can you share the version you are using as well as the City ID. Thanks.
I got this same error with city code 4952005. Happens after about 3 hours. Thought it was something to do with my edits to the code but happens with standard version 2,2 and 2.3
Hillsborough County, US City ID: 5087463
I'm using Version 2.3
I've built both the 4 (single) and 8 (double) and it happens with both. If I reboot both it will happen again at different times.
Changing display options (eg, humidity, windspeed, date etc) doesn't prevent the problem.
Many thanks!
The parsing error means that the response from the openweather.org was not a good response that the ArduinoJson could read through. It makes me wonder if occasionally you are getting a bad response.
Ok, I have made some changes to the 2.3 dev branch. Apparently it would loop and display the error message. This was originally done if a user had configured incorrect weather api-key or city ID so it would not continue to hit the weather service. This update should try again on the next normal data refresh (usually 15 minutes). I have also updated it to show other types of weather errors like 404 on CityID not found and stuff like that. Please try the latest 2.3 dev branch.
I installed the updated files tonight on both 4 and 8 segment units. They've been running for about 4 hours so far and seem solid. I'll see how they do. Thanks again for all of the help.
Sounds good. Let me know how it goes.
The updated files have been running on both 4 and 8 segment units for over 24 hours, and seem solid. Finger's crossed, but I think the parsing error is fixed!
Thanks for the update and for testing it out. Occasionally there might be a bad response from the weather service but with this update it won't stay in the error loop and can get out of it and try again.
Released this in 2.3.
This is giving me a problem on 2.5 - city code 6119109
I can reboot for forget wifi - but it happens after a few hours and won't update.
Philip, your issue doesn't have anything to do with the original issue posted here. Is it possible your device is being disconnected from your router? Can you pull up the web interface when it gets a weather parsing failed? This is usually an indication of connectivity. If you plug it in to your computer and use the Serial Monitor and capture what is happening, that would be helpful.
It is the same issue - weather parsing data fail
I have moved the clock to be right by the wifi - and it has a powerful output - the web interface still works when it gives the parsing error. - that is strange. That is where I use the forget wifi option and it works again.
If I turn off the weather completely, the news will work and it does not fail - and if I have a ocdtoprint job to monitor, it is also fine. Just the weather!
I have the same problem. Also even clock is connected to internet & Everything ok. 1 . Many times Weather data parsing error. 2 . Web interface is not as it should be. Its very unusual . In Simple HTML only
Again, the original issue was that it would not attempt to get the weather data after the first error, that was fixed in version 2.3.
Now if you can run the serial monitor to capture the error response from the weather service that would give you an indication why your clock can't reach the weather service. The parsing error occurs when it can't reach the weather service or if the weather service returns an error. There is nothing I can do about the weather service, router, or connectivity.
If you can run the serial monitor often the weather service will respond with what the issue is: it could be the api key is over used or rejected.
When it happens again, go to the web interface and click the "Refresh Data" -- this forces the clock to pull all fresh data from the weather, news, etc. Check the Serial Monitor when you do this and you can see the responses for the services.
Ok - I'll try a different API key - and I'm sure how to use the serial monitor... It has to be something simple.
Plug the Printer Monitor into your computer then follow these steps in the Arduino IDE.
After you compile and load the firmware over the USB you can watch the debug information spit out into the Serial Monitor Window. This will show you all that it is doing including details about the Weather Call. Keep it running until you see the Weather Data Error and then inspect the log file... it may indicate what happened.
Well - here is a copy - the news works - but the weather doesn't - I'll post the one that and the one that did not...
19:31:28.926 -> Getting Weather Data 19:31:28.926 -> GET /data/2.5/group?id=6119109&units=metric&cnt=1&APPID=8e6b124d9c516ff1938fa8e87fbe84xx HTTP/1.1 Waiting for data 19:31:29.114 -> Response Header: HTTP/1.1 200 OK 19:31:29.114 -> Weather Data Parsing failed! Updating Time... . 19:31:35.582 -> 01:31:32 19:31:35.582 -> 1:31:32 19:31:35.582 -> 5492 Getting News Data for reuters 19:31:40.598 -> Getting News Data 19:31:40.598 -> http://newsapi.org/v2/top-headlines?sources=reuters&apiK (NEWS WORKS)
------------------------------------------ Last working one....... 19:16:22.694 -> Getting Weather Data 19:16:22.694 -> GET /data/2.5/group?id=6119109&units=metric&cnt=1&APPID=8e6b124d9c516ff1938fa8e87fbe84xx HTTP/1.1 Waiting for data 19:16:22.834 -> Response Header: HTTP/1.1 200 OK 19:16:22.834 -> lat: 50.45 19:16:22.834 -> lon: -104.62 19:16:22.834 -> dt: 1543799780 19:16:22.834 -> city: Regina 19:16:22.834 -> country: CA 19:16:22.881 -> temp: -6 19:16:22.881 -> humidity: 92 19:16:22.881 -> condition: Clouds 19:16:22.881 -> wind: 3.1 19:16:22.881 -> weatherId: 804 19:16:22.881 -> description: overcast clouds 19:16:22.881 -> icon: 04n 19:16:22.881 -> 19:16:22.881 -> Updating Time... . 19:16:23.912 -> 01:16:20 19:16:23.912 -> 1:16:20 19:16:23.912 -> 4580 Getting News Data for reuters (news works)
9:35:57.183 -> Getting Weather Data 19:35:57.183 -> GET /data/2.5/group?id=6119109&units=metric&cnt=1&APPID=8e6b124d9c516ff1938fa8e87fbe84xx HTTP/1.1 Waiting for data 19:35:57.417 -> Response Header: HTTP/1.1 200 OK 19:35:57.417 -> Weather Data Parsing failed!
19:36:02.245 -> Getting Weather Data 19:36:02.245 -> GET /data/2.5/group?id=6119109&units=metric&cnt=1&APPID=8e6b124d9c516ff1938fa8e87fbe84xx HTTP/1.1
19:36:05.011 -> Panic C:\Users\Phil Karza\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266\core_esp8266_main.cpp:130 loop_task
19:36:05.058 ->
19:36:05.058 -> ctx: sys
19:36:05.058 -> sp: 3ffffdd0 end: 3fffffb0 offset: 01b0
19:36:05.058 ->
19:36:05.058 -> >>>stack>>>
19:36:05.058 -> 3fffff80: 4024f972 3fffdab0 00000000 3fff3fa0
19:36:05.058 -> 3fffff90: 00000000 3fffdad0 3fff3f98 4021fac1
19:36:05.058 -> 3fffffa0: 40000f49 3fffdab0 3fffdab0 40000f49
19:36:05.058 -> <<<stack<<<
19:36:05.058 ->
19:36:05.058 -> ets Jan 8 2013,rst cause:2, boot mode:(3,0)
19:36:05.058 ->
19:36:05.058 -> load 0x4010f000, len 1384, room 16
19:36:05.058 -> tail 8
19:36:05.058 -> chksum 0x2d
19:36:05.058 -> csum 0x2d
19:36:05.058 -> v614f7c32
19:36:05.058 -> ~ld
sy⸮|⸮⸮⸮nc⸮gl⸮|⸮⸮g|pl⸮|o⸮⸮⸮⸮㓃b⸮g`{l
APIKEY: 8e6b124d9c516ff1938fa8e87fbe8490
19:36:05.198 -> CityID: 6119109
19:36:05.198 -> marqueeMessage=
19:36:05.198 -> newsSource=reuters
19:36:05.198 -> timeDisplayTurnsOn=06:30
19:36:05.198 -> timeDisplayTurnsOff=23:00
19:36:05.198 -> displayIntensity=1
19:36:05.198 -> displayScrollSpeed=25
19:36:05.198 -> NEWS_ENABLED=1
19:36:05.198 -> NEWS_API_KEY: ffaccabf65ae491a83551c0f787a82xx
19:36:05.198 -> IS_24HOUR=0
19:36:05.198 -> IS_DST=0
19:36:05.198 -> Wide_Clock_Style=1
19:36:05.198 -> IS_METRIC=1
19:36:05.198 -> minutesBetweenDataRefresh=15
19:36:05.198 -> minutesBetweenScrolling=1
19:36:05.198 -> OCTOPRINT_ENABLED=1
19:36:05.198 -> OctoPrintApiKey=BF11F278B2374200A1BB1495F80CA7xx
19:36:05.198 -> OctoPrintServer=172.16.1.102
19:36:05.198 -> OctoPrintPort=80
19:36:05.198 -> OctoAuthUser=
19:36:05.198 -> OctoAuthPass=
19:36:05.198 -> www_username=admin
19:36:05.198 -> www_password=password
19:36:05.245 -> IS_BASIC_AUTH=1
19:36:05.245 -> BitcoinCurrencyCode=NONE
19:36:05.245 -> SHOW_CITY=1
19:36:05.245 -> SHOW_CONDITION=0
19:36:05.245 -> SHOW_HUMIDITY=0
19:36:05.245 -> SHOW_WIND=0
19:36:05.245 -> SHOW_DATE=1
19:36:05.245 -> Number os LED Displays: 4
19:36:05.245 -> matrix created
WM:
19:36:11.339 -> WM: AutoConnect
19:36:11.339 -> WM: Connecting as wifi client...
19:36:11.339 -> WM: Already connected. Bailing out.
19:36:11.339 -> WM: IP Address:
19:36:11.339 -> WM: 172.16.1.80
19:36:11.339 -> Signal Strength (RSSI): 30%
19:36:11.339 -> Server started
19:36:11.339 -> Use this URL : http://172.16.1.80:80/
19:36:11.620 -> Getting Weather Data 19:36:11.620 -> GET /data/2.5/group?id=6119109&units=metric&cnt=1&APPID=8e6b124d9c516ff1938fa8e87fbe8490 HTTP/1.1 Waiting for data 19:36:11.807 -> Response Header: HTTP/1.1 200 OK 19:36:11.807 -> lat: 50.45 19:36:11.807 -> lon: -104.62 19:36:11.807 -> dt: 1543800969 19:36:11.807 -> city: Regina 19:36:11.807 -> country: CA 19:36:11.807 -> temp: -6 19:36:11.807 -> humidity: 92 19:36:11.807 -> condition: Clouds 19:36:11.807 -> wind: 4.6 19:36:11.807 -> weatherId: 804 19:36:11.854 -> description: overcast clouds 19:36:11.854 -> icon: 04n 19:36:11.854 -> 19:36:11.854 -> Updating Time... .
is there any way to load this without the weather - and only have news??
I'm getting an error "Weather Data Parsing failed!" in both a singe wide and double wide setup. Refreshing the data thru the web page doesn't fix the issue, but hitting the reset button does.
Any ideas of what could be the cause?