OpenHAB sur Pi framboise (2 / 3 étapes)

Étape 2: Configurer openHAB pour démarrer automatiquement au démarrage

Dans le cas d’une surtension, panne de courant ou si vous décidez de relancer votre Pi, votre OpenHAB programme devra être redémarré. C’est une grande douleur l’extrémité arrière, donc nous allons vouloir configurer pour qu’il démarre au début.

Tout d’abord éteindre vous voudrez créer un nouveau fichier dans le dossier /etc/init.d appelé « openhab ».

Vous voudrez ajouter quelques lignes de code dans votre fichier openhab en utilisant l’éditeur nano ou votre éditeur favori de choix.

 sudo nano /etc/init.d/openhab 

Ajoutez ce code :

 #! /bin/sh<br>### BEGIN INIT INFO # Provides: openhab # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: OpenHAB Daemon ### END INIT INFO# Author: Thomas Brettinger# Do NOT "set -e"# PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/binDESC="Open Home Automation Bus Daemon" NAME=openhab DAEMON=/usr/bin/java PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME ECLIPSEHOME="/opt/openhab"; HTTPPORT=8080 HTTPSPORT=8443 TELNETPORT=5555 # be sure you are adopting the user to your local OH user RUN_AS=pi# get path to equinox jar inside $eclipsehome folder cp=$(find $ECLIPSEHOME/server -name "org.eclipse.equinox.launcher_*.jar" | sort | tail -1);DAEMON_ARGS="-Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.port=$HTTPPORT -Djetty.port.ssl=$HTTPSPORT -Djetty.home=$ECLIPSEHOME -Dlogback.configurationFile=$ECLIPSEHOME/configurations/logback.xml -Dfelix.fileinstall.dir=$ECLIPSEHOME/addons -Djava.library.path=$ECLIPSEHOME/lib -Djava.security.auth.login.config=$ECLIPSEHOME/etc/login.conf -Dorg.quartz.properties=$ECLIPSEHOME/etc/quartz.properties -Djava.awt.headless=true -jar $cp -console ${TELNETPORT}"# Exit if the package is not installed [ -x "$DAEMON" ] || exit 0# Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME# Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh# 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# # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --chdir $ECLIPSEHOME --exec $DAEMON --test > /dev/null \ || return 1 start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --chdir $ECLIPSEHOME --exec $DAEMON -- $DAEMON_ARGS \ || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. return 0 }# # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" }# # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # do_stop sleep 1 do_start return 0 }case "$1" in start) log_daemon_msg "Starting $DESC" do_start case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "Stopping $DESC" do_stop case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac : 

Vous pouvez aussi aller ici pour voir la version lisible ou vous pouvez copier et coller le code à partir de là.

Vous devrez peut-être modifier le RUN_AS = pi à votre utilisateur actuel.

Enfin, vous voudrez faire de ce fichier exécutable.

 sudo chmod a+x /etc/init.d/openhab 

Et pour qu’il démarre automatiquement au début de la Pi

 sudo update-rc.d openhab defaults 

Si vous obtenez une erreur qui ressemble à ceci :

 insserv: Script openhab is broken: incomplete LSB comment. insserv: missing `Provides:' entry: please add. insserv: missing `Required-Start:' entry: please add even if empty. insserv: missing `Required-Stop:' entry: please add even if empty. insserv: missing `Default-Start:' entry: please add even if empty. insserv: missing `Default-Stop:' entry: please add even if empty. insserv: Default-Start undefined, assuming empty start runlevel(s) for script `openhab' insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script `openhab' 

Vous avez un problème de mise en retrait. Parfois, à coller dans votre éditeur de texte est placé dans un format facile à lire qui met des échancrures dans quelques-uns des premières lignes de code. Toute information qui est écrit pour update-rc.d doit être dans la première colonne. Et il faut éviter toute tabulation ou un espace avant le « # ». S’il n’y a aucune suppression eux ou vous générera cette erreur.

Pour en revenir à votre fichier et double contrôle.

 sudo nano /etc/init.d/openhab 

Premières colonnes devraient ressembler ce (Ne pas copier et coller, l’espacement des caractères ASCII contient) simplement l’utiliser comme un exemple visuel :

#! / bin/sh
### BEGIN INIT INFO

# Fournit : openhab
# Démarrage requis : $remote_fs $syslog
# Requis-Stop : $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description : OpenHAB démon
### FIN INIT INFO

Remarquez comment il n’y a aucun espaces ou des tirets avant chaque signe #.

Complet, votre Pi framboise va démarrer maintenant openHAB au début.

Articles Liés

Installation OpenHAB sur Pi framboise

Installation OpenHAB sur Pi framboise

Openhab est un système de bus domotique ouvert. C'est une plate-forme pour les composants qui sont utilisés pour l'automatisation du bâtiment. Fabricant d'une variété de différents fournisseurs et protocole peut s'interconnecter de manière neutre sur
Installer OpenHAB sur Pi framboise

Installer OpenHAB sur Pi framboise

Installez la dernière version d'openHAB sur Raspberry Pi et téléchargez la démo en cours d'exécution. Pour beaucoup de fabricants, l'internet des choses est tout à propos de domotique. openHAB est le leader open source domotique.J'ai lutté avec instr
OpenHab sur Pi contrôlant la particule Photon relais

OpenHab sur Pi contrôlant la particule Photon relais

Dans cet article nous animera OpenHab qui est un logiciel open source de domotique sur une facture pro forma de framboise. J'ai utilisé un modèle de Raspberry Pi B s'exécute Raspbian, mais cet article devrait fonctionner aussi longtemps que vous util
Serveur Minecraft sur Pi framboise 1.8.9

Serveur Minecraft sur Pi framboise 1.8.9

Serveur Minecraft 1.8 sur Pi framboise !Voici les choses que vous allez avoir besoin de télécharger avant de commencer-Win32DiskImager et masticDans ce tutoriel, je vais vous expliquer comment créer et exécuter un serveur Minecraft 1.8 complet sur le
Installation d’openHab sur le Raspberry Pi

Installation d’openHab sur le Raspberry Pi

J'ai essayé de faire une complète étape par étape tutoriel, comme vivre que possible, sans répétitions, quant à voir dans quels problèmes un utilisateur normal peut entrer lorsqu'il/elle essaie d'installer openhab. Je sais il s'agit d'un tutoriel ass
Visiophonie sur Pi framboise 3

Visiophonie sur Pi framboise 3

Étant donné que j'ai quitté ma maison pour mes études universitaires il y a 5 ans, j'ai réalisé combien il est difficile d'être loin de la famille. Visiophonie est une option pour la plupart des gens, cependant, que mes parents ne sont pas en mesure
Installation RetroPie/EmulationStation sur Pi framboise 2 modèle B + (émulateur Playstation 1 inclus!)

Installation RetroPie/EmulationStation sur Pi framboise 2 modèle B + (émulateur Playstation 1 inclus!)

ATTENTIONCe guide a été écrit pour la libération de RetroPie 2.0 +. J'ai écrit un nouveau guide pour RetroPie 3.0 + pour tous les modèles de Raspberry Pi, y compris le nouveau Raspberry Pi zéro.S'il vous plaît cliquez ici pour être redirigé vers le g
Bitcoin minière sur Pi2 framboise

Bitcoin minière sur Pi2 framboise

Rassembler les pièces.Vous aurez besoin d'une framboise Pi 2Un hub USB alimenté (s'il vous plaît ne pas bon marché à là-dessus)Antminer U1/U2/U3Ventilateur USBRaspberry pi radiateur avec ventilateurÉtape 1: crédithttp://Bitcoin.StackExchange.com/ques
JavaScript pour ITO : contrôler un bouton sur la framboise Pi par Node.js

JavaScript pour ITO : contrôler un bouton sur la framboise Pi par Node.js

Ce tutoriel explique comment monter un « push to faire » bouton sur une maquette, il connecté à Raspberry Pi et à contrôler avec JavaScript et Node.js. L'exemple entier est open source et il est disponible sur GitHub sous la licence MIT. L'algorithme
Son haut de gamme avec 7 pouces écran tactile contrôle basé sur Pi framboise et Max2Play

Son haut de gamme avec 7 pouces écran tactile contrôle basé sur Pi framboise et Max2Play

Avec l'arrivée de la nouvelle officielle Raspberry Pi écran tactile, nous étions ravis de trouver des applications pour elle dans notre système de Max2Play. Puisque les applications audio ont été un de nos principaux objectifs dès le début, nous avon
Getting Started with Phidgets sur la framboise Pi

Getting Started with Phidgets sur la framboise Pi

Cette instructable est une adaptation de une de notre blog posts .Avant de commencer, vous aurez envie d'avoir quelques petites choses en place. Vous aurez besoin :Un fonctionnement Raspberry Pi (évidemment).Un hub USB alimenté séparément, puisque le
Jouer de la musique sur Pi framboise à l’aide de XMMS2

Jouer de la musique sur Pi framboise à l’aide de XMMS2

IntroductionJ'ai installé et testé les joueurs de musique/media suivants dans mon Raspberry Pi :rhythymbox - s'est écrasé chaque fois que j'ai cliqué sur une chansonaudacieux - n'a pas répondu à chaque fois que j'ai cliqué sur une chansonMPlayer - a
Google Chrome sur PardusARM (framboise Pi 2)

Google Chrome sur PardusARM (framboise Pi 2)

Aujourd'hui, je vais vous montrer comment utiliser Google Chrome navigateur alias projet Open Source de chrome. J'utilise le système d'exploitation de PardusARM basée sur Debian. Avec jury de Raspberry Pi 2. Comme vous le savez, Midori est le navigat
Jouer un son flux Youtube sur TimeSQuAir (framboise Pi)

Jouer un son flux Youtube sur TimeSQuAir (framboise Pi)

Vous voulez diffuser de la musique disponible sur Youtube, et nous vous comprenons ! Telle une immense collection disponible pour libre ! Suivez cette recette de 5 minutes, et vous serez en mesure d'écouter vos chansons préférées !Tout d'abord, voilà