Running next train on portal M4 with 64 x 32 LED matrix. Works for few times, and then we get
File "code.py", line 110, in <module>
File "code.py", line 28, in next_trains
File "adafruit_portalbase/network.py", line 587, in fetch_data
File "adafruit_portalbase/network.py", line 598, in _parse_data
File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error
Code done running.
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
How to delay and continue when Error 500 occur?
I do the request every 65 seconds only, not more frequent.
Retrieving data...Traceback (most recent call last):Error 500, continue
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Error 500, continue
The check_response() function in the adafruit_portalbase library will error out if the server is not available. You could modify your library to behave different with a retry/continue or request it as a new issue on the github repo.
https://github.com/adafruit/Adafruit_Ci ... rk.py#L529
https://github.com/adafruit/Adafruit_Ci ... ase/issues
https://github.com/adafruit/Adafruit_Ci ... rk.py#L529
https://github.com/adafruit/Adafruit_Ci ... ase/issues
Code: Select all
def check_response(self, response):
"""
Check the response object status code, change the lights, and return content type
:param response: The response object from a network call
"""
headers = self._get_headers(response)
if self._debug:
print("Headers:", headers)
if response.status_code == 200:
print("Reply is OK!")
self.neo_status(STATUS_DATA_RECEIVED) # green = got data
content_type = self._detect_content_type(headers)
else:
if self._debug:
if "content-length" in headers:
print("Content-Length: {}".format(int(headers["content-length"])))
if "date" in headers:
print("Date: {}".format(headers["date"]))
self.neo_status((100, 0, 0)) # red = http error
raise HttpError(
"Code {}: {}".format(
response.status_code, response.reason.decode("utf-8")
)
)
return content_type
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
Looks good.
I would modify the adafruit_portalbase library for my needs and show the changes in this post once done.
But I only see .mpy file, no .py How can I access network.py and save it as mpy in that folder?
I would modify the adafruit_portalbase library for my needs and show the changes in this post once done.
But I only see .mpy file, no .py How can I access network.py and save it as mpy in that folder?
- tannewt
- Posts: 3304
- Joined: Thu Oct 06, 2016 8:48 pm
Re: Error 500, continue
The source for it is here: https://github.com/adafruit/Adafruit_Ci ... network.py
You can also download a bundle with py instead of mpy files. You won't need to re-mpy it unless you have a memoryerror when importing. You can use the .py file directly in its place.
You can also download a bundle with py instead of mpy files. You won't need to re-mpy it unless you have a memoryerror when importing. You can use the .py file directly in its place.
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
Hi,
I modified the check_response() function in the adafruit_portalbase library as
but the LED board doesn't even light up as the log show this error:
I can't open network.py in adafruit_matrixportal.
And I don't see the indentation issue (line 544 that I added) in network.py of adafruit portalbase.
Knowing that in adafruit_matrixportal folder, there is only a network.mpy, not a network.py
Could you help please?
Thanks
I modified the check_response() function in the adafruit_portalbase library as
Code: Select all
def check_response(self, response):
"""
Check the response object status code, change the lights, and return content type
:param response: The response object from a network call
"""
headers = self._get_headers(response)
if self._debug:
print("Headers:", headers)
if response.status_code == 200:
print("Reply is OK!")
self.neo_status(STATUS_DATA_RECEIVED) # green = got data
content_type = self._detect_content_type(headers)
elif response.status_code == 500:
print("No reply err 500")
self.neo_status(STATUS_DATA_RECEIVED) # green = got data
time.sleep(15)
else:
if self._debug:
if "content-length" in headers:
print("Content-Length: {}".format(int(headers["content-length"])))
if "date" in headers:
print("Date: {}".format(headers["date"]))
self.neo_status((100, 0, 0)) # red = http error
raise HttpError(
"Code {}: {}".format(
response.status_code, response.reason.decode("utf-8")
)
)
but the LED board doesn't even light up as the log show this error:
Code: Select all
soft reboot
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Traceback (most recent call last):
File "code.py", line 11, in <module>
File "adafruit_matrixportal/network.py", line 31, in <module>
File "/lib/adafruit_portalbase/network.py", line 544
IndentationError: unexpected indent
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload.
I can't open network.py in adafruit_matrixportal.
And I don't see the indentation issue (line 544 that I added) in network.py of adafruit portalbase.
Knowing that in adafruit_matrixportal folder, there is only a network.mpy, not a network.py
Could you help please?
Thanks
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Error 500, continue
It has been two months so lets make sure you are using the right bundle and replacing the contents of /lib on your controller with the current source.
This is the the link Python source bundle:
https://github.com/adafruit/Adafruit_Ci ... 220905.zip
When I check it I do see the *.py files (not MPY) as expected.
If you are not already running the current 7.3.3 release of CircuitPython please update to that.
https://circuitpython.org/board/matrixportal_m4/
This is the the link Python source bundle:
https://github.com/adafruit/Adafruit_Ci ... 220905.zip
When I check it I do see the *.py files (not MPY) as expected.
Code: Select all
$ ls
__init__.py graphics.py network.py wifi_coprocessor.py wifi_esp32s2.py
https://circuitpython.org/board/matrixportal_m4/
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
Hi Mikeysklar,
The /lib provided is 6MB when the portal M4 only has 2 MB. I can't copy /lib from the bundle.
How to choose the right files?
Thanks
The /lib provided is 6MB when the portal M4 only has 2 MB. I can't copy /lib from the bundle.
How to choose the right files?
Thanks
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Error 500, continue
We know that you need the adafruit_portalbase.
Can you paste in the code you are running or a link to the Adafruit Learn guide you are following and I can tell you exactly which libraries need to be included in your M4 Portal lib/ folder.
Can you paste in the code you are running or a link to the Adafruit Learn guide you are following and I can tell you exactly which libraries need to be included in your M4 Portal lib/ folder.
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
Here the code.py that I run
- Attachments
-
- code.py
- (4.17 KiB) Downloaded 5 times
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Error 500, continue
You will need to clear out the lib/ folder on your Matrix Portal m4 and install these folder / libraries.
adafruit_display_text/
adafruit_bitmap_font/
adafruit_matrixportal/
neopixel.mpy
This code does not feel famliar. I take it is not based on Adafruit guide?
adafruit_display_text/
adafruit_bitmap_font/
adafruit_matrixportal/
neopixel.mpy
This code does not feel famliar. I take it is not based on Adafruit guide?
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
This is mix between MTA portal code (https://github.com/alejandrorascovan/mta-portal/) linked from Adafruit blog and my own needs for retrieving the next train on the French train system.
I updated to 7.3.3 and I set up the librairies based on the error logs.
After few minutes, I get the same error as before
And I have modified the code of network.py in adafruit_portalbase as follows:
Would there be a cache for network.py? I rebooted the board and I still get this error message, as it shouldn't go through the raise HttpError sequence, right?
I updated to 7.3.3 and I set up the librairies based on the error logs.
After few minutes, I get the same error as before
Code: Select all
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
Press any key to enter the REPL. Use CTRL-D to reload.
soft reboot
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Connecting to AP Ayotee
Getting time for timezone Europe/Paris
Now: 22 : 39
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:00 Saint-Germain-en-Laye
ZUMO 23:14 Saint-Germain-en-Laye
ZUMO 23:28 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
9 21 12 27
Getting time for timezone Europe/Paris
Now: 22 : 40
Retrieving data...Reply is OK!
ZUMO 22:48 Saint-Germain-en-Laye
ZUMO 23:01 Saint-Germain-en-Laye
ZUMO 23:15 Saint-Germain-en-Laye
ZUMO 23:29 Saint-Germain-en-Laye
ZUMO 23:44 Saint-Germain-en-Laye
ZUMO 23:59 Saint-Germain-en-Laye
QIKI 22:51 Marne-la-Vallee Chessy
QIKI 23:06 Marne-la-Vallee Chessy
8 21 11 26
Getting time for timezone Europe/Paris
Now: 22 : 41
Retrieving data...Traceback (most recent call last):
File "code.py", line 115, in <module>
File "code.py", line 25, in next_trains
File "adafruit_portalbase/network.py", line 587, in fetch_data
File "adafruit_portalbase/network.py", line 598, in _parse_data
File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 7.3.3 on 2022-08-29; Adafruit Matrix Portal M4 with samd51j19
>>>
And I have modified the code of network.py in adafruit_portalbase as follows:
Code: Select all
def check_response(self, response):
"""
Check the response object status code, change the lights, and return content type
:param response: The response object from a network call
"""
headers = self._get_headers(response)
if self._debug:
print("Headers:", headers)
if response.status_code == 200:
print("Reply is OK!")
self.neo_status(STATUS_DATA_RECEIVED) # green = got data
content_type = self._detect_content_type(headers)
else:
if self._debug:
if "content-length" in headers:
print("Content-Length: {}".format(int(headers["content-length"])))
if "date" in headers:
print("Date: {}".format(headers["date"]))
print("HttpError again, yes")
self.neo_status((100, 0, 0)) # red = http error
print("HttpError again")
time.sleep(15)
break;
# raise HttpError(
# "Code {}: {}".format(
# response.status_code, response.reason.decode("utf-8")
# )
# )
return content_type
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
I even replaced "Reply is OK!" by "Reply is 200". It still showed "Reply is OK!" in the logSaketaram wrote: ↑Wed Sep 14, 2022 5:10 pm This is mix between MTA portal code (https://github.com/alejandrorascovan/mta-portal/) linked from Adafruit blog and my own needs for retrieving the next train on the French train system.
I updated to 7.3.3 and I set up the librairies based on the error logs.
After few minutes, I get the same error as beforeCode: Select all
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. Press any key to enter the REPL. Use CTRL-D to reload. soft reboot Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. code.py output: Connecting to AP Ayotee Getting time for timezone Europe/Paris Now: 22 : 39 Retrieving data...Reply is OK! ZUMO 22:48 Saint-Germain-en-Laye ZUMO 23:00 Saint-Germain-en-Laye ZUMO 23:14 Saint-Germain-en-Laye ZUMO 23:28 Saint-Germain-en-Laye ZUMO 23:44 Saint-Germain-en-Laye ZUMO 23:59 Saint-Germain-en-Laye QIKI 22:51 Marne-la-Vallee Chessy QIKI 23:06 Marne-la-Vallee Chessy 9 21 12 27 Getting time for timezone Europe/Paris Now: 22 : 40 Retrieving data...Reply is OK! ZUMO 22:48 Saint-Germain-en-Laye ZUMO 23:01 Saint-Germain-en-Laye ZUMO 23:15 Saint-Germain-en-Laye ZUMO 23:29 Saint-Germain-en-Laye ZUMO 23:44 Saint-Germain-en-Laye ZUMO 23:59 Saint-Germain-en-Laye QIKI 22:51 Marne-la-Vallee Chessy QIKI 23:06 Marne-la-Vallee Chessy 8 21 11 26 Getting time for timezone Europe/Paris Now: 22 : 41 Retrieving data...Traceback (most recent call last): File "code.py", line 115, in <module> File "code.py", line 25, in next_trains File "adafruit_portalbase/network.py", line 587, in fetch_data File "adafruit_portalbase/network.py", line 598, in _parse_data File "adafruit_portalbase/network.py", line 553, in check_response HttpError: Code 500: Internal Server Error Code done running. Press any key to enter the REPL. Use CTRL-D to reload. Adafruit CircuitPython 7.3.3 on 2022-08-29; Adafruit Matrix Portal M4 with samd51j19 >>>
And I have modified the code of network.py in adafruit_portalbase as follows:Would there be a cache for network.py? I rebooted the board and I still get this error message, as it shouldn't go through the raise HttpError sequence, right?Code: Select all
def check_response(self, response): """ Check the response object status code, change the lights, and return content type :param response: The response object from a network call """ headers = self._get_headers(response) if self._debug: print("Headers:", headers) if response.status_code == 200: print("Reply is OK!") self.neo_status(STATUS_DATA_RECEIVED) # green = got data content_type = self._detect_content_type(headers) else: if self._debug: if "content-length" in headers: print("Content-Length: {}".format(int(headers["content-length"]))) if "date" in headers: print("Date: {}".format(headers["date"])) print("HttpError again, yes") self.neo_status((100, 0, 0)) # red = http error print("HttpError again") time.sleep(15) break; # raise HttpError( # "Code {}: {}".format( # response.status_code, response.reason.decode("utf-8") # ) # ) return content_type
I am wondering if there is a caching on network.py. Even after reboot, I have that.
Or is it using a network.py that is not in adafruit_portalbase?
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
I tried to reset factory the portal M4 with double reset and drag and drop uf2 file but the next time I reboot it, it shows the previous files and my network.py modification for handling error 500 are not considered as I can see in the log of MU
How can I reset the portal M4 so it can take the new network.py?
How can I reset the portal M4 so it can take the new network.py?
Saketaram wrote: ↑Thu Sep 15, 2022 9:32 amI even replaced "Reply is OK!" by "Reply is 200". It still showed "Reply is OK!" in the logSaketaram wrote: ↑Wed Sep 14, 2022 5:10 pm This is mix between MTA portal code (https://github.com/alejandrorascovan/mta-portal/) linked from Adafruit blog and my own needs for retrieving the next train on the French train system.
I updated to 7.3.3 and I set up the librairies based on the error logs.
After few minutes, I get the same error as beforeCode: Select all
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. Press any key to enter the REPL. Use CTRL-D to reload. soft reboot Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. code.py output: Connecting to AP Ayotee Getting time for timezone Europe/Paris Now: 22 : 39 Retrieving data...Reply is OK! ZUMO 22:48 Saint-Germain-en-Laye ZUMO 23:00 Saint-Germain-en-Laye ZUMO 23:14 Saint-Germain-en-Laye ZUMO 23:28 Saint-Germain-en-Laye ZUMO 23:44 Saint-Germain-en-Laye ZUMO 23:59 Saint-Germain-en-Laye QIKI 22:51 Marne-la-Vallee Chessy QIKI 23:06 Marne-la-Vallee Chessy 9 21 12 27 Getting time for timezone Europe/Paris Now: 22 : 40 Retrieving data...Reply is OK! ZUMO 22:48 Saint-Germain-en-Laye ZUMO 23:01 Saint-Germain-en-Laye ZUMO 23:15 Saint-Germain-en-Laye ZUMO 23:29 Saint-Germain-en-Laye ZUMO 23:44 Saint-Germain-en-Laye ZUMO 23:59 Saint-Germain-en-Laye QIKI 22:51 Marne-la-Vallee Chessy QIKI 23:06 Marne-la-Vallee Chessy 8 21 11 26 Getting time for timezone Europe/Paris Now: 22 : 41 Retrieving data...Traceback (most recent call last): File "code.py", line 115, in <module> File "code.py", line 25, in next_trains File "adafruit_portalbase/network.py", line 587, in fetch_data File "adafruit_portalbase/network.py", line 598, in _parse_data File "adafruit_portalbase/network.py", line 553, in check_response HttpError: Code 500: Internal Server Error Code done running. Press any key to enter the REPL. Use CTRL-D to reload. Adafruit CircuitPython 7.3.3 on 2022-08-29; Adafruit Matrix Portal M4 with samd51j19 >>>
And I have modified the code of network.py in adafruit_portalbase as follows:Would there be a cache for network.py? I rebooted the board and I still get this error message, as it shouldn't go through the raise HttpError sequence, right?Code: Select all
def check_response(self, response): """ Check the response object status code, change the lights, and return content type :param response: The response object from a network call """ headers = self._get_headers(response) if self._debug: print("Headers:", headers) if response.status_code == 200: print("Reply is OK!") self.neo_status(STATUS_DATA_RECEIVED) # green = got data content_type = self._detect_content_type(headers) else: if self._debug: if "content-length" in headers: print("Content-Length: {}".format(int(headers["content-length"]))) if "date" in headers: print("Date: {}".format(headers["date"])) print("HttpError again, yes") self.neo_status((100, 0, 0)) # red = http error print("HttpError again") time.sleep(15) break; # raise HttpError( # "Code {}: {}".format( # response.status_code, response.reason.decode("utf-8") # ) # ) return content_type
I am wondering if there is a caching on network.py. Even after reboot, I have that.
Or is it using a network.py that is not in adafruit_portalbase?
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Error 500, continue
The changes you make to network.py should be saved assuming you are writing out the file and unmounting the board before disconnecting the USB cable.
If you really want to wipe the contents and start fresh you could use the Simpletest UF2 image for 64x32 which will most likely wipe your MatrixPortal code and libraries out so save your work first. I was looking for a NUKE image, but did not find one for the MatrixPortal M4.
https://cdn-learn.adafruit.com/assets/a ... 1620663420
https://learn.adafruit.com/adafruit-mat ... es-3072892
If you really want to wipe the contents and start fresh you could use the Simpletest UF2 image for 64x32 which will most likely wipe your MatrixPortal code and libraries out so save your work first. I was looking for a NUKE image, but did not find one for the MatrixPortal M4.
https://cdn-learn.adafruit.com/assets/a ... 1620663420
https://learn.adafruit.com/adafruit-mat ... es-3072892
- Saketaram
- Posts: 17
- Joined: Fri May 27, 2022 4:51 pm
Re: Error 500, continue
Hi Mikeysklar,
When I connect the USB cable to Portal M4 connected to the LED panel, I see the folder CircuitPY in my File Explorer. Checking the lib/adafruit_portalbase, the file network.py shows:
I disconnected the Matrix Portal M4 from the LED panel with USB plugged in on Matrix Portal. I then removed the USB. Then, I plugged Matrix Portal to the LED before connecting USB to Matrix Portal again.
And this is the result, which doesn't use the messages I expect
When I connect the USB cable to Portal M4 connected to the LED panel, I see the folder CircuitPY in my File Explorer. Checking the lib/adafruit_portalbase, the file network.py shows:
Code: Select all
def check_response(self, response):
"""
Check the response object status code, change the lights, and return content type
:param response: The response object from a network call
"""
headers = self._get_headers(response)
if self._debug:
print("Headers:", headers)
if response.status_code == 200:
print("Reply is OK. Yes Ok!")
self.neo_status(STATUS_DATA_RECEIVED) # green = got data
content_type = self._detect_content_type(headers)
else:
print("HttpError again, yes yes")
if self._debug:
if "content-length" in headers:
print("Content-Length: {}".format(int(headers["content-length"])))
if "date" in headers:
print("Date: {}".format(headers["date"]))
print("HttpError again, yes")
self.neo_status((100, 0, 0)) # red = http error
print("HttpError again")
time.sleep(15)
break;
# raise HttpError(
# "Code {}: {}".format(
# response.status_code, response.reason.decode("utf-8")
# )
# )
return content_type
And this is the result, which doesn't use the messages I expect
Code: Select all
Getting time for timezone Europe/Paris
Now: 11 : 31
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 12:01 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:18 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:34 Marne-la-Vallee Chessy
QIWI 11:41 Marne-la-Vallee Chessy
12 30 3 10
Getting time for timezone Europe/Paris
Now: 11 : 32
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:31 Saint-Germain-en-Laye
QIWI 11:33 Marne-la-Vallee Chessy
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
11 27 9 21
Getting time for timezone Europe/Paris
Now: 11 : 33
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 12:00 Saint-Germain-en-Laye
ZUPE 12:04 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
10 27 8 20
Getting time for timezone Europe/Paris
Now: 11 : 34
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
9 25 7 19
Getting time for timezone Europe/Paris
Now: 11 : 35
Retrieving data...Reply is OK!
ZUPE 11:42 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:10 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:42 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
7 24 7 18
Getting time for timezone Europe/Paris
Now: 11 : 36
Retrieving data...Reply is OK!
ZUPE 11:43 Saint-Germain-en-Laye
ZUPE 12:00 Saint-Germain-en-Laye
ZUPE 12:04 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
7 24 5 17
Getting time for timezone Europe/Paris
Now: 11 : 38
Retrieving data...Reply is OK!
ZUPE 11:42 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:05 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:29 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
4 21 3 15
Getting time for timezone Europe/Paris
Now: 11 : 38
Retrieving data...Reply is OK!
ZUPE 11:42 Saint-Germain-en-Laye
ZUPE 11:59 Saint-Germain-en-Laye
ZUPE 12:04 Saint-Germain-en-Laye
ZUPE 12:11 Saint-Germain-en-Laye
ZUPE 12:17 Saint-Germain-en-Laye
ZUPE 12:30 Saint-Germain-en-Laye
QIWI 11:41 Marne-la-Vallee Chessy
QIWI 11:53 Marne-la-Vallee Chessy
4 21 3 15
Getting time for timezone Europe/Paris
Now: 11 : 39
Retrieving data...Traceback (most recent call last):
File "code.py", line 115, in <module>
File "code.py", line 25, in next_trains
File "adafruit_portalbase/network.py", line 587, in fetch_data
File "adafruit_portalbase/network.py", line 598, in _parse_data
File "adafruit_portalbase/network.py", line 553, in check_response
HttpError: Code 500: Internal Server Error
Code done running.
Please be positive and constructive with your questions and comments.