Page 1 of 1

Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by Akrug
Hej,

Jag har sökt runt lite, men inte hittat något sätt att utföra kommandon som en reaktion på fjärrkontrollsignaler som Tellsick Duo plockar upp. Finns det något "lyssnarkommando" till tdtool som kan utföras i terminalen i OS X, eller något tredjepartsprogram som kan utföra detta?

Jag vill till exempel ha en lampknapp på väggen som inte bara släcker lamporna, utan också stänger av musiken på datorn. Jag vill alltså att datorn ska lyssna efter lampknappssignaler och kunna utföra ett apple- eller shellscript jag slår av lampan. Jag är ingen hejare på programmering och mitt nuvarande system är mestadels byggt runt shell-kommandon, applescript och php. Jag har därför bara erfarenhet av att kommunicera med tellsticken via tdtool.

Tack för hjälp!

Re: Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by jajnas
Jag tycker du borde testa Eventghost, som har ett plugin till Tellstick Duo.
Där kan du bland annat låta knapptryckningar trigga vissa events, exempelvis stänga av musiken på datorn.

Re: Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by Akrug
Det låter ju jättebra. Tyvärr verkar det bara finnas till Windows. Någon som vet om det finns en motsvarighet till Mac OS X?

Re: Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by Akrug
I brist på andra svar så svarar jag på min egen fråga med en nödlösning hur man kan få detta att funka på en Mac.

1. Lägg till en dimmerenhet för lampknappen i TelldusCenter, scanna in lampknappens signal och ge enheten ett namn, t.ex. "helahusetknappen".

2. Skapa följande applescript, spara som program och klicka för "Stay open"-alternativet:

Code: Select all

property theDevices : {"helahusetknappen", "allalamporknappen"}

on idle
	set LightList to do shell script "tdtool -l" as international text
	try
		repeat with x in paragraphs 2 thru (number of paragraphs of LightList) of LightList
			set theDevice to word 2 of x as text
			set theState to word 3 of x as text
			if theDevice is in theDevices and theState is in {"ON", "OFF"} then
				action(theDevice, theState)
				delay 0.5
				do shell script ("tdtool -v 128" & return & "tdtool -d " & theDevice) as international text
			end if
		end repeat
	end try
	return 0.5
end idle

on action(theDevice, theState)
	if theDevice is "helahusetknappen" then
		if theState is "OFF" then
			-- kommandon
		else
			-- kommandon	
		end if
	else if theDevice is "allalamporknappen" then
		if theState is "OFF" then
			-- kommandon
		else
			-- kommandon	
		end if
	end if
end action
En nödlösning som sagt. Programmet kollar med tdcenter om statusen för lamporna ändrats två gånger per sekund, vilket tar ca. 1.5 % CPU. Det optimala vore så klart om det fanns en inbyggd händelsehanterare, från vilken man kunde köra applescript, i TelldusCenter.

Re: Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by dezoe
http://developer.telldus.se/browser/tru ... y?rev=1114
http://developer.telldus.se/browser/tru ... y?rev=1114

modifiera if-satsen i början för Mac:

Code: Select all

elif (platform.system() == 'Darwin'):
        #Mac
        from ctypes import cdll, CFUNCTYPE
        lib = cdll.LoadLibrary('/Library/Frameworks/TelldusCore.framework/TelldusCore') 

testat på MacOS 10.6

/Magnus

Re: Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by Akrug
Tack! Nu ska jag bara lära mig pyton.

Re: Mjukvara som lyssnar på Tellstick Duo?

Posted: Thu Jan 18, 2018 11:08 am
by dezoe
Akrug wrote:Tack! Nu ska jag bara lära mig pyton.
Inte så olikt PHP :) Annars har ju Telldus exempelkod för många andra språk (C, C++, Java, C#?)