Complete novice to openplotter,rpi,pypilot. I wanted to build a autopilot system and started reading on github pages as well as this great forum.
My config:
Rpi 4b with sensehat so far.
Openplotter v4 headless installed
SenseHat software installed configured and checked.
So far I discovered a lot of errors on first install but managed to get all running with the help of the above mentioned.
Got RDP as well as web connections from a phone properly working and am happy with that!
SignalK shows all data from SenseHat sensors.
Pypilot as well as OpenCPN like the LSM9DS1 very much and shows all calibration items very nicely.
Only piece that is not working for me:
the web control of pypilot (localhost:8000).
I checked the webservice status(active)
But in logging I only see:
```
pi@openplotter:~ $ pypilot_web
loading translations: terminal encoding: utf-8
loading translations: terminal encoding: utf-8
failed to read config /home/pi/.pypilot/web.conf
using port 8000
Traceback (most recent call last):
File "/usr/local/bin/pypilot_web", line 33, in <module>
sys.exit(load_entry_point('pypilot==0.70', 'console_scripts', 'pypilot_web')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/web/web.py", line 229, in main
socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True)
File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 719, in run
self.wsgi_server.serve_forever()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 401, in serve_forever
self.start()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 339, in start
self.init_socket()
File "/usr/local/lib/python3.11/dist-packages/gevent/pywsgi.py", line 1672, in init_socket
StreamServer.init_socket(self)
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 173, in init_socket
self.socket = self.get_listener(self.address, self.backlog, self.family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 185, in get_listener
return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 264, in _tcp_listener
sock.bind(address)
File "/usr/local/lib/python3.11/dist-packages/gevent/_socketcommon.py", line 538, in bind
return self._sock.bind(address)
^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 98] Address already in use: ('0.0.0.0', 8000)
```
I tried reinstall options as well as postinstall scripts, but so far no luck.
What can I do to get this final piece running?
After that I will continue with connecting arduino mega 2560(I have one spare) and motorcontroller
Complete novice to openplotter,rpi,pypilot. I wanted to build a autopilot system and started reading on github pages as well as this great forum.
My config:
Rpi 4b with sensehat so far.
Openplotter v4 headless installed
SenseHat software installed configured and checked.
So far I discovered a lot of errors on first install but managed to get all running with the help of the above mentioned.
Got RDP as well as web connections from a phone properly working and am happy with that!
SignalK shows all data from SenseHat sensors.
Pypilot as well as OpenCPN like the LSM9DS1 very much and shows all calibration items very nicely.
Only piece that is not working for me:
the web control of pypilot (localhost:8000).
I checked the webservice status(active)
But in logging I only see:
```
pi@openplotter:~ $ pypilot_web
loading translations: terminal encoding: utf-8
loading translations: terminal encoding: utf-8
failed to read config /home/pi/.pypilot/web.conf
using port 8000
Traceback (most recent call last):
File "/usr/local/bin/pypilot_web", line 33, in <module>
sys.exit(load_entry_point('pypilot==0.70', 'console_scripts', 'pypilot_web')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/web/web.py", line 229, in main
socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True)
File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 719, in run
self.wsgi_server.serve_forever()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 401, in serve_forever
self.start()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 339, in start
self.init_socket()
File "/usr/local/lib/python3.11/dist-packages/gevent/pywsgi.py", line 1672, in init_socket
StreamServer.init_socket(self)
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 173, in init_socket
self.socket = self.get_listener(self.address, self.backlog, self.family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 185, in get_listener
return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 264, in _tcp_listener
sock.bind(address)
File "/usr/local/lib/python3.11/dist-packages/gevent/_socketcommon.py", line 538, in bind
return self._sock.bind(address)
^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 98] Address already in use: ('0.0.0.0', 8000)
```
I tried reinstall options as well as postinstall scripts, but so far no luck.
What can I do to get this final piece running?
After that I will continue with connecting arduino mega 2560(I have one spare) and motorcontroller
I'm having trouble with pypilot (4.0.11) as well (Rpi5 , 8gb) Web control doesn't start. The GUI calibration the missing the boat on Boat alignment screen. Pypilot plugin crashes OpenCPN when started
Here is the log
i@openplotter:~ $ sudo systemctl status pypilot_web
● pypilot_web.service - pypilot web
Loaded: loaded (/etc/systemd/system/pypilot_web.service; enabled; preset: >
Active: active (running) since Mon 2026-06-29 14:45:36 PDT; 18min ago
Main PID: 979 (pypilot_web)
Tasks: 1 (limit: 9571)
CPU: 1.256s
CGroup: /system.slice/pypilot_web.service
└─979 /usr/bin/python3 /usr/local/bin/pypilot_web 8000
Jun 29 15:04:24 openplotter pypilot_web[979]: Traceback (most recent call last):
Jun 29 15:04:24 openplotter pypilot_web[979]: File "src/gevent/greenlet.py", >
Jun 29 15:04:24 openplotter pypilot_web[979]: File "/usr/lib/python3/dist-pac>
Jun 29 15:04:24 openplotter pypilot_web[979]: return handle(*args_tuple)
Jun 29 15:04:24 openplotter pypilot_web[979]: ^^^^^^^^^^^^^^^^^^^
Jun 29 15:04:24 openplotter pypilot_web[979]: File "/usr/lib/python3/dist-pac>
Jun 29 15:04:24 openplotter pypilot_web[979]: with _closing_socket(self.wra>
Jun 29 15:04:24 openplotter pypilot_web[979]: ^^^^^^^^>
Jun 29 15:04:24 openplotter pypilot_web[979]: TypeError: wrap_socket() got an u>
Jun 29 15:04:24 openplotter pypilot_web[979]: 2026-06-29T22:04:24Z <Greenlet at>
lines 1-19/19 (END)
2026-07-06, 03:53 PM (This post was last modified: 2026-07-06, 03:59 PM by sybdezeiler.)
(2026-06-29, 11:06 PM)amolotkov Wrote:
(2026-06-26, 02:55 PM)sybdezeiler Wrote: Hi all,
Complete novice to openplotter,rpi,pypilot. I wanted to build a autopilot system and started reading on github pages as well as this great forum.
My config:
Rpi 4b with sensehat so far.
Openplotter v4 headless installed
SenseHat software installed configured and checked.
So far I discovered a lot of errors on first install but managed to get all running with the help of the above mentioned.
Got RDP as well as web connections from a phone properly working and am happy with that!
SignalK shows all data from SenseHat sensors.
Pypilot as well as OpenCPN like the LSM9DS1 very much and shows all calibration items very nicely.
Only piece that is not working for me:
the web control of pypilot (localhost:8000).
I checked the webservice status(active)
But in logging I only see:
```
pi@openplotter:~ $ pypilot_web
loading translations: terminal encoding: utf-8
loading translations: terminal encoding: utf-8
failed to read config /home/pi/.pypilot/web.conf
using port 8000
Traceback (most recent call last):
File "/usr/local/bin/pypilot_web", line 33, in <module>
sys.exit(load_entry_point('pypilot==0.70', 'console_scripts', 'pypilot_web')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/web/web.py", line 229, in main
socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True)
File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 719, in run
self.wsgi_server.serve_forever()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 401, in serve_forever
self.start()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 339, in start
self.init_socket()
File "/usr/local/lib/python3.11/dist-packages/gevent/pywsgi.py", line 1672, in init_socket
StreamServer.init_socket(self)
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 173, in init_socket
self.socket = self.get_listener(self.address, self.backlog, self.family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 185, in get_listener
return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 264, in _tcp_listener
sock.bind(address)
File "/usr/local/lib/python3.11/dist-packages/gevent/_socketcommon.py", line 538, in bind
return self._sock.bind(address)
^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 98] Address already in use: ('0.0.0.0', 8000)
```
I tried reinstall options as well as postinstall scripts, but so far no luck.
What can I do to get this final piece running?
After that I will continue with connecting arduino mega 2560(I have one spare) and motorcontroller
I'm having trouble with pypilot (4.0.11) as well (Rpi5 , 8gb) Web control doesn't start. The GUI calibration the missing the boat on Boat alignment screen. Pypilot plugin crashes OpenCPN when started
Here is the log
i@openplotter:~ $ sudo systemctl status pypilot_web
● pypilot_web.service - pypilot web
Loaded: loaded (/etc/systemd/system/pypilot_web.service; enabled; preset: >
Active: active (running) since Mon 2026-06-29 14:45:36 PDT; 18min ago
Main PID: 979 (pypilot_web)
Tasks: 1 (limit: 9571)
CPU: 1.256s
CGroup: /system.slice/pypilot_web.service
└─979 /usr/bin/python3 /usr/local/bin/pypilot_web 8000
Jun 29 15:04:24 openplotter pypilot_web[979]: Traceback (most recent call last):
Jun 29 15:04:24 openplotter pypilot_web[979]: File "src/gevent/greenlet.py", >
Jun 29 15:04:24 openplotter pypilot_web[979]: File "/usr/lib/python3/dist-pac>
Jun 29 15:04:24 openplotter pypilot_web[979]: return handle(*args_tuple)
Jun 29 15:04:24 openplotter pypilot_web[979]: ^^^^^^^^^^^^^^^^^^^
Jun 29 15:04:24 openplotter pypilot_web[979]: File "/usr/lib/python3/dist-pac>
Jun 29 15:04:24 openplotter pypilot_web[979]: with _closing_socket(self.wra>
Jun 29 15:04:24 openplotter pypilot_web[979]: ^^^^^^^^>
Jun 29 15:04:24 openplotter pypilot_web[979]: TypeError: wrap_socket() got an u>
Jun 29 15:04:24 openplotter pypilot_web[979]: 2026-06-29T22:04:24Z <Greenlet at>
lines 1-19/19 (END)
So to solve the first issue I edited this line in web.py
socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True) and changed it to socketio.run(app, debug=False, host='0.0.0.0', port=port)
Guess what: localhost:8000 finally working. The flask-socketio was up to date, so finally decide to edit this file.
In the meanwhile I had updated pypilot from github and saw version change from 0.70 to 0.71.
This created a new error for me. A repeating alert for security access request in signalK. See picture. I cannot figure out where it is coming from but very annoying when using the openplotter pypilot interface.
Complete novice to openplotter,rpi,pypilot. I wanted to build a autopilot system and started reading on github pages as well as this great forum.
My config:
Rpi 4b with sensehat so far.
Openplotter v4 headless installed
SenseHat software installed configured and checked.
So far I discovered a lot of errors on first install but managed to get all running with the help of the above mentioned.
Got RDP as well as web connections from a phone properly working and am happy with that!
SignalK shows all data from SenseHat sensors.
Pypilot as well as OpenCPN like the LSM9DS1 very much and shows all calibration items very nicely.
Only piece that is not working for me:
the web control of pypilot (localhost:8000).
I checked the webservice status(active)
But in logging I only see:
```
pi@openplotter:~ $ pypilot_web
loading translations: terminal encoding: utf-8
loading translations: terminal encoding: utf-8
failed to read config /home/pi/.pypilot/web.conf
using port 8000
Traceback (most recent call last):
File "/usr/local/bin/pypilot_web", line 33, in <module>
sys.exit(load_entry_point('pypilot==0.70', 'console_scripts', 'pypilot_web')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/pypilot/web/web.py", line 229, in main
socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True)
File "/usr/lib/python3/dist-packages/flask_socketio/__init__.py", line 719, in run
self.wsgi_server.serve_forever()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 401, in serve_forever
self.start()
File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 339, in start
self.init_socket()
File "/usr/local/lib/python3.11/dist-packages/gevent/pywsgi.py", line 1672, in init_socket
StreamServer.init_socket(self)
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 173, in init_socket
self.socket = self.get_listener(self.address, self.backlog, self.family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 185, in get_listener
return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 264, in _tcp_listener
sock.bind(address)
File "/usr/local/lib/python3.11/dist-packages/gevent/_socketcommon.py", line 538, in bind
return self._sock.bind(address)
^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 98] Address already in use: ('0.0.0.0', 8000)
```
I tried reinstall options as well as postinstall scripts, but so far no luck.
What can I do to get this final piece running?
After that I will continue with connecting arduino mega 2560(I have one spare) and motorcontroller
I'm having trouble with pypilot (4.0.11) as well (Rpi5 , 8gb) Web control doesn't start. The GUI calibration the missing the boat on Boat alignment screen. Pypilot plugin crashes OpenCPN when started
Here is the log
i@openplotter:~ $ sudo systemctl status pypilot_web
● pypilot_web.service - pypilot web
Loaded: loaded (/etc/systemd/system/pypilot_web.service; enabled; preset: >
Active: active (running) since Mon 2026-06-29 14:45:36 PDT; 18min ago
Main PID: 979 (pypilot_web)
Tasks: 1 (limit: 9571)
CPU: 1.256s
CGroup: /system.slice/pypilot_web.service
└─979 /usr/bin/python3 /usr/local/bin/pypilot_web 8000
Jun 29 15:04:24 openplotter pypilot_web[979]: Traceback (most recent call last):
Jun 29 15:04:24 openplotter pypilot_web[979]: File "src/gevent/greenlet.py", >
Jun 29 15:04:24 openplotter pypilot_web[979]: File "/usr/lib/python3/dist-pac>
Jun 29 15:04:24 openplotter pypilot_web[979]: return handle(*args_tuple)
Jun 29 15:04:24 openplotter pypilot_web[979]: ^^^^^^^^^^^^^^^^^^^
Jun 29 15:04:24 openplotter pypilot_web[979]: File "/usr/lib/python3/dist-pac>
Jun 29 15:04:24 openplotter pypilot_web[979]: with _closing_socket(self.wra>
Jun 29 15:04:24 openplotter pypilot_web[979]: ^^^^^^^^>
Jun 29 15:04:24 openplotter pypilot_web[979]: TypeError: wrap_socket() got an u>
Jun 29 15:04:24 openplotter pypilot_web[979]: 2026-06-29T22:04:24Z <Greenlet at>
lines 1-19/19 (END)
So to solve the first issue I edited this line in web.py
socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True) and changed it to socketio.run(app, debug=False, host='0.0.0.0', port=port)
Guess what: localhost:8000 finally working. The flask-socketio was up to date, so finally decide to edit this file.
In the meanwhile I had updated pypilot from github and saw version change from 0.70 to 0.71.
This created a new error for me. A repeating alert for security access request in signalK. See picture. I cannot figure out where it is coming from but very annoying when using the openplotter pypilot interface.
Anybody any insights on this:
Error for pypilot_web is back again. Despite several reinstalls of (openplotter-)pypilot and postinstall scripts I cannot get it to work.
Installation logs tell me everything is up to date. Can it be gevent issue because of missing SSL?
ul 14 13:54:43 openplotter pypilot_web[579]: Traceback (most recent call last):
jul 14 13:54:43 openplotter pypilot_web[579]: File "src/gevent/greenlet.py", line 912, in gevent._gevent_cgreenlet.Greenlet.run
jul 14 13:54:43 openplotter pypilot_web[579]: File "/usr/local/lib/python3.11/dist-packages/gevent/baseserver.py", line 34, in _handle_and_close_when_done
jul 14 13:54:43 openplotter pypilot_web[579]: return handle(*args_tuple)
jul 14 13:54:43 openplotter pypilot_web[579]: ^^^^^^^^^^^^^^^^^^^
jul 14 13:54:43 openplotter pypilot_web[579]: File "/usr/local/lib/python3.11/dist-packages/gevent/server.py", line 209, in wrap_socket_and_handle
jul 14 13:54:43 openplotter pypilot_web[579]: with _closing_socket(self.wrap_socket(client_socket, **self.ssl_args)) as ssl_socket:
jul 14 13:54:43 openplotter pypilot_web[579]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
jul 14 13:54:43 openplotter pypilot_web[579]: TypeError: wrap_socket() got an unexpected keyword argument 'allow_unsafe_werkzeug'
jul 14 13:54:43 openplotter pypilot_web[579]: 2026-07-14T11:54:43Z <Greenlet at 0x7fba4b04a0: _handle_and_close_when_done(<bound method StreamServer.wrap_socket_and_handle , <bound method>
~