Closed compumark closed 1 year ago
Unter doc/examples/vcontrold.service wird gezeigt, wie man das mit aktuellen Linux-Distributionen und systemd macht.
Wenn es dann bei dir läuft, kannst du das dann gerne im Wiki für andere Anfgänger dokumentieren.
Das hab ich leider auch nicht geschafft. Ich habe unter /etc/systemd/system ein vcontrol.service angelegt und den inhalt von doc/examples/vcontrold.service reinkopiert und mittels sudo systemctl start vcontrold gestartet, kommt der gleiche Fehler:
Meine Idee ist eigentlich das so zu modifizeren, dann der vclient 2 abfragen macht einmal die klassische rrdb befüllen vclient -h localhost:3002 -f /home/pi/openv/vcontrold/rrdb/vc-commands.txt -t /home/pi/openv/vcontrold/rrdb/rrdb-update.tmpl -x /home/pi/openv/vcontrold/rrdb/rrdb-update.sh
und einmal: vclient -h localhost:3002 -f /home/pi/openv/vcontrold/rrdb/vc-commands.txt -J -o result.json
schöner wäre es, in einem kommando zusammen, das geht aber leider nicht.
Das mit dem json und weiter mittels MQTT hätte ich hier gefunden: https://github.com/michelde/openv-vcontrold-docker/blob/main/startup.sh
Also eine Kombi aus beiden ;-)
Hi @speters Ich habe es nun teilweise zum laufen gebracht. Ein Phänomen habe ich aber noch und ich komm nicht drauf Hier mein startup script, welches nun vom systemd korrekt gestartet wird.
Hier sieht man, dass ich 2x den vclient starte, einmal mit dem Template file und schreiben nach RRD sowie JSON, gefolgt von MQTT publisher.
Wenn beide aktiv sind, dann schreibt vclient anscheinend daten in die RRD Datenbank - da diese im rhytmus immer aktualisiert wird mit einem ls -l zu sehen. auch das rrdb-update.sh file hat korrekt daten drinnen. Es wird aber dann nur ein fehlerhaftes Grafikfile erstellt - siehe weiter unten. Der MQTT / JSON Teil läuft einwandfrei durch. Sobald ich den JSON Teil sowie MQTT auskommentiere läuft auch die Erstellung der Grafik einwandfrei.... Beides hintereinander aber nicht :-(
Hat jemand eine Idee dazu, wie man das laufend bekommt? eine kombination aus dem Tempalte command mit dem JSON geht auch nicht, dass kann der vclient anscheinend nicht und die -v option beim client gibt auch nur eine Meldung vom connect her.
`#!/bin/bash set -x sleep 3
find /dev/ -name vitocal*
vcontrold -x /etc/vcontrold/vcontrold.xml -l /home/pi/openv/vcontrold.log -v -P /home/pi/openv/vcontrold.pid sleep 10 status=$? pid=$(pidof vcontrold) if [ $status -ne 0 ];then echo "Failed to start vcontrold" fi
if [ $MQTTACTIVE = true ]; then echo "vcontrold gestartet (PID $pid)" echo "MQTT: aktiv (var = $MQTTACTIVE)" echo "Aktualisierungsintervall: $INTERVAL sec" echo "Lese Parameter: $COMMANDS"
while sleep $INTERVAL; do
vclient -h localhost:3002 -f /home/pi/openv/vcontrold/rrdb/vc-commands.txt -t /home/pi/openv/vcontrold/rrdb/rrdb-update.tmpl -x /home/pi/openv/vcontrold/rrdb/rrdb-update.sh -v
sleep 10
vclient -h 127.0.0.1:3002 -f /home/pi/openv/vcontrold/rrdb/vc-commands.txt -J -o /home/pi/openv/mqtt/result.json
sleep 5
. /home/pi/openv/mqtt/mqtt_publish.sh
sleep 5
if [ -e /home/pi/openv/vcontrold.pid ]; then
:
else
echo "vcontrold.pid nicht vorhanden, exit 0"
exit 0
fi
done
else echo "vcontrold gestartet" echo "MQTT: inaktiv (var = $MQTTACTIVE)" echo "PID: $pid" while sleep 300; do if [ -e /home/pi/openv/vcontrold.pid ]; then : else echo "vcontrold.pid nicht vorhanden, exit 0" exit 0 fi done fi`
Ich habe das Problem geudfunden, es war in der RRD Datenbank ein Step von 120 angegeben, welcher aber mehr als 120 sekunden gedauert hat, bis beide vclient Abfragen durchgelaufen sind.
In der Wiki ist es nun dokumentiert, das Startup thema, als Punkt 6.1
Hallo,
wenn ich vcontrol nach dieser Anleitung installiere, scheitere ich beim Startupscript zum registrieren. https://github.com/openv/openv/wiki/vcontrold-mit-Raspberry-Pi#6-service-starten-inkl-automatischer-start
pi@raspberrypi:/etc/init.d $ sudo update-rc.d vcontrol start 99 2 3 4 5 . stop 99 0 1 6 . update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
scheint bei debian 11 - raspberian lite nicht mehr zu funktionieren. wenn die ich die zahlen weglasse sudo update-rc.d vcontrol defaults kommt keine fehlermeldung, aber starten geht nicht
pi@raspberrypi:/etc/init.d $ sudo /etc/init.d/vcontrol start Starting vcontrol (via systemctl): vcontrol.serviceJob for vcontrol.service failed because the control process exited with error code. See "systemctl status vcontrol.service" and "journalctl -xe" for details. failed!
Wenn ich dann den systemctl status abfrage:
und der journalctl eintrag
Hat jemand einen Ahnung wie ich das beheben kann, dass vcontrol endlich immer als service läuft? Vielen Dank Mark