Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Autostart på Raspberry pi


syver

Anbefalte innlegg

Har kjøpt homeseer3 standard utgave sammen med en Raspberry pi3 og lagt inn raspbian som os. Alt kjører ok men jeg sliter med å få til autostart av Homeseer på pi*en ved reboot :-(. Er det noen som kan hjelpe på en enkel å grei måte. Er ikke noen "raser" på linix men kan litt...

 

Mvh

Syver

 

Lenke til kommentar
Del på andre sider

Det kan jeg, @syver!

 

Det er mange måter å gjøre dette på. For meg var det viktig å kunne bruke menyvalgene i HomeSeer til å reboote, så jeg gjorde det på min egen måte da jeg satte opp min pi.

http://board.homeseer.com/showpost.php?p=1207908&postcount=51

 

Det har fungert utmerket. Jeg hadde faktisk glemt hele problemstillingen og måtte tenke en stund og lete før jeg kom på at jeg hadde gjort dette. HomeSeer har i alle tilfelle alltid startet når jeg booter/rebooter.

 

Dette er skriptet jeg endte opp med å bruke:

 

#!/bin/sh
sleep 30

# HomeSeer install directory
HomeSeer_HOME="/home/pi/HomeSeer"

# Name of the logfile)
logfile="${HomeSeer_HOME}/HomeSeer_logfile.log"

# How many lines of the logfile (any number) from last run to keep at new boot, "disable" to disable limiting.
#keep="disable"
keep="1000"

# Limiting the logfile
if [ "$keep" = "disable" ]
then :
else [ ! -f ${logfile} ] && touch ${logfile}
length=`cat ${logfile} | wc -l` && [ "$length" -gt "$keep" ] && tail -n ${keep} ${logfile} > "${logfile}_tmp" && mv "${logfile}_tmp" ${logfile}
fi

cd ${HomeSeer_HOME}
./go  >> ${logfile} 2>&1

 

Edit:

Og, når du først er i de trakter kan du sørge for å få 24-timers klokke i stedet for 12-timers. Editer første linje i 'go' i HomeSeer-mappen til

export LANG=en_GB.UTF-8. Her antar jeg det står en_US.UTF-8, men i Storbritannia har man 24-timers klokke, og i US 12.

 

Endret av DiderikFrom
Lenke til kommentar
Del på andre sider

#! /bin/sh

### BEGIN INIT INFO
# Provides:             homeseer
# Required-Start:       $local_fs $network $remote_fs
# Required-Stop:        $local_fs $network $remote_fs
# Should-Start:         $NetworkManager
# Should-Stop:          $NetworkManager
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    RaZberry Z-Wave service
# Description:          Start HomeSeer server for to allow Raspberry Pi talk with Z-Wave devices using RaZberry
### END INIT INFO

case "$1" in
  start)
    echo "Starting HomeSeer: "
    cd /home/pi/HomeSeer
    sudo ./go
    echo "done."
    ;;
  stop)
    echo "Stopping HomeSeer: "
    shutdown
    echo "done."
    ;;
  *)
    echo "Usage: /etc/init.d/homeseer {start|stop}"
    exit 1
    ;;
esac

exit 0

sudo nano /etc/init.d/homeseer og legg inn koden ovenfor
sudo chmod +x /etc/init.d/homeseer
sudo update-rc.d homeseer defaults

Endret av Oddvar
Lenke til kommentar
Del på andre sider

Det spiller ingen rolle hvor du har, jeg har det i HomeSeer-mappen.

 

Men dersom du bruker «min» metode, må du også gjøre som jeg beskriver i posten på HomeSeer-forumet,. Følg lenken.

Oddvar beskriver hvordan du setter opp dette som en «service». Det så jo veldig greit ut, jeg har ikke sett den en så enkel variant tidligere. Oddvar kan kanskje svare på om man kan bruke «Restart»/«Shutdown» fra selve HomeSeer med den metoden -- det kunne man ikke med de variantene av service jeg så på for lenge siden, men jeg kan ikke svare for denne.

Lenke til kommentar
Del på andre sider

Man kan også benytte seg av Homeseer Pi versjonen. Installer denne først og gjør en oppstart. Slå av systemet så kan du bare legge inn HS3 i Homeseer mappen som er opprettet i etc/local/HomeSeer. Du vil du da kunne benytte deg av de innebygde funksjonene for restart og annet i web klienten. Husk bare å kopiere ut led.sh filen, denne må legges inn etter at HS3 er kopiert over.

Lenke til kommentar
Del på andre sider

17 timer siden, DiderikFrom skrev:

Det jeg har gjort nå er :

1: laget en fil som heter autostart_hs_syver som ser slik ut:

 

#!/bin/sh
sleep 30

# HomeSeer install directory
HomeSeer_HOME="/usr/local/HomeSeer"

# Name of the logfile)
logfile="${HomeSeer_HOME/Logs}/HomeSeer_logfile.log"

# How many lines of the logfile (any number) from last run to keep at new boot, "disable" to disable limiting.
#keep="disable"
keep="1000"

# Limiting the logfile
if [ "$keep" = "disable" ]
then :
else [ ! -f ${logfile} ] && touch ${logfile}
length=`cat ${logfile} | wc -l` && [ "$length" -gt "$keep" ] && tail -n ${keep} ${logfile} > "${logfile}_tmp" && mv "${logfile}_tmp" ${logfile}
fi

cd ${HomeSeer_HOME}
./go  >> ${logfile} 2>&1

2: Plasert denne i HomeSeer mappa som har sti usr/local/HomeSeer

3: Laget en tom logfil i mappa usr/local/HomeSeer/Logs

 

Skal det da bare være og restarte så "voila" så starter HS3 av seg selv ???

 

17 timer siden, DiderikFrom skrev:

 

 

 

Det kan jeg, @syver!

 

Det er mange måter å gjøre dette på. For meg var det viktig å kunne bruke menyvalgene i HomeSeer til å reboote, så jeg gjorde det på min egen måte da jeg satte opp min pi.

http://board.homeseer.com/showpost.php?p=1207908&postcount=51

 

Det har fungert utmerket. Jeg hadde faktisk glemt hele problemstillingen og måtte tenke en stund og lete før jeg kom på at jeg hadde gjort dette. HomeSeer har i alle tilfelle alltid startet når jeg booter/rebooter.

 

Dette er skriptet jeg endte opp med å bruke:

 


#!/bin/sh
sleep 30

# HomeSeer install directory
HomeSeer_HOME="/home/pi/HomeSeer"

# Name of the logfile)
logfile="${HomeSeer_HOME}/HomeSeer_logfile.log"

# How many lines of the logfile (any number) from last run to keep at new boot, "disable" to disable limiting.
#keep="disable"
keep="1000"

# Limiting the logfile
if [ "$keep" = "disable" ]
then :
else [ ! -f ${logfile} ] && touch ${logfile}
length=`cat ${logfile} | wc -l` && [ "$length" -gt "$keep" ] && tail -n ${keep} ${logfile} > "${logfile}_tmp" && mv "${logfile}_tmp" ${logfile}
fi

cd ${HomeSeer_HOME}
./go  >> ${logfile} 2>&1

 

Edit:

Og, når du først er i de trakter kan du sørge for å få 24-timers klokke i stedet for 12-timers. Editer første linje i 'go' i HomeSeer-mappen til

export LANG=en_GB.UTF-8. Her antar jeg det står en_US.UTF-8, men i Storbritannia har man 24-timers klokke, og i US 12.

 

 

Lenke til kommentar
Del på andre sider

1 og 2. Utmerket. Du må også sørge for at den kan kjøres av root:

sudo chmod a+x /usr/local/HomeSeer/autostart_hs_syver

 

3. Unødvendig.

 

4. Som jeg skrev her (men kanskje ikke i klartekst): http://board.homeseer.com/showpost.php?p=1207908&postcount=51

 

Åpne filen /etc/rc.local med

sudo nano /etc/rc.local

 

Og rett før linjen exit 0, setter du inn

 

# Starting Homeseer
sh /usr/local/HomeSeer/autostart_hs_syver &

 

ctrl-x for å lagre

 

Og reboot.

 

5. Jeg vet ikke om du starter HS som root eller som lokal bruker? Er du usikker på rettigheter og slikt, kan du poste

ls -al /usr/local/HomeSeer

Dersom dette skal virke, og du ikke vil ha masse annet styr  i fremtiden, må du sørge for å ha korrekte rettigheter på HS.

 

For meg har dette fungert feilfritt i lange tider.

Endret av DiderikFrom
Lenke til kommentar
Del på andre sider

Her er filen. Tusen takk for at du gidder. Er 25 år siden jeg surret rundt i Linux :-)

 

pi@raspberrypi:~ $ ls -al /usr/local/HomeSeer
totalt 10332
drwxrwxrwx 19 pi   root     4096 des.  19 11:09 .
drwxrwsr-x 11 root staff    4096 des.  15 10:44 ..
-rwxrwxrwx  1 pi   root       82 des.  19 10:48 autostart_hs
-rwxrwxrwx  1 pi   pi        618 des.  19 11:15 autostart_hs_syver
drwxr-xr-x  5 pi   root     4096 des.  18 16:53 bin
-rwxr-xr-x  1 pi   root      271 nov.  21  2014 change_password.sh
-rwxr-xr-x  1 pi   root     7454 nov.  13  2014 check_passwd
drwxr-xr-x  3 pi   root     4096 des.  18 16:54 Config
drwxr-xr-x  2 pi   root     4096 mai   22  2015 ConfigBackup
-rw-r--r--  1 pi   root   176128 nov.  21  2014 CSScriptLibrary.dll
drwxrwxrwx  7 pi   root     4096 des.  19 12:02 Data
drwxr-xr-x  2 root root     4096 des.  17 19:13 Docs
-rwxr-xr-x  1 pi   root      699 april 26  2016 factory.sh
-rwxr-xr-x  1 pi   root       54 des.  19 10:21 go
drwxr-xr-x  2 pi   root     4096 juni  26  2015 Grammar
-rwxr-xr-x  1 root root    75776 sep.   2 17:41 HomeSeerAPI.dll
-rw-r--r--  1 pi   root    44032 nov.  13  2014 HSCF.dll
-rwxr-xr-x  1 root root    13312 sep.   2 17:41 HSConsole.exe
-rw-r--r--  1 pi   root     1505 nov.  21  2014 HSConsole.exe.config
-rw-r--r--  1 root root   366592 nov.  18 14:54 HSPI_BLBackup.exe
-rw-r--r--  1 root root      360 mai   20  2015 HSPI_BLBackup.exe.config
-rw-r--r--  1 root root   221184 mai   29  2015 HSPI_HSTOUCH.exe
-rw-r--r--  1 root root   742912 nov.  29 15:11 HSPI_JowiHue.exe
-rw-r--r--  1 root root      582 okt.   2  2015 HSPI_JowiHue.exe.config
-rw-r--r--  1 root root   668160 okt.  27 11:16 HSPI_RFXCOM.exe
-rw-r--r--  1 root root  3106816 juli  29 15:46 HSPI_ZWave.exe
-rw-r--r--  1 root root      357 des.  18  2012 HSPI_ZWave.exe.config
drwxr-xr-x 12 pi   root     4096 des.  18 16:54 html
-rwxr-xr-x  1 pi   root       36 nov.  21  2014 install.sh
drwxr-xr-x  2 pi   root     4096 des.  19 11:14 Logs
-rwxr-xr-x  1 pi   root   930816 nov.  13  2014 Mail.dll
drwxr-xr-x  2 pi   root     4096 juni  26  2015 Media
drwxr-xr-x  2 pi   root     4096 nov.  21  2014 mochad
-rw-r--r--  1 pi   root  1147904 nov.  21  2014 Mono.CSharp.dll
-rwxr-xr-x  1 pi   root       22 nov.  21  2014 play_audio.sh
-rwxr-xr-x  1 pi   root      434 nov.  21  2014 register_with_find.sh
-rwxr-xr-x  1 pi   root      385 nov.  21  2014 restart.sh
-rw-r--r--  1 root root   126976 des.  10  2012 RssToolkit.dll
-rwxr-xr-x  1 pi   root       14 nov.  21  2014 run_command_raw.sh
-rwxr-xr-x  1 pi   root       43 nov.  21  2014 run_command.sh
-rwxr-xr-x  1 root root  2646528 sep.   2 17:41 Scheduler.dll
-rw-r--r--  1 pi   root     1529 nov.  21  2014 Scheduler.dll.config
drwxr-xr-x  2 pi   root     4096 des.  15 14:29 scripts
-rwxr-xr-x  1 pi   root      405 nov.  21  2014 shutdown_controller.sh
-rwxr-xr-x  1 pi   root       31 nov.  21  2014 shutdown.sh
-rwxr-xr-x  1 pi   root       81 nov.  21  2014 speak.sh
-rwxr-xr-x  1 pi   root       32 nov.  21  2014 speak_to_file.sh
drwxr-xr-x  2 pi   root     4096 nov.  21  2014 Temp
drwxr-xr-x  2 pi   root     4096 mai    2  2015 temp
-rw-r--r--  1 root root    47660 sep.   2 17:41 temp.wav
-rwxr-xr-x  1 pi   root       50 nov.  21  2014 update_extra.sh
-rw-r--r--  1 root root    57408 des.  19 05:47 updater.txt
drwxr-xr-x  8 pi   root     4096 des.  18 16:53 Updates3
-rwxr-xr-x  1 pi   root      540 nov.  21  2014 update.sh
drwxr-xr-x  3 root root     4096 des.  15 11:04 usr
drwxr-xr-x  2 pi   root     4096 nov.  21  2014 Wave
drwxr-xr-x  2 pi   root     4096 nov.  21  2014 wave_files
pi@raspberrypi:~ $

 

Lenke til kommentar
Del på andre sider

HomeSeer burde starte ved reboot nå.

 

Men det er en pen miks av rettigheter i HomeSeer-mappen, altså... Dersom dette funker for deg, kan du jo la det være slik. Det kan oppstå problemer fordi HomeSeer/root ikke har tilgang til filene dine/pi, og vice versa. Generelt bør jo alt i HomeSeer-mappen være eid av root.

 

sudo chown -R root:root /usr/local/HomeSeer

 

Men ikke kjør den kommandoen dersom du ikke vet hva det innebærer. Jeg vet ikke helt hvordan du jobber med linux/HomeSeer.

Lenke til kommentar
Del på andre sider

  • 8 måneder senere...

Hei!

 

Har forsøkt frem og tilbake for å få dette til, men det er mest sannsynligvis mangelen på linuxkompetanse som stopper meg fra å få dette til å fungere. Har veeeeldig lyst til å få Homeseer til å starte av seg selv, ufattelig hvor vanskelig dette skal være på linux...

 

Jeg måtte styre litt for å få rc.local til å dukke opp da den ikke fantes på min Ubuntuinstallasjon, noe med at den nå er depracated mot systemd.

 

Har etter det gjort følgende:

1. Lagt inn dette i rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Starting Homeseer
sh /home/christian/HomeSeer/autostart_hs_christian &
exit 0

2. Lagt inn følgende i filen autostart_hs_christian

#!/bin/sh
sleep 30
# HomeSeer install directory
HomeSeer_HOME="/home/christian/HomeSeer"
cd ${HomeSeer_HOME}
./go

3. Testet ut å kun kjøre sh autostart_hs_christian, da starter homeseer opp.

4. Får følgende feilmelding når maskinen restartes, antar at det er et rettighetsspørsmål, men har kjørt "sudo chown -R root:root /home/christian/HomeSeer"

● rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/rc-local.service.d
           └─debian.conf
   Active: failed (Result: exit-code) since Sun 2017-09-17 19:57:14 CEST; 7h left
  Process: 1595 ExecStart=/etc/rc.local start (code=exited, status=127)
      CPU: 1ms

Sep 17 19:57:14 homeseer systemd[1]: Starting /etc/rc.local Compatibility...
Sep 17 19:57:14 homeseer rc.local[1595]: sh: 0: Can't open /home/christian/HomeSeer/autostart_hs_christian
Sep 17 19:57:14 homeseer systemd[1]: rc-local.service: Control process exited, code=exited status=127
Sep 17 19:57:14 homeseer systemd[1]: Failed to start /etc/rc.local Compatibility.
Sep 17 19:57:14 homeseer systemd[1]: rc-local.service: Unit entered failed state.
Sep 17 19:57:14 homeseer systemd[1]: rc-local.service: Failed with result 'exit-code'.
 

 

Tar imot alle tips! :)
 

Endret av matvik
Lenke til kommentar
Del på andre sider

Har forsøkt den og, men da får jeg feilmeldinger...

 

Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Control process exited, code=exited status=210
Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Unit entered failed state.
Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Failed with result 'exit-code'.
Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Service hold-off time over, scheduling restart.
Aug 26 06:41:11 homeseer systemd[1]: Stopped HomeSeer HS3 Home Automation Server.
Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Start request repeated too quickly.
Aug 26 06:41:11 homeseer systemd[1]: Failed to start HomeSeer HS3 Home Automation Server.
Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Unit entered failed state.
Aug 26 06:41:11 homeseer systemd[1]: homeseer.service: Failed with result 'exit-code'.

Lenke til kommentar
Del på andre sider

Starter fint både som vanlig bruker og som root.., men ikke ved oppstart. 

 

Hele feilmeldingen jeg får når jeg kjører "Systemctl status homeseer.service" er som følger:

 

 homeseer.service - HomeSeer  HS3 Home Automation Server
   Loaded: loaded (/etc/systemd/system/homeseer.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2017-09-19 02:57:30 CEST; 7h left
  Process: 1712 ExecStart=/usr/bin/mono /home/christian/HomeSeer/HSConsole.exe --log (code=exited, status=210/CHROOT)
 Main PID: 1712 (code=exited, status=210/CHROOT)
      CPU: 0

Sep 19 02:57:30 homeseer systemd[1]: homeseer.service: Failed with result 'exit-code'.
Sep 19 02:57:30 homeseer systemd[1]: homeseer.service: Service hold-off time over, scheduling restart.
Sep 19 02:57:30 homeseer systemd[1]: Stopped HomeSeer  HS3 Home Automation Server.
Sep 19 02:57:30 homeseer systemd[1]: homeseer.service: Start request repeated too quickly.
Sep 19 02:57:30 homeseer systemd[1]: Failed to start HomeSeer  HS3 Home Automation Server.
Sep 19 02:57:30 homeseer systemd[1]: homeseer.service: Unit entered failed state.
Sep 19 02:57:30 homeseer systemd[1]: homeseer.service: Failed with result 'exit-code'.

 

Har på følelsen av at det er noe med (code=exited, status=210/CHROOT) å gjøre, at noe ikke er på plass ved boot, men vet ikke hva...

Lenke til kommentar
Del på andre sider

2 hours ago, ZoRaC said:

Og da starter du den med samme kommando som i ExecStart?

 

Får du startet om du tar "sudo su" først? Mener du da får en kommandolinje som kjører som root-brukeren og det er jo den brukeren du sliter med å starte med. 

 

For å svare spesifikt :) Når jeg starter "systemctl start homeseer.service" funker det med både root og egen bruker. Men når jeg kjører kun kommandoen som i ExecStart funker det ikke som vanlig bruker, da får jeg tilgangsproblemer. Kjører jeg ExcecStart kommandoen som su sudo så går den fint igjennom.

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.