Hallo Leute,
ich brauche mal wieder eure Hilfe:
ich habe Openhab mithilfe dieser Anleitung installiert.
http://kriwanek.de/homeautomation/op...an-wheezy.html
Alles gut.
Autostart nach boot, service openhab start, service openhab stop, service openhab restart, ...
Alles funktioniert.
Jetzt habe ich vor, das Openhab auch Homematic-Geräte steuern kann.
Da habe ich homegear folgendermaßen installiert:
Nun habe ich aber das Problem, das ich homegear manuell über
service homegear start
starten muss.
Kann ich das Startscript von Openhab so anpassen, das homegear automatisch mit openhab gestartet wird?
oder macht es Sinn, ein komplett neues Startscript zu nehmen, welches ebenfalls beim boot gestartet wird?
Kann mir jemand das Script von Openhab so anpassen, dass homematic als Service nach dem boot gestartet wird?
Ich hab da leider nicht so die Ahnung von.....
/etc/init.d/openhab
im init.d-Ordner habe ich auch noch folgende Datei gefunden:
/etc/init.d/homegear
Heißt das soviel, das homegear bereits nach dem Boot gestartet wird?
Es taucht im Boot-Log aber nicht auf.
Ich kann nur folgendes lesen:
[ ok ] Starting OpenHab Server
Homegear finde ich da nicht.....
Hat das was mit den Usern oder Gruppen zu tun???
Kann mir jemand helfen???
ich brauche mal wieder eure Hilfe:
ich habe Openhab mithilfe dieser Anleitung installiert.
http://kriwanek.de/homeautomation/op...an-wheezy.html
Alles gut.
Autostart nach boot, service openhab start, service openhab stop, service openhab restart, ...
Alles funktioniert.
Jetzt habe ich vor, das Openhab auch Homematic-Geräte steuern kann.
Da habe ich homegear folgendermaßen installiert:
Code:
[h=2]Install Using Repository[/h] [COLOR=#362B36][FONT=sans-serif][SIZE=14px]Packages are provided for Raspbian 7 (Wheezy) and Raspbian 8 (Jessie).[/SIZE][/FONT][/COLOR] [COLOR=#362B36][FONT=sans-serif][SIZE=14px]For [B]Raspbian 7 (Wheezy)[/B] run the following as root:[/SIZE][/FONT][/COLOR] [COLOR=black][FONT=monospace][SIZE=14px] [FONT=monospace] [COLOR=#C20CB9][B]wget[/B][/COLOR] https:[B]//[/B]homegear.eu[B]/[/B]packages[B]/[/B]Release.key [B]&&[/B] [COLOR=#C20CB9][B]apt-key add[/B][/COLOR] Release.key [B]&&[/B] [COLOR=#C20CB9][B]rm[/B][/COLOR] Release.key [COLOR=#7A0874][B]echo[/B][/COLOR] [COLOR=#FF0000]'deb https://homegear.eu/packages/Raspbian/ wheezy/'[/COLOR] [B]>>[/B] [B]/[/B]etc[B]/[/B]apt[B]/[/B]sources.list.d[B]/[/B]homegear.list [COLOR=#C20CB9][B]apt-get update[/B][/COLOR] [COLOR=#C20CB9][B]apt-get install[/B][/COLOR] homegear [/FONT] [/SIZE][/FONT][/COLOR]
service homegear start
starten muss.
Kann ich das Startscript von Openhab so anpassen, das homegear automatisch mit openhab gestartet wird?
oder macht es Sinn, ein komplett neues Startscript zu nehmen, welches ebenfalls beim boot gestartet wird?
Kann mir jemand das Script von Openhab so anpassen, dass homematic als Service nach dem boot gestartet wird?
Ich hab da leider nicht so die Ahnung von.....
/etc/init.d/openhab
Code:
#! /bin/sh ### BEGIN INIT INFO # Provides: openhab # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: openHAB server # Description: Start / Stop openHAB server ### END INIT INFO # Author: Theo Weiss <theo.weiss@gmail.com> # PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="openHAB server" NAME=openhab OPENHAB_CONF_DIR="/etc/openhab" OPENHAB_DIR="/usr/share/openhab" OPENHAB_LOG_DIR="/var/log/openhab" OPENHAB_WORKSPACE_DIR="/var/lib/openhab/workspace" JAVA="/usr/bin/java" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Define LSB log_* functions. # Depend on lsb-base (>= 3.2-14) to ensure that this file is present # and status_of_proc is working. . /lib/lsb/init-functions LAUNCHER=`ls ${OPENHAB_DIR}/server/plugins/org.eclipse.equinox.launcher_*.jar` # Exit if the package is not installed if [ ! -r "$LAUNCHER" ]; then log_failure_msg "launcher jar is missing" exit 5 fi # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME if [ x"${OPENHAB_JAVA}" != x ]; then JAVA="${OPENHAB_JAVA}" fi if [ x"${USER_AND_GROUP}" != x ]; then USER=`echo ${USER_AND_GROUP} | cut -d ":" -f 1` GROUP=`echo ${USER_AND_GROUP} | cut -d ":" -f 2` #Check whether the specified user exists if ! getent passwd "${USER}" > /dev/null 2>&1; then log_failure_msg "runtime user doesn't exists" exit 2 fi #Check whether the specified group exists if ! getent group "${GROUP}" > /dev/null 2>&1; then log_failure_msg "runtime group doesn't exists" exit 2 fi # Check whether the specified user is member of "openhab" group USER_ID=`id --user ${USER}` if [ "${USER_ID}" != "0" ]; then MEMBER_OF=`id --groups --name "${USER}" | tr " " "\n"` for MEMBER_OF_GROUP in ${MEMBER_OF}; do if [ "${MEMBER_OF_GROUP}" = "openhab" ]; then IS_MEMBER="true" fi done if [ "${IS_MEMBER}" != "true" ]; then log_failure_msg "runtime user isn't member of 'openhab' group" exit 2 fi fi EXTRA_ARGS="-c "${USER_AND_GROUP}" --umask 002 --background --make-pidfile --chdir ${OPENHAB_DIR}" else EXTRA_ARGS="--umask 002 --background --make-pidfile --chdir ${OPENHAB_DIR}" fi # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh DEBUG_ARGS="-Xdebug \ -Xnoagent \ -Djava.compiler=NONE \ -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n \ -Dlogback.configurationFile=${OPENHAB_CONF_DIR}/logback_debug.xml" JAVA_ARGS_DEFAULT="-Dosgi.clean=true \ -Declipse.ignoreApp=true \ -Dosgi.noShutdown=true \ -Djetty.port=${HTTP_PORT} \ -Dopenhab.configfile="${OPENHAB_CONF_DIR}/configurations/openhab.cfg" \ -Dopenhab.configdir="${OPENHAB_CONF_DIR}/configurations" \ -Dopenhab.logdir="${OPENHAB_LOG_DIR}" \ -Djetty.home="${OPENHAB_DIR}" \ -Djetty.port.ssl=${HTTPS_PORT} \ -Djetty.config="${OPENHAB_CONF_DIR}/jetty" \ -Djetty.logs="${OPENHAB_LOG_DIR}" \ -Djetty.rundir="${OPENHAB_DIR}" \ -Dfelix.fileinstall.dir="${OPENHAB_DIR}/addons" \ -Djava.library.path="${OPENHAB_DIR}/lib" \ -Djava.security.auth.login.config="${OPENHAB_CONF_DIR}/login.conf" \ -Dorg.quartz.properties="${OPENHAB_CONF_DIR}/quartz.properties" \ -Dequinox.ds.block_timeout=240000 \ -Dequinox.scr.waitTimeOnBlock=60000 \ -Dfelix.fileinstall.active.level=4 \ -Djava.awt.headless=true \ -jar ${LAUNCHER} \ -configuration ${OPENHAB_WORKSPACE_DIR} \ -data ${OPENHAB_WORKSPACE_DIR} \ -console ${TELNET_PORT}" if [ x"${JAVA_ARGS}" != x ]; then JAVA_ARGS_DEFAULT="${JAVA_ARGS} ${JAVA_ARGS_DEFAULT}" fi if [ x"${OPENHAB_ARGS}" != x ]; then JAVA_ARGS_DEFAULT="${JAVA_ARGS_DEFAULT} ${OPENHAB_ARGS}" fi if (echo ${DEBUG} | grep -qi "^yes$"); then JAVA_ARGS_DEFAULT="${DEBUG_ARGS} ${JAVA_ARGS_DEFAULT}" else JAVA_ARGS_DEFAULT="-Dlogback.configurationFile=${OPENHAB_CONF_DIR}/logback.xml ${JAVA_ARGS_DEFAULT}" fi case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" if start-stop-daemon --start --quiet --pidfile $PIDFILE $EXTRA_ARGS \ --oknodo --exec $JAVA -- $JAVA_ARGS_DEFAULT then log_end_msg 0 else log_end_msg 1 fi ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" if start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ --pidfile $PIDFILE --oknodo then rm -f $PIDFILE log_end_msg 0 else log_end_msg 1 fi ;; status) status_of_proc "$JAVA" "$NAME" && exit 0 || exit $? ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME" if start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ --pidfile $PIDFILE --oknodo then rm -f $PIDFILE if start-stop-daemon --start --quiet --pidfile $PIDFILE $EXTRA_ARGS \ --oknodo --exec $JAVA -- $JAVA_ARGS_DEFAULT then log_end_msg 0 else log_end_msg 1 fi else log_end_msg 1 fi ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac
im init.d-Ordner habe ich auch noch folgende Datei gefunden:
/etc/init.d/homegear
Code:
#!/bin/bash ### BEGIN INIT INFO # Provides: homegear # Required-Start: $network $remote_fs $syslog ntp # Required-Stop: $network $remote_fs $syslog ntp # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Homegear ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin . /lib/lsb/init-functions CONFIGPATH=/etc/homegear DAEMON=/usr/bin/homegear PIDPATH=/var/run/homegear PIDFILE=$PIDPATH/homegear.pid DBPATH=/var/lib/homegear LOGPATH=/var/log/homegear test -x $DAEMON || exit 5 if [ -r /etc/default/homegear ]; then . /etc/default/homegear fi HOMEGEAR_OPTS="$HOMEGEAR_OPTS -d" LOCKFILE=/var/lock/homegear lock_homegear() { if [ -x /usr/bin/lockfile-create ]; then lockfile-create $LOCKFILE lockfile-touch $LOCKFILE & LOCKTOUCHPID="$!" fi } unlock_homegear() { if [ -x /usr/bin/lockfile-create ] ; then kill $LOCKTOUCHPID lockfile-remove $LOCKFILE fi } RUNASUSER=homegear RUNASGROUP=homegear case $1 in start) SPIPID=`ps -eo pid,cmd | grep "\[bcm2708_spi\.0\]" | sed 's/^ *//g' | cut -d ' ' -f 1` if [ ! -z "$SPIPID" ]; then chrt -f -p 99 $SPIPID fi if test ! -d $PIDPATH; then mkdir -p $PIDPATH fi chown -R $RUNASUSER:$RUNASGROUP $PIDPATH chmod -R 750 $PIDPATH if test ! -d $DBPATH; then mkdir -p $DBPATH fi chown -R $RUNASUSER:$RUNASGROUP $DBPATH chmod 750 $DBPATH chmod 640 $DBPATH/db.sql chmod 550 $DBPATH/scripts chmod 550 $DBPATH/firmware chmod 440 $DBPATH/firmware/* chmod 550 $DBPATH/firmware/GetFirmwareUpdates.sh chmod -R 550 $DBPATH/modules if test ! -d $LOGPATH; then mkdir -p $LOGPATH fi chown -R $RUNASUSER:$RUNASGROUP $LOGPATH chmod -R 750 $LOGPATH $DAEMON -c $CONFIGPATH -s $RUNASUSER $RUNASGROUP log_daemon_msg "Starting Homegear" "homegear" lock_homegear #Probably has no effect at all... ulimit -r 100 start-stop-daemon --start --quiet --oknodo -c $RUNASUSER -g $RUNASGROUP --pidfile $PIDFILE --startas $DAEMON -- -p $PIDFILE $HOMEGEAR_OPTS status=$? unlock_homegear log_end_msg $status ;; stop) log_daemon_msg "Stopping Homegear" "homegear" if test -e $PIDFILE; then PID=`cat $PIDFILE` PROCESSCOUNT=`ps --pid $PID | grep -c homegear` if [ $PROCESSCOUNT -ne 0 ]; then start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE fi INDEX=0 while [ $PROCESSCOUNT -ne 0 ] && [ $INDEX -lt 5000 ]; do sleep 0.01 PROCESSCOUNT=`ps --pid $PID | grep -c homegear` if log_use_fancy_output; then LOGLINE=`tail -n 20 $LOGPATH/homegear.log | grep -o ".[sS]hutdown. => .*$" | tail -n 1` MESSAGE=`printf "%-70s" "${LOGLINE:14}"` if [ ! -z "$LOGLINE" ]; then $TPUT civis || true $TPUT sc && \ $TPUT hpa 36 && \ CYAN=$( $TPUT setaf 6) NORMAL=$( $TPUT op) echo -ne "(${CYAN} $MESSAGE ${NORMAL})" || true $TPUT rc || true $TPUT cnorm || true fi fi INDEX=$((INDEX+1)) done if log_use_fancy_output; then $TPUT civis || true $TPUT sc && \ $TPUT hpa 36 && \ CYAN=$( $TPUT setaf 6) NORMAL=$( $TPUT op) echo -ne " " || true $TPUT rc || true $TPUT cnorm || true fi if [ $PROCESSCOUNT -ne 0 ]; then log_end_msg 1 else log_end_msg 0 fi rm -f $PIDFILE else log_end_msg 1 echo "Can't stop homegear. There is no pid file." fi ;; restart|force-reload) $0 stop && sleep 2 && $0 start ;; try-restart) if $0 status >/dev/null; then $0 restart else exit 0 fi ;; reload) log_daemon_msg "Reloading Homegear" "homegear" if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $PIDFILE; then log_end_msg 0 || true else log_end_msg 1 || true fi ;; status) status_of_proc $DAEMON "homegear" ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload|status}" exit 2 ;; esac
Es taucht im Boot-Log aber nicht auf.
Ich kann nur folgendes lesen:
[ ok ] Starting OpenHab Server
Homegear finde ich da nicht.....
Hat das was mit den Usern oder Gruppen zu tun???
Kann mir jemand helfen???
Kommentar