Tellstick i server men skicka kommando från Raspbmc
Moderator: Telldus
Re: Tellstick i server men skicka kommando från Raspbmc
Ja, och jag visade hur man "egentligen" skall göra när man startar en service i linux.
Så att ändra i /etc/rc.local fungerar, men är ett fulhack. Om du vill ha det så, så är det OK, men du bör veta att det är det.
Problem kan uppstå vid uppdateringar med rc.local-lösningen. Men det är din maskin, så du bestämmer.
Så att ändra i /etc/rc.local fungerar, men är ett fulhack. Om du vill ha det så, så är det OK, men du bör veta att det är det.
Problem kan uppstå vid uppdateringar med rc.local-lösningen. Men det är din maskin, så du bestämmer.
Re: Tellstick i server men skicka kommando från Raspbmc
Detta: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.
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?
import xbmc
xbmc.executescript('c:\\Program\\XBMC\\scripts\\Lyse\\default.py')
skall in i den fil som körs av XMBC vid dess startup det har ingenting med RPi:ns övriga system.
Ska testa köra igång xbmc på en ubuntuVM å lista ut var det kän tänkas vara.
Re: Tellstick i server men skicka kommando från Raspbmc
Ouch, det där filvägen är en MSDOS-ism och har inget i ett linuxsystem att göra. Är du säker på att den koden över huvud taget skall/är tänkt att exekveras någon gång på något annat än ett MS Windows-system?Zapper wrote:Detta: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.
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?Code: Select all
import xbmc xbmc.executescript('c:\\Program\\XBMC\\scripts\\Lyse\\default.py')
Det kan ju aldrig körts på ett Unix/linux-system, och fungerat.
Re: Tellstick i server men skicka kommando från Raspbmc
Det där scriptet är till för när XBMC körs på in windowsdator ja, har inte snurrat på linux. Det är bara tellstickbiten som snurrat på linuxburken.
Som jag hoppas att jag skrev tidigare så måste man fixa till sökvägarna till xbmc biten så att de passar linux.
Gick inte riktigt testa för mig när jag testa sist. XBMCBuntu gillade inte riktigt köra i en vm, så man får ta nå vanilla ubuntu i en vm å lägga in XBMC repot,
Som jag hoppas att jag skrev tidigare så måste man fixa till sökvägarna till xbmc biten så att de passar linux.
Gick inte riktigt testa för mig när jag testa sist. XBMCBuntu gillade inte riktigt köra i en vm, så man får ta nå vanilla ubuntu i en vm å lägga in XBMC repot,
Re: Tellstick i server men skicka kommando från Raspbmc
Funkade bättre med rätt guest additions.
iaf lägg istället in autoexec.py i
/home/dittanvändarnamn/.xbmc/userdata/
och den skall ha innehållet
import xbmc
xbmc.executescript('/home/dittanvändarnamn/.xbmc/addons/Lyse/default.py')
EDIT: Denna path är bättre så slipper man pilla ngt i den själv.
xbmc.executescript('special://home/addons/Lyse/default.py')
kopiera sedan in Lyse katalogen till
/home/dittanvändarnamn/.xbmc/addons/
du borde då ha denna fil tillgänglig
/home/dittanvändarnamn/.xbmc/addons/Lyse/default.py
Har testat detta på en ubuntu vm och det funkar
iaf lägg istället in autoexec.py i
/home/dittanvändarnamn/.xbmc/userdata/
och den skall ha innehållet
import xbmc
EDIT: Denna path är bättre så slipper man pilla ngt i den själv.
xbmc.executescript('special://home/addons/Lyse/default.py')
kopiera sedan in Lyse katalogen till
/home/dittanvändarnamn/.xbmc/addons/
du borde då ha denna fil tillgänglig
/home/dittanvändarnamn/.xbmc/addons/Lyse/default.py
Har testat detta på en ubuntu vm och det funkar
-
- Posts: 21
- Joined: Fri Mar 17, 2023 9:45 am
Re: Tellstick i server men skicka kommando från Raspbmc
nu funkar det!
såg att man istället för att ha:
execute script....... is autostart.py skulle man ha execute file " ...."
men nu till nästa fråga.
jag styr ju lamporna med tellstick på tid med tdtool.
dvs klockan 1800 tänds lamporna. och släcks 22.00
men om jag tittar på en film innnan 1800 vill jag att lamporna ska förbli släckta oavsett om filmen startar eller släcks.
nåt i stil med:
if time < 1800 then exit script
else execute file "...../Lyse/default.py"
/Robban
såg att man istället för att ha:
execute script....... is autostart.py skulle man ha execute file " ...."
men nu till nästa fråga.
jag styr ju lamporna med tellstick på tid med tdtool.
dvs klockan 1800 tänds lamporna. och släcks 22.00
men om jag tittar på en film innnan 1800 vill jag att lamporna ska förbli släckta oavsett om filmen startar eller släcks.
nåt i stil med:
if time < 1800 then exit script
else execute file "...../Lyse/default.py"
/Robban
Re: Tellstick i server men skicka kommando från Raspbmc
Finns kod i phpscriptet för detta som går att aktivera.
Kolla längst upp i action.php
Sen borde det vara executescript. Testade i ubuntu med senaste XBMC releasen.
Kollade även i XBMC dokumentationen, det enda som finns är executescript i XBMCs Python API.
autoexec.py filen bör se ut så här alla ggr
import xbmc
xbmc.executescript('special://home/addons/Lyse/default.py')
om själva scriptet ligger i
XBMCKATALOGEN/addons/Lyse/default.py
Dock så borde man eg göra det som ett addon efterssom att autoexec.py inte eg används längre.
Kolla längst upp i action.php
Sen borde det vara executescript. Testade i ubuntu med senaste XBMC releasen.
Kollade även i XBMC dokumentationen, det enda som finns är executescript i XBMCs Python API.
autoexec.py filen bör se ut så här alla ggr
import xbmc
xbmc.executescript('special://home/addons/Lyse/default.py')
om själva scriptet ligger i
XBMCKATALOGEN/addons/Lyse/default.py
Dock så borde man eg göra det som ett addon efterssom att autoexec.py inte eg används längre.
-
- Posts: 21
- Joined: Fri Mar 17, 2023 9:45 am
Re: Tellstick i server men skicka kommando från Raspbmc
ok...hittade det...
<?php
$numUnits = 9;
$timeInSec = intval(date("H"))*3600+intval(date("i"))*60+intval(date("s"));
//$xbmcActive = ($timeInSec < (3600*2) || $timeInSec > (3600*18));
$xbmcActive = true;
men som nybörjare i python e jag inte riktigt med hur man skulle aktivera och ställa in detta för 18 resp 22 ?
<?php
$numUnits = 9;
$timeInSec = intval(date("H"))*3600+intval(date("i"))*60+intval(date("s"));
//$xbmcActive = ($timeInSec < (3600*2) || $timeInSec > (3600*18));
$xbmcActive = true;
men som nybörjare i python e jag inte riktigt med hur man skulle aktivera och ställa in detta för 18 resp 22 ?
Re: Tellstick i server men skicka kommando från Raspbmc
Double post
Last edited by Zapper on Sun Mar 10, 2013 11:20 pm, edited 1 time in total.
Re: Tellstick i server men skicka kommando från Raspbmc
Detta är är php istället för Python
Byt ut koden:
//$xbmcActive = ($timeInSec < (3600*2) || $timeInSec > (3600*18));
$xbmcActive = true;
Mot
$xbmcActive = ($timeInSec < (3600*2) || $timeInSec > (3600*18));
//--------------------------------------- ^ Till timme ----------------^ Från timme // Denna rad skall inte tas med det är bara för att förklara var tiden ställs.
Byt ut koden:
//$xbmcActive = ($timeInSec < (3600*2) || $timeInSec > (3600*18));
$xbmcActive = true;
Mot
$xbmcActive = ($timeInSec < (3600*2) || $timeInSec > (3600*18));
//--------------------------------------- ^ Till timme ----------------^ Från timme // Denna rad skall inte tas med det är bara för att förklara var tiden ställs.
-
- Posts: 21
- Joined: Fri Mar 17, 2023 9:45 am
Re: Tellstick i server men skicka kommando från Raspbmc
Tack! funkar fint.!!
Re: Tellstick i server men skicka kommando från Raspbmc
Något som jag inte har fördjupat mig i men skulle vara intressant är om man skulle hitta ngt enkelt bibliotek för soluppgång & solnedgång, då skulle man definiera tiden som timmar +- mot dessa värden istället.
EDIT: Ibland ställer man dumma påståenden det verkar finnas i standarbiblioteken till PHP5
EDIT: Ibland ställer man dumma påståenden det verkar finnas i standarbiblioteken till PHP5
Re: Tellstick i server men skicka kommando från Raspbmc
Ny version med remoten som har dimmerfunktion samt att xmbc funktionen skall följa sunrise sunset. om man ställer sin long och lat korrekt. (Verkar funka iaf vet ej hur korrekt den är).
Följer även med en liten ful Siriklon som jag kallar Iris som kan bl.a. styra tellsticken. Man använder den med medföljande Taskertasken samt en taskcutwidget på sin hemskärm.
Du måste uppdatera tasken med rätt adress till din egen server.
Och som med föregående version lägg inte upp detta mot internet iom att det inte finns någon säkerhet.
Följer även med en liten ful Siriklon som jag kallar Iris som kan bl.a. styra tellsticken. Man använder den med medföljande Taskertasken samt en taskcutwidget på sin hemskärm.
Du måste uppdatera tasken med rätt adress till din egen server.
Och som med föregående version lägg inte upp detta mot internet iom att det inte finns någon säkerhet.
- Attachments
-
- Iris.taskertask.zip
- Taskertask
- (584 Bytes) Downloaded 313 times
-
- ZappersPHPTellstick.zip
- Ny version av alltihopa
- (198.82 KiB) Downloaded 328 times
Re: Tellstick i server men skicka kommando från Raspbmc
Jag använder nedanstående script som installerad service script i min xbmc. Sen kan man lägga till vilka kommandon som helst vid start/stop/pause etc. Själv jobbar jag på att komma åt min java webservice på RPi för att styra mina grejer.
Code: Select all
#!/usr/bin/python
# -*- coding: utf-8 -*-
# import the necessary libs
import xbmc,xbmcgui
import subprocess,os
class TellstickPlayer(xbmc.Player) :
def __init__ (self):
xbmc.Player.__init__(self)
def onPlayBackStarted(self):
if xbmc.Player().isPlayingVideo():
def onPlayBackEnded(self):
if (VIDEO == 1):
def onPlayBackStopped(self):
if (VIDEO == 1):
def onPlayBackPaused(self):
if xbmc.Player().isPlayingVideo():
def onPlayBackResumed(self):
if xbmc.Player().isPlayingVideo():
player=TellstickPlayer()
VIDEO = 0
while(1):
if xbmc.Player().isPlaying():
if xbmc.Player().isPlayingVideo():
VIDEO = 1
else:
VIDEO = 0
xbmc.sleep(1000)