Mar 26 12:18:20 digipi systemd[1]: Starting webchat.service - webchat...
Mar 26 12:18:21 digipi systemd[1]: Started webchat.service - webchat.
Mar 26 12:18:27 digipi webchat.sh[3775]: * Serving Flask app 'aprsd_webchat_extension'
Mar 26 12:18:27 digipi webchat.sh[3775]: * Debug mode: off
Mar 26 12:19:03 digipi webchat.sh[3775]: 2026-03-26 12:19:03.471 | Thread-2 (process_request_thread) | ERROR | Exception on / [GET] | flask.app:log_exception:875
Mar 26 12:19:03 digipi webchat.sh[3775]: Traceback (most recent call last):
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/threading.py", line 1014, in _bootstrap
Mar 26 12:19:03 digipi webchat.sh[3775]: self._bootstrap_inner()
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function Thread._bootstrap_inner at 0x764d4938>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Thread(Thread-2 (process_request_thread), started daemon 1904210912)>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/threading.py", line 1043, in _bootstrap_inner
Mar 26 12:19:03 digipi webchat.sh[3775]: self.run()
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function Thread.run at 0x764d47f8>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Thread(Thread-2 (process_request_thread), started daemon 1904210912)>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/threading.py", line 994, in run
Mar 26 12:19:03 digipi webchat.sh[3775]: self._target(*self._args, **self._kwargs)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ │ │ └ {}
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ │ └ <Thread(Thread-2 (process_request_thread), started daemon 1904210912)>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ (<socket.socket fd=6, family=2, type=1, proto=0, laddr=('10.0.0.40', 8055), raddr=('10.0.0.21', 53759)>, ('10.0.0.21', 53759))
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ <Thread(Thread-2 (process_request_thread), started daemon 1904210912)>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <bound method ThreadingMixIn.process_request_thread of <werkzeug.serving.ThreadedWSGIServer object at 0x74a8ff48>>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Thread(Thread-2 (process_request_thread), started daemon 1904210912)>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/socketserver.py", line 697, in process_request_thread
Mar 26 12:19:03 digipi webchat.sh[3775]: self.finish_request(request, client_address)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ ('10.0.0.21', 53759)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ <socket.socket fd=6, family=2, type=1, proto=0, laddr=('10.0.0.40', 8055), raddr=('10.0.0.21', 53759)>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function BaseServer.finish_request at 0x74ecb118>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <werkzeug.serving.ThreadedWSGIServer object at 0x74a8ff48>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/socketserver.py", line 362, in finish_request
Mar 26 12:19:03 digipi webchat.sh[3775]: self.RequestHandlerClass(request, client_address, self)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ │ └ <werkzeug.serving.ThreadedWSGIServer object at 0x74a8ff48>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ ('10.0.0.21', 53759)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ <socket.socket fd=6, family=2, type=1, proto=0, laddr=('10.0.0.40', 8055), raddr=('10.0.0.21', 53759)>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <class 'werkzeug.serving.WSGIRequestHandler'>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <werkzeug.serving.ThreadedWSGIServer object at 0x74a8ff48>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/socketserver.py", line 766, in __init__
Mar 26 12:19:03 digipi webchat.sh[3775]: self.handle()
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function WSGIRequestHandler.handle at 0x74e38a28>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <werkzeug.serving.WSGIRequestHandler object at 0x74a39c90>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/werkzeug/serving.py", line 398, in handle
Mar 26 12:19:03 digipi webchat.sh[3775]: super().handle()
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/http/server.py", line 436, in handle
Mar 26 12:19:03 digipi webchat.sh[3775]: self.handle_one_request()
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function BaseHTTPRequestHandler.handle_one_request at 0x74ed5208>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <werkzeug.serving.WSGIRequestHandler object at 0x74a39c90>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/usr/lib/python3.13/http/server.py", line 424, in handle_one_request
Mar 26 12:19:03 digipi webchat.sh[3775]: method()
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <bound method WSGIRequestHandler.run_wsgi of <werkzeug.serving.WSGIRequestHandler object at 0x74a39c90>>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/werkzeug/serving.py", line 370, in run_wsgi
Mar 26 12:19:03 digipi webchat.sh[3775]: execute(
self.server.app)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ <werkzeug.serving.ThreadedWSGIServer object at 0x74a8ff48>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <werkzeug.serving.WSGIRequestHandler object at 0x74a39c90>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <function WSGIRequestHandler.run_wsgi.<locals>.execute at 0x749b63e8>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/werkzeug/serving.py", line 331, in execute
Mar 26 12:19:03 digipi webchat.sh[3775]: application_iter = app(environ, start_response)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ <function WSGIRequestHandler.run_wsgi.<locals>.start_response at 0x749b62f8>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ {'wsgi.version': (1, 0), 'wsgi.url_scheme': 'http', 'wsgi.input': <_io.BufferedReader name=6>, 'wsgi.errors': <_io.TextIOWrap...
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/flask/app.py", line 1536, in __call__
Mar 26 12:19:03 digipi webchat.sh[3775]: return self.wsgi_app(environ, start_response)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ <function WSGIRequestHandler.run_wsgi.<locals>.start_response at 0x749b62f8>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ {'wsgi.version': (1, 0), 'wsgi.url_scheme': 'http', 'wsgi.input': <_io.BufferedReader name=6>, 'wsgi.errors': <_io.TextIOWrap...
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <flask_socketio._SocketIOMiddleware object at 0x74a8f6a8>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/flask_socketio/__init__.py", line 42, in __call__
Mar 26 12:19:03 digipi webchat.sh[3775]: return super().__call__(environ, start_response)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function WSGIRequestHandler.run_wsgi.<locals>.start_response at 0x749b62f8>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ {'wsgi.version': (1, 0), 'wsgi.url_scheme': 'http', 'wsgi.input': <_io.BufferedReader name=6>, 'wsgi.errors': <_io.TextIOWrap...
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/engineio/middleware.py", line 74, in __call__
Mar 26 12:19:03 digipi webchat.sh[3775]: return self.wsgi_app(environ, start_response)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ <function WSGIRequestHandler.run_wsgi.<locals>.start_response at 0x749b62f8>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ {'wsgi.version': (1, 0), 'wsgi.url_scheme': 'http', 'wsgi.input': <_io.BufferedReader name=6>, 'wsgi.errors': <_io.TextIOWrap...
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <bound method Flask.wsgi_app of <Flask 'aprsd_webchat_extension'>>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <flask_socketio._SocketIOMiddleware object at 0x74a8f6a8>
Mar 26 12:19:03 digipi webchat.sh[3775]: > File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
Mar 26 12:19:03 digipi webchat.sh[3775]: response = self.full_dispatch_request()
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function Flask.full_dispatch_request at 0x7576f9d8>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
Mar 26 12:19:03 digipi webchat.sh[3775]: rv = self.handle_user_exception(e)
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function Flask.handle_user_exception at 0x7576f898>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
Mar 26 12:19:03 digipi webchat.sh[3775]: rv = self.dispatch_request()
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function Flask.dispatch_request at 0x7576f988>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
Mar 26 12:19:03 digipi webchat.sh[3775]: return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ │ │ │ └ {}
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ │ │ └ 'index'
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ │ └ <Rule '/' (OPTIONS, HEAD, GET) -> index>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ │ └ {'static': <function Flask.__init__.<locals>.<lambda> at 0x74a70618>, 'location': <function location at 0x74a77488>, 'index':...
Mar 26 12:19:03 digipi webchat.sh[3775]: │ │ └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: │ └ <function Flask.ensure_sync at 0x7576fac8>
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <Flask 'aprsd_webchat_extension'>
Mar 26 12:19:03 digipi webchat.sh[3775]: File "/home/pi/.aprsd-venv/lib/python3.13/site-packages/aprsd_webchat_extension/cmds/webchat.py", line 400, in index
Mar 26 12:19:03 digipi webchat.sh[3775]: latitude = float(CONF.aprsd_webchat_extension.latitude)
Mar 26 12:19:03 digipi webchat.sh[3775]: └ <oslo_config.cfg.ConfigOpts object at 0x760a05f0>
Mar 26 12:19:03 digipi webchat.sh[3775]: ValueError: could not convert string to float: '33.30.08'