Page 1 of 2
Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by fenderrobban
Hej!
Jag har en server där jag har min tellstick i för att styra lampor tidsmässigt.
Jag har också en rasparry Pi som htpc ansluten till tv:n
Jag undrar nu om man kan skicka en signal från raspbmc till servern att släcka vissa lampor.
Har läst att man ska kunna skicka ssh kommando utan att logga in men hur skulle ett sånt script se ut om jag vill att lamporna ska släckas när filmen startar och tändas vid paus eller stopp?
scriptet kan jag inte men ssh raden borde väl vara:
film start:
ssh
user@192.168.x.x 'tdtool --off 1'
filmstopp:
ssh
user@192.168.x.x 'tdtool --on 1'
någon som har ideer??
tack
Robban
Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by gflygt
Testa att läsa mansidan för ssh och särskilt flaggan -n
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by pixi
Först måste du skapa en ssh mtckel på pajen.
Ssh-keygen
Kör enter på alla frågor (testing)
Kan vara bra om du kollar upp dessa frågor senare. Har med säkerheten att göra
Nästa komando är ssh-copy-id xxx.xxx.xxx.xxx
Xxx.xxx ...... = serverns ip adress
Prova sedan att logga in med ssh
Funkar det borde dina komandon funka
/Andreas H
Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by gflygt
Kul att lära sig något nytt! Har alltid kopierat den publika nyckeln manuellt till .ssh/authorizedkeys

Och för att vara petig (men det funkar ju inte annars) ssh-keygen. Bara gemener.
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by pixi
Så är det i mobilens automatiska värld

Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by fenderrobban
ok...jag lyckades manuellt skicka kommando till servern via ssh.
Jag loggade in på Pi:n via ssh och skrev följande
ssh
robert@192.168.x.x 'tdtool -f 4'
detta släckte en lampa som var tänd så det funkar.
men jag måste ändå slå in password till servern.
men hur skulle ett script se ut? ( e lite nybörjare på just linux).
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by pixi
Detta fixar komandona jag skrev tidigare
ssh-keygen
sdh-copy-id
/andreas
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by fenderrobban
menade hur skulle ett script i xbmc se ut för att tända / släcka lamporna vid filmstart/pause/stopp ut?
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by pixi
Pass. Tror du får bättre svar på något xbmc forum
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by Zapper
Har gjort en liknande lösning för vanliga XBMC som ligger här nånstans på forumet , som använder http istället.
Dock förutsätter det att man kan sätta upp Apache(Funkar nog med vad som helst som kör php) och Php. Samt att raspbmc har samma stöd för Python och att du hittar var du ska in med filerna eftersom
att instruktionerna jag skrev var för windows.
http://www.telldus.com/forum/viewtopic. ... zip#p12569
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by fenderrobban
hej!
Zappy,la in filerna som du beskrev i ditt inlägg HC och Lyse....och jag kan komma in på min webserver och starta/stänga lamporna genom sidan som kommer upp.
la in Lyse katalogen under /Scripts i Pi:n och ändrade IP adressen till servern där tellsticken sitter och bootade om men inget händer när jag startar filmer.
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by Zapper
Du måste hitta nån slags autostartfil till XBMC vet dock inte var den ligger i rpiversionen av xbmc. borde heta ngt i stil med autoexec.py
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by fenderrobban
verkar vara som man ska lägga in hela scriptet i rc.local i rpi:n och sedan köra chmod +x rc.local.
gjorde detta men fortfarande inget.
och eftersom jag kan komma åt sidan manuellt o tända/släcka lampor manuellt så borde väl php ha tillgång till scriptet på serversidan,eller?
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by Jaxån
fenderrobban wrote:verkar vara som man ska lägga in hela scriptet i rc.local i rpi:n och sedan köra chmod +x rc.local.
gjorde detta men fortfarande inget.

Du bör inte ändra i
rc.local på Raspberry Pi:n. Det är bättre och säkrare att lägga till ett skalprogram i katalogen
/etc/init.rc istället.
Men om du inte vill/kan göra det som jag beskriver nedan, och det fungerar med att ändra
/etc/rc.local, så gör det det och är ok det med.
Vad är det skriptet skall göra?
Saker som du vill göra när maskinen startar och stoppas skall läggas i ett skalprogram i katalogen
/etc/init.d/
Med fördel kopierar du någon av de befintliga filerna i katalogen och döpa kopian till något liknande fenderrobban-tellstick eller fenderrobban-xbmcremote. Prefixet fenderrobban för att inte skriva över någon redan befintlig fil. Jag tror att /etc/init.d/apache2 är ok, om man rensar ur det mesta.
Sedan gör du
Code: Select all
sudo update-rc.d fenderrobban-tellstick defaults
då installeras ditt skalprogram som ett skript som körs när du startar och stoppar maskinen. Du kan testa med
Code: Select all
sudo invoke.rc-d fenderrobban-tellstick status
sudo invoke-rc.d fenderrobban-tellstick start
och eftersom jag kan komma åt sidan manuellt o tända/släcka lampor manuellt så borde väl php ha tillgång till scriptet på serversidan,eller?
Det borde fungera, eller gå att få att fungera.

Du kan prova att ansluta till en webbsida med kommandona
wget eller
curl. Då kan du testa om det fungerar från samma eller andra maskiner.
Se även:
Code: Select all
man update-rc.d
man invoke-rc.d
man service
man wget
man curl
Så här kan en fil i
/etc/init.d/ se ut. Modifiera innan du provar.
Code: Select all
#!/bin/sh
### BEGIN INIT INFO
# Provides: fenderrobban-tellstick
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop fenderrobband-tellstick
### END INIT INFO
set -e
SCRIPTNAME="${0##*/}"
SCRIPTNAME="${SCRIPTNAME##[KS][0-9][0-9]}"
# Byt till serverprogrammet
SERVERBIN="/usr/local/sbin/serverbin"
ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"
. /lib/lsb/init-functions
test -f /etc/default/rcS && . /etc/default/rcS
# Var man kan ge variabler ovan, som SERVERBIN ett nytt värde.
if [ -f /etc/default/fenderrobban-tellstick ] ; then
. /etc/default/fenderrobban-tellstick
fi
# Testa om programmet finns
if [ ! -x $SERVERBIN ] ; then
echo "No $SERVERBIN program"
exit 0
fi
startkommando() {
# Skriv allt som behövs göras för att starta servern
return 0 # det gick bra
return 1 # om det gick dåligt
}
stoppkommando() {
# Skriv allt som behövs göras för att stoppa servern
return 0 # det gick bra
return 1 # om det gick dåligt
}
testrunning() {
# Testa om servern kör
return PID # return processens processid om den kör
return "" # om den inte kör
}
case $1 in
start)
log_daemon_msg "Starting tellstick" "SCRIPTNAME"
# Kommandon som startar tjänsten, om den inte redan kör
# Byt ut "startkommando start" mot lämpligt kommando
if startkommando start; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stoping tellstick" "$SCRIPTNAME"
# Kommandon som stoppar tjänsten, om den inte redan stoppad
# Byt ut "stoppkommando stop" mot lämpligt kommando
if stoppkommando stop; then
log_end_msg 0
else
log_end_msg 1
fi
;;
restart)
# Kommandon som startar om tjänsten, se start och stopp ovan
stoppkommando stop
startkommando start
;;
status)
# Kommandon som skriver ut status
# byt ut "testrunning" mot lämpligt kommando
PID=testrunning
if [ "$PID" ]; then
echo "$SCRIPTNAME is running (pid $PID)."
exit 0
else
echo "$SCRIPTNAME is NOT running."
exit 1
fi
;;
*)
log_success_msg "Usage: /etc/init.d/$SCRIPTNAME {start|stop|restart|status}"
exit 1
;;
esac
Finns en gratisbok om administrera Debian (och raspberian, som jag har uppfattat att xbmc-versionen är byggd på).
Man kan ladda ned den från
http://debian-handbook.info/ och slå upp kapitlet som servrar.
Re: Tellstick i server men skicka kommando från Raspbmc
Posted: Fri Mar 17, 2023 9:45 am
by fenderrobban
jaxån, tanken är att när jag startar en film från Raspbmc ska vissa lampor släckas och tvärtom om filmen stoppar/pausas.
Har alltså en tellstick i en server som är igång 24-7 och en raspberry pi som htpc.
(se tidigare inlägg i tråden)