TelldusNETWrapper.EventCallbackFunction

Moderator: Telldus

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

Labbar lite med Tellstick DUO:n i .NET, har inte pysslat med ert API tidigare.
Har inga problem med att tända och släcka från min applikation, men jag får inte inkommande signaler att fungera.
Det fungerar bra i TelldusCenter (det känner av inkommande signal).
Om jag tolkat rätt så är det TelldusNETWrapper.EventCallbackFunction som skall användas för att ta hantera inkommande signaler(?)

Det här med delegates är lite nytt för mig, så jag tänkte kolla om någon har lite tips på hur man kan använda det.
Nedanstående har jag försökt med i Windows Forms, men det fungerar inte (=funktionen anropas ej vid inkommande signal). ID-numren stämmer med min uppsättning.

Code: Select all

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        TelldusNETWrapper.EventCallbackFunction ecf;
        public Form1()
        {
            InitializeComponent();
            ecf = new TelldusNETWrapper.EventCallbackFunction(EventCallbackFunction);
        }
        public int EventCallbackFunction(int deviceId, int method, string data, int callbackId, Object obj)
        {
            if (deviceId == 4 && method == TelldusNETWrapper.TELLSTICK_TURNON)
            {
                TelldusNETWrapper.tdTurnOn(2);
            }

            return 0;
        }
    }
}
Är det helt uppåt väggarna?

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

Löste det själv. Klantigt fel.
Man måste givetvis skapa ett objekt av TelldusWrappern. Är lite ringrostig i C#.
Nya koden för den intresserade:

Code: Select all

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            TelldusNETWrapper t = new TelldusNETWrapper();
            t.tdRegisterDeviceEvent(EventCallbackFunction, null);
        }
        public int EventCallbackFunction(int deviceId, int method, string data, int callbackId, Object obj)
        {
            if (deviceId == 4 && method == TelldusNETWrapper.TELLSTICK_TURNON)
            {
                TelldusNETWrapper.tdTurnOn(2);
            }

            return 0;
        }
    }
}

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

Nästa utmaning;
Applikationen kraschar varje gång, med "[ApplikationsNamn] has stopped working" och inget felmeddelande av värde.
Plockade ner koden för wrappern för att undersöka och huvudapplikationen kraschar när Wrapper-koden lämnar denna funktion:

Code: Select all

private unsafe void eventFunction()
Min applikation tar alltså emot eventet och returnerar, sedan kraschar min applikation?

Anropar jag på fel sätt?

MartinV
Posts: 277
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV » Thu Jan 18, 2018 11:08 am

Om du kommenterar bort:

Code: Select all

TelldusNETWrapper.tdTurnOn(2);
...och bara kör en Console.WriteLine, fungerar det då?
Martin | http://www.switchking.se
Testa Switch King Pro i din Android/iPhone/iPod: http://www.switchking.se/sv/demo

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

Hej, tack för tipset. Det hjälpte dock inte. Får ändå krasch.
Samma sak om jag kör det i en Console app.

MartinV
Posts: 277
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV » Thu Jan 18, 2018 11:08 am

Kan inte se något direkt knasigt, annat än att jag inte ser något anrop till tdInit().
Jag använder en wrapper som inte ser exakt ut som den du använder så jag är iofs inte 100...
Martin | http://www.switchking.se
Testa Switch King Pro i din Android/iPhone/iPod: http://www.switchking.se/sv/demo

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

Okej, en äldre version av TelldusNETWrapper eller något du kodat själv?

MartinV
Posts: 277
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV » Thu Jan 18, 2018 11:08 am

Jag har utgått från TelldusNETWrappern när jag gjorde min wrapper, så de är till stor del lika, men den wrapper jag snickrat på är anpassad för att kunna köras under Linux (Mono).
Martin | http://www.switchking.se
Testa Switch King Pro i din Android/iPhone/iPod: http://www.switchking.se/sv/demo

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

Provade även att lägga över endast exe-filen på servern, då dör programmet utan felmeddelande, så det verkar inte vara maskinrelaterat.
Vilken .NET-version kör ni när ni använder wrappern?

MartinV
Posts: 277
Joined: Thu Jan 18, 2018 11:08 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV » Thu Jan 18, 2018 11:08 am

3.5
Martin | http://www.switchking.se
Testa Switch King Pro i din Android/iPhone/iPod: http://www.switchking.se/sv/demo

micke.prag
Site Admin
Posts: 2242
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Vi har hittat ett fel i vår wrapper i just den callbacken. Vi kommer fixa det till nästa version men om du vill kan du få testa den i förväg?
Du behöver med andra ord inte felsöka vidare för felet är på vår sida.
Micke Prag
Software
Telldus Technologies

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

micke.prag wrote:Vi har hittat ett fel i vår wrapper i just den callbacken. Vi kommer fixa det till nästa version men om du vill kan du få testa den i förväg?
Du behöver med andra ord inte felsöka vidare för felet är på vår sida.
Jag testar jättegärna i förväg om det finns möjlighet!

ducken
Posts: 14
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken » Thu Jan 18, 2018 11:08 am

När tror ni en "förvägsversion" kan finnas framme?

stefan.persson
Posts: 353
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by stefan.persson » Thu Jan 18, 2018 11:08 am

Vi testar den för fullt, och hoppas på senare idag!
Stefan Persson
Software
Telldus Technologies

braincandy
Posts: 4
Joined: Thu Jan 18, 2018 11:08 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by braincandy » Thu Jan 18, 2018 11:08 am

Vore mycket intresserad av att få testa den nya versionen jag med.

Post Reply