Callbacks slutar triggas utan felmeddelande?

Moderator: Telldus

Post Reply
jeinor
Posts: 38
Joined: Fri Mar 17, 2023 9:45 am

Callbacks slutar triggas utan felmeddelande?

Post by jeinor »

Hej,

Jag har byggt en applikation som använder Telldus API:et (som ni kanske vet vid det här laget på grund av en och annan fråga tidigare :) ). Jag har en temperatursensor och ett antal dimrar och switchar konfigurerade, och jag använder en Tellstick Duo. I API:et har jag registrerat två callback-funktioner, en för DeviceEvents och en för SensorEvents. Jag loggar data från dessa anrop till en databas (temperaturvärde och när switchar ändras).

Allt detta funkar bra under ett par dagar, men sedan slutar plötsligt events att anlända till mina callbackfunktioner. Inga felmeddelanden skrivs ut, telldusd är igång som vanligt och jag ser att nya värden kommer in till telldusd genom att tdtool får dem. Detta gäller både sensorcallback och devicecallback.

Har ni någon idé om vad som skulle kunna vara fel här? Hur anropas callbackfunktionerna från er sida, är det en och samma tråd som anropar varje gång eller skapas en ny tråd för varje callback som ska köras? Jag har mutexskyddat sparningen till databas i callbackfunktionerna och är tämligen säker på att det inte kan bli deadlock där på grund av min kod. Men å andra sidan har jag haft fel förr :) (http://www.telldus.se/forum/viewtopic.p ... cfd163c097)...

Tack på förhand!
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Callbacks slutar triggas utan felmeddelande?

Post by micke.prag »

Det skapas en tråd för varje callback. Dock är varje callback mutexskyddad så innan tråden kommer "tillbaka" kan inte en ny callback (av samma typ) skickas ut.

Om telldusd fungerar som den ska (eftersom tdtool kan hämta datan) så bör felet finnas antingen mellan telldusd och telldus-core (som körs i din proccess) eller så körs inte själva callbacken.

Om du kompilerar koden själv kanske du kan stoppa in lite loggar och se var det slutar att fungera?
Micke Prag
Software
Telldus Technologies
Post Reply