TelldusNETWrapper.EventCallbackFunction

Moderator: Telldus

ducken
Posts: 14
Joined: Fri Mar 17, 2023 9:45 am

TelldusNETWrapper.EventCallbackFunction

Post by ducken »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

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: Fri Mar 17, 2023 9:45 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

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: Fri Mar 17, 2023 9:45 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

Okej, en äldre version av TelldusNETWrapper eller något du kodat själv?
MartinV
Posts: 277
Joined: Fri Mar 17, 2023 9:45 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

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: Fri Mar 17, 2023 9:45 am
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by MartinV »

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: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: TelldusNETWrapper.EventCallbackFunction

Post by micke.prag »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

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: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by ducken »

När tror ni en "förvägsversion" kan finnas framme?
stefan.persson
Posts: 353
Joined: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by stefan.persson »

Vi testar den för fullt, och hoppas på senare idag!
Stefan Persson
Software
Telldus Technologies
braincandy
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

Re: TelldusNETWrapper.EventCallbackFunction

Post by braincandy »

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