TellstickNETPlugin

Plugins skapade av Switch Kings användare | Plugins created by Switch King users
Post Reply
burton666
1 star
1 star
Posts: 11
Joined: Tue 18 Sep 2012, 08:00

Re: TellstickNETPlugin

Post by burton666 » Fri 05 Oct 2012, 07:08

Är det möjligt att använda datakällor på samma sätt som på duon med det här pluginet i switchking? Kan jag tex ställa in så att en lampa ska tändas när någon trycker på en trådlös dörrklocka?

henkep
2 stars
2 stars
Posts: 49
Joined: Mon 07 Nov 2011, 14:12

Re: TellstickNETPlugin

Post by henkep » Fri 05 Oct 2012, 09:09

Tyvärr inte då Telldus ej har implementerat mottagning av signaler annat än sensorer i Tellstick.NET. Telldus har en lösning på gång för att plocka upp signaler från fjärrkontroller och ringklockor osv och när det sker kommer det att implementeras direkt i pluginnet.

//Henrik

henkep
2 stars
2 stars
Posts: 49
Joined: Mon 07 Nov 2011, 14:12

Re: TellstickNETPlugin

Post by henkep » Fri 05 Oct 2012, 09:26

Jag spinner vidare på Görans inlägg om vilka enheter som sparas i SwitchKing. En tanke är att låta plugginnet spara alla enheter från SwitchKing och sensorer som Tellstick.NET hittar i configfilen och att man där får välja per enhet om man vill synca just den med Telldus LIVE tjänsten resp visa sensorn i SwitchKing, skulle det kunna vara en bra lösning?

//Henrik

gorhak
3 stars
3 stars
Posts: 59
Joined: Wed 28 Sep 2011, 15:35
Location: Spånga

Re: TellstickNETPlugin

Post by gorhak » Sat 06 Oct 2012, 11:47

Hej Henrik,

För sensorer låter det jättebra att få välja från en lista. Tex så vill man ju inte "kladda ner" sin SK med grannens termometer, köksavfallskvarn eller liknande.
Vad det gäller devicen så kanske man behöver dela upp frågan i två delar: Ska devicen registreras i Live, resp ska devicen styras via Duo, eller via Net, eller via både och. Denna uppdelning kan ju var intressant därför att som i mitt fall så har jag inte täckning för hela huset från min Duo, men en Net placerad i andra änden av huset skulle ju lösa det problemet. Då tycker jag det är onödigt att sända signaler på Duo:n som jag vet ändå inte gör någon nytta, resp sända från Net:en där Duo:n ändå har god kontakt. Om man kör ett enskilt omslag så spelar det kanske inte någon roll om man skickar till båda, men jag har satt upp att jag kör allmän syncronisering var 5:e min med 1 sändsignal per enhet, och med ett 30-tal enheter tar det ju lite tid om allt ska köras dubbelt. Skulle det vara så att man har Net:en i sommarstugan som du hade som exempel så är det ju faktiskt helt onödig att skicka både hemma och i stugan.

Varsågod, lite att fundera på
/Göran

henkep
2 stars
2 stars
Posts: 49
Joined: Mon 07 Nov 2011, 14:12

Re: TellstickNETPlugin

Post by henkep » Sat 06 Oct 2012, 15:29

Bifogat ligger en ny version av plugginet, lite bugfixar är åtgärdade samt möjlighet i config att slå på debugmode för att se lite mer vad pluginnet gör.

//Henrik
You do not have the required permissions to view the files attached to this post.

henkep
2 stars
2 stars
Posts: 49
Joined: Mon 07 Nov 2011, 14:12

Re: TellstickNETPlugin

Post by henkep » Sat 13 Oct 2012, 13:26

gorhak wrote:Hej Henrik,

För sensorer låter det jättebra att få välja från en lista. Tex så vill man ju inte "kladda ner" sin SK med grannens termometer, köksavfallskvarn eller liknande.
Vad det gäller devicen så kanske man behöver dela upp frågan i två delar: Ska devicen registreras i Live, resp ska devicen styras via Duo, eller via Net, eller via både och. Denna uppdelning kan ju var intressant därför att som i mitt fall så har jag inte täckning för hela huset från min Duo, men en Net placerad i andra änden av huset skulle ju lösa det problemet. Då tycker jag det är onödigt att sända signaler på Duo:n som jag vet ändå inte gör någon nytta, resp sända från Net:en där Duo:n ändå har god kontakt. Om man kör ett enskilt omslag så spelar det kanske inte någon roll om man skickar till båda, men jag har satt upp att jag kör allmän syncronisering var 5:e min med 1 sändsignal per enhet, och med ett 30-tal enheter tar det ju lite tid om allt ska köras dubbelt. Skulle det vara så att man har Net:en i sommarstugan som du hade som exempel så är det ju faktiskt helt onödig att skicka både hemma och i stugan.

Varsågod, lite att fundera på
/Göran
Hej Göran!

Jättebra synpunkter, helt klart är att jag kommer ändra i pluginnet så att man i config får styra vilka enheter som skall kontrolleras via Tellstick.NET och ej, samt vilka sensorer från Tellstick.NET som skall visas i SwitchKing. När det sen gäller enheter som endast skall styras via Tellstick.NET (tex. enheter i sommarstugan) så kan jag ej via pluginnet styra dom endast till Tellstick.NET men tvärt om går. Alltså enheter som finns i sommarstugan kommer när man vill sända kommandon till dom även att sändas av den Tellstick som sitter monterad i servern. Dock kommer man på enheter som styrs av den servermonterade Tellsticken kunna ställa in att dessa kommandon ej skickas till Tellstick.NET.

Mvh
Henrik

NiBj
1 star
1 star
Posts: 3
Joined: Wed 04 Jan 2012, 18:45

Re: TellstickNETPlugin

Post by NiBj » Mon 15 Oct 2012, 12:35

henkep wrote:Då ligger första versionen av Tellstick.NET pluginen bifogad i denna post.

Läs readme.txt filen och testa på.

//Henrik

Ny version uppladdad.
Hej Henrik!
Tack för en intressant plugin. Är sugen på en Tellstick Net för att hämta temperaturvärden. Tänkte bara läsa på lite innan jag slår till. Var hittar man readme.txt-filen du nämnde? Ser den inte i rar-biblioteket.
// Nisse

gorhak
3 stars
3 stars
Posts: 59
Joined: Wed 28 Sep 2011, 15:35
Location: Spånga

Re: TellstickNETPlugin

Post by gorhak » Fri 19 Oct 2012, 11:20

Hej Henrik,

Jodå, det går att bara skicka till NETen, dvs hindra sändning till Duon. Om du i C# implementerar interfacet ICommandInterceptor och i metoden OnCommand sätter intercepted=true för de device som du inte vill sänd till Duon. I princip enligt nedan:

//Called when a command is being sent to a specific device.
public void OnCommand(int deviceId, string deviceName, int deviceActionId, string deviceActionName, int? dimLevel, string eventSource, out bool intercepted)
{
//deviceId: The id of the device targetted.
//deviceName: The name of the device targetted.
//deviceActionId: The id of the action about to be performed.
//deviceActionName: The name of the action about to be performed.
//dimLevel: The dim level about to be sent to the device.
//eventSource: The source of the event.
//intercepted: Set by the implementing class. If set to true, the server will not send real signals to the device.

string id = deviceId.ToString();

// kod för sändning till NETen här...

if (onlyToNETlist.contains(id))
{
intercepted = true;
}
}

Jag bifogar även ett litet testplugin som lyssnar på alla Duo-händelser, titta i Duo-loggen. Det skickas inte ut några signaler, men det skrivs till filen Trace.txt i biblioteket som LogFilePath anger om du tänder ett device.

Men jag har nu kört ditt plugin ett antal dagar, dels på min dator som jag använder för att styra belysningen i huset med, och dels på min labbdator. I husdatorn har jag 21 device definierade och på labbmaskinen är det 47 st. Jag har tidigare nämnt för dig att det tar tid att starta upp SK server med pluginet installerat. På husdatorn så tar det bortåt 2 minuter för servern att komma igång och det skickas ca 400 https kommandon till api.telldus, ca 20*20. För labbmaskinen tar det ca 8 minuter innan SK servern svarar och det skickas drygt 2000 https commandon. Så uppstartstiden ökar med kvadraten av antalet device. Skulle man då ha bortåt 100-talet device så skulle det alltså ta ca en halvtimme... Läge att se över om det går att effektivisera algoritmen...

Jag skulle oxå vilja kunna styra var loggfilerna sparas.

För övrigt så tycker jag det fungerar bra. Att det går att byta såväl namn och kod på devicen i telldus livetjänst kan ju vara användbat, men finns det någon möjlighet att manuellt para ihop SK-id och Telldus-id.

/Göran
You do not have the required permissions to view the files attached to this post.

Martin
Administrator
Administrator
Posts: 2655
Joined: Tue 09 Nov 2010, 20:25

Re: TellstickNETPlugin

Post by Martin » Fri 19 Oct 2012, 11:58

Kanonjobb, Henrik :clap:

Som ett tips:
Om det är knepigt att justera uppstartsalgoritmen så är en enkel lösning att lägga en fördröjning på detta i kanske 1-2 minuter och skjuta problemet framför sig.
Annan möjlighet är att lägga det i en separat tråd eller i en ThreadQueue, och använda:

Code: Select all

lock(LockHelper.GlobalPadLock)
{
 ...code...
}
...runt varje block som påverkar data i Switch King. Då låser man ute servern från kritiska operationer som kan påverka enheters inställningar, tillstånd etc.
Martin | Switch King

gertsve
1 star
1 star
Posts: 3
Joined: Sun 21 Oct 2012, 21:15

Re: TellstickNETPlugin

Post by gertsve » Mon 22 Oct 2012, 08:57

Hej.

Jag använder inte SK ännu men funderar på att göra det snart.
Jag har idag endast TellstickNet; måste jag även ha Duo för att det skall fungera?


Mvh Gert

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests