openhab / openhabian

openHABian - empowering the smart home, for Raspberry Pi and Debian systems
https://community.openhab.org/t/13379
ISC License
820 stars 251 forks source link

FIND3 issues #1108

Closed mstormi closed 4 years ago

mstormi commented 4 years ago
+ echo -n '2020-09-01_22:35:10_CEST [openHABian] Adding FIND3 to ZRAM... '
2020-09-01_22:35:10_CEST [openHABian] Adding FIND3 to ZRAM... + cond_redirect sed -i -e '/^RequiresMountsFor=/ s/$/ /opt/zram/zram3/upper/' /etc/systemd/system/zramsync.service
+ [[ -n '' ]]
+ echo -e '\n\033[90;01m$ sed -i -e /^RequiresMountsFor=/ s/$/ /opt/zram/zram3/upper/ /etc/systemd/system/zramsync.service \033[39;49;00m'

$ sed -i -e /^RequiresMountsFor=/ s/$/ /opt/zram/zram3/upper/ /etc/systemd/system/zramsync.service
+ sed -i -e '/^RequiresMountsFor=/ s/$/ /opt/zram/zram3/upper/' /etc/systemd/system/zramsync.service
sed: -e expression #1, char 29: unknown option to `s'
+ return 1
+ echo 'FAILED (zramsync service)'
FAILED (zramsync service)
mstormi commented 4 years ago

Trying to to set this up right now Will rewrite https://community.openhab.org/t/find-personalized-indoor-localization/35799 when I have it working (I think we should move that into our repo when done)

Had quite some trouble but I think it's essentially working now (except for that my database seems to be totally bad).

Along the way I found there's at least 3 issues left: 1) /opt/find3/server/main/data directory missing after install => will get created on first use 2) ~~starts on port 8003 Will interfere with nginx if that is on => always start find3server on 8005 instead (nginx always maps there)~~ 3) where's the log ? I can start find3server manually to see output but no log => use journalctl -fxu find3server.service 4) on fresh install, the password to use should be used from /etc/default/find3server, not statically from /etc/systemd/system/find3server.service 5) installation fails on cython (see log in post below)

ecdye commented 4 years ago

I have some extra SD cards and a SD reader on the way. I will set up a new Dev machine and test a lot of the most recent changes and this when they get here.

ecdye commented 4 years ago
  1. on fresh install, the password to use should be used from /etc/default(find3server, not statically from /etc/systemd/system/find3server.service

I believe that it will take the values in the Default file over what it put in the service if they differ, however I may be wrong.

starts on port 8003 Will interfere with nginx if that is on => always start find3server on 8005 instead (nginx always maps there)

What do you mean, why is nginx mapping there? HTTPS port for openHAB should be 8443

/opt/find3/server/main/data directory missing after install

This is because it has to collect data from somewhere before it creates the directory, and it won't have any data until it has been connected to.

mstormi commented 4 years ago

I believe that it will take the values in the Default file over what it put in the service if they differ, however I may be wrong.

Installation sets values in both, find3server.service and /etc/default/find3server. The latter however is ignored. That we should change to override the settings in .service as you said.

I just tried to replicate on a fresh install but that failed to install FIND3 giving:

Processing triggers for systemd (241-7~deb10u4+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
+ return 0
+ cond_redirect python3 -m pip install cython --install-option=--no-cython-compile
+ [[ -n '' ]]
+ echo -e '\n\033[90;01m$ python3 -m pip install cython --install-option=--no-cython-compile \033[39;49;00m'

$ python3 -m pip install cython --install-option=--no-cython-compile
+ python3 -m pip install cython --install-option=--no-cython-compile
/usr/bin/python3: No module named pip
+ return 1
+ echo 'FAILED (cython)'
FAILED (cython)
+ return 1
+ '[' 1 -ne 0 ']'
+ whiptail --msgbox 'There was an error or interruption during the execution of:\n  "20 | Optional Components"\n\nPlease try again. 

Reason is python3-pip package was missing (FWIW I used offline install). After I added it, FIND installed properly. The proper fix would be to get python3 and python3-pip into the list of prefetched packages for offline install.

starts on port 8003 Will interfere with nginx if that is on => always start find3server on 8005 instead (nginx always maps there)

What do you mean, why is nginx mapping there? HTTPS port for openHAB should be 8443

You're right I was mistaken. As the fresh install didn't work I was looking at my dev + prod machines. FIND can be accessed on its default 8003 but not from the outside (unless you add port forwarding in router and nginx). As I want to be able to also connect to the dashboard or for learning purposes from the outside (Internet), too, I run access through nginx so I changed FIND to some other port (8005) and nginx exposes 8003 to the outside while internally connecting to FIND's 8005. FIND uses 8003 by default (or today: by explicitly calling it with 8003 which is the default so could be omitted as well). But I wouldn't think a normal user would need to run FIND through their firewall so we should not copy my personal setup. So forget about this point on my list.

ecdye commented 4 years ago

I can add python pip to the install prefetch and that should solve it.

ecdye commented 4 years ago

I think everything is working now.

mstormi commented 4 years ago

yes (didn't test but no need it's clear from the PR)