DeBaschdi / docker.solaranzeige

GNU General Public License v3.0
71 stars 25 forks source link

solaranzeige.setup wird für multi-regler-version ausgeführt #23

Closed Tapter closed 11 months ago

Tapter commented 1 year ago

In entrypoint steht folgendes:

if [[ ! -f /var/www/html/user.config.php ]]; then
  /usr/local/sbin/solaranzeige.setup
fi

Dies führt in meiner multi-regler-version dazu, dass das setup bei jedem container start ausgeführt wird, da ich die user.config.php gelöscht habe (da sie in der multi-regler Version eigentlich nicht gebraucht wird und (mich) nur verwirrt. Das if könnte also besser ergänzt werden, dass wenn weder user.config.php noch 1.user.config.php existiert, das setup ausgeführt wird.

Zusätzlich scheint der entrypoint mit der Ausführung dieses scripts zu stoppen. Ich habe danach keinen weiteren output mehr und diverse services werden auch gar nicht erst gestartet. Hier der output meines startups:

Current default time zone: 'Europe/Berlin'
Local time is now:      Thu Sep 21 16:12:38 CEST 2023.
Universal Time is now:  Thu Sep 21 14:12:38 UTC 2023.

users:x:100:
##################################
# Initial Setup for Solaranzeige #
##################################

create necessary files/directories...

downloading Main Program...
Cloning into 'solar_config'...
remote: Enumerating objects: 386, done.
remote: Counting objects: 100% (386/386), done.
remote: Compressing objects: 100% (256/256), done.
remote: Total 386 (delta 146), reused 294 (delta 93), pack-reused 0
Receiving objects: 100% (386/386), 3.85 MiB | 793.00 KiB/s, done.
Resolving deltas: 100% (146/146), done.

Update wird gestartet .....

Solaranzeige Update ist beendet. Normalerweise ist kein 'reboot'  nötig,
außer das Problem lag in der Verbindung zum Regler / Wechselrichter.
In diesem Fall muss der Docker neu gestartet werden:
Dieser Update war nicht für das Betriebssystem, InfuxDB und auch nicht für Grafana.

Installing PVForecast...
Cloning into 'PVForecast'...
remote: Enumerating objects: 467, done.
remote: Counting objects: 100% (171/171), done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 467 (delta 125), reused 146 (delta 118), pack-reused 296
Receiving objects: 100% (467/467), 1.75 MiB | 11.42 MiB/s, done.
Resolving deltas: 100% (278/278), done.
'/tmp/git/PVForecast/PVForecast/__init__.py' -> '/pvforecast/PVForecast/__init__.py'
'/tmp/git/PVForecast/PVForecast/co2signal.py' -> '/pvforecast/PVForecast/co2signal.py'
'/tmp/git/PVForecast/PVForecast/csvinput.py' -> '/pvforecast/PVForecast/csvinput.py'
'/tmp/git/PVForecast/PVForecast/dbrepository.py' -> '/pvforecast/PVForecast/dbrepository.py'
'/tmp/git/PVForecast/PVForecast/dwdforecast.py' -> '/pvforecast/PVForecast/dwdforecast.py'
'/tmp/git/PVForecast/PVForecast/entsoe.py' -> '/pvforecast/PVForecast/entsoe.py'
'/tmp/git/PVForecast/PVForecast/forecast.py' -> '/pvforecast/PVForecast/forecast.py'
'/tmp/git/PVForecast/PVForecast/forecast_manager.py' -> '/pvforecast/PVForecast/forecast_manager.py'
'/tmp/git/PVForecast/PVForecast/influx.py' -> '/pvforecast/PVForecast/influx.py'
'/tmp/git/PVForecast/PVForecast/openweather.py' -> '/pvforecast/PVForecast/openweather.py'
'/tmp/git/PVForecast/PVForecast/pvmodel.py' -> '/pvforecast/PVForecast/pvmodel.py'
'/tmp/git/PVForecast/PVForecast/solcast.py' -> '/pvforecast/PVForecast/solcast.py'
'/tmp/git/PVForecast/PVForecast/visualcrossing.py' -> '/pvforecast/PVForecast/visualcrossing.py'

Installing Grafana Plugins...
✔ Downloaded and extracted fetzerch-sunandmoon-datasource v0.3.0 zip successfully to /var/lib/grafana/plugins/fetzerch-sunandmoon-datasource

Please restart Grafana after installing or removing plugins. Refer to Grafana documentation for instructions if necessary.

✔ Downloaded and extracted briangann-gauge-panel v0.0.9 zip successfully to /var/lib/grafana/plugins/briangann-gauge-panel

Please restart Grafana after installing or removing plugins. Refer to Grafana documentation for instructions if necessary.

##############################################################################################
# Initial Setup for Solaranzeige completed, please run /solaranzeige/setup for Configuration #
# example : docker exec -ti Solaranzeige /solaranzeige/setup                                 #
##############################################################################################

21.09. 16:11:24 |----------------   Start  user_device.php ...

Danach läuft aber weder der grafana noch der cron service!?

Ist ausserdem die Idee, dass /solaranzeige/solaranzeige_cron gepatcht wird statt die crontab direkt? Wäre sinnvoll, das explizit zu dokumentieren

ASDBigmac commented 11 months ago

Kann ich bestätigen. Das hat gleich mal wieder die initiale Config wieder überschrieben. Bitte anpassen, dass auch auf 1.user.config.php überprüft wird

pixelchrome commented 11 months ago

Same like issue #4

DeBaschdi commented 11 months ago

https://solaranzeige.de/phpBB3/viewtopic.php?p=32871#p32871

Tapter commented 11 months ago

Eigentlich hat das ja wenig miteinander zu tun? Die crontab muss natürlich sowieso auch angepasst werden dass die multi-regler Version per se funktioniert, aber solange das user.config.php NICHT existiert (was es für multi-regler eben nicht muss), wird beim container start trotzdem ein reset durchgeführt. Was spricht dagegen, das if zu ergänzen? Ich würde das issue daher gerne reopenen und vorschlagen, das IF zu ergänzen in deinem entrypoint script