tdRemoveDevice(int) ger bara 'false' tillbaka?

Moderator: Telldus

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

tdRemoveDevice(int) ger bara 'false' tillbaka?

Post by jeinor »

Hej,

Jag försöker ta bort en device genom att använda Telldus API:et, mer specifikt tdRemoveDevice(). Jag skickar in ett ID som jag ser finns i /etc/tellstick.conf, men metoden returnerar bara 'false' och ingenting händer i /etc/tellstick.conf.

Behöver jag göra något speciellt för att använda funktionen? Övriga funktioner för att hantera devices funkar klockrent, ex tdAddDevice(), tdSetProtocol(), tdSetModel(), tdSetDeviceParameter(), det är bara just tdRemoveDevice() som inte fungerar. Många API-anrop ger dessutom en felkod i form av en int som kan översättas till en sträng; vad är anledningen till att detta inte finns för tdRemoveDevice() (och några till)?

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

Re: tdRemoveDevice(int) ger bara 'false' tillbaka?

Post by micke.prag »

Har du möjlighet att testa med TelldusCenter om det fungerar att redigera enheter?
Annars får du gärna rapportera det som en bugg här tillsammans med ett sätt vi kan återskapa problemet.
Micke Prag
Software
Telldus Technologies
jeinor
Posts: 38
Joined: Fri Mar 17, 2023 9:45 am

Re: tdRemoveDevice(int) ger bara 'false' tillbaka?

Post by jeinor »

Hmm, finns TelldusCenter till Linux? Hittar ingen .deb för det. Jag kör Ubuntu 11.10 x64.

Kan se om jag kan isolera problemet, men tycker inte att jag gör något special, och, som sagt, övriga funktioner fungerar (lägga till genom tdAddDevice() etc). För att reproducera borde det bara vara att skapa ett enkelt C++-program som försöker göra tdRemoveDevice() på en existerande device, men det gissar jag att ni har gjort :)
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: tdRemoveDevice(int) ger bara 'false' tillbaka?

Post by micke.prag »

jeinor wrote:Hmm, finns TelldusCenter till Linux?
Jadå, både i386 och x86_64.
jeinor wrote:För att reproducera borde det bara vara att skapa ett enkelt C++-program som försöker göra tdRemoveDevice() på en existerande device, men det gissar jag att ni har gjort
Det är precis vad TelldusCenter gör...
Micke Prag
Software
Telldus Technologies
jeinor
Posts: 38
Joined: Fri Mar 17, 2023 9:45 am

Re: tdRemoveDevice(int) ger bara 'false' tillbaka?

Post by jeinor »

Det är jag som får be om ursäkt! Felet var hos mig...

Visade sig att jag tydligen kopierat undan min /etc/tellstick.conf vid en uppgradering via apt (väljer man "No" på frågan om man vill ersätta med ny /etc/tellstick.conf från .deb libtelldus-core blev det massa konstiga fel, så jag ville undvika det) och sedan kopierat tillbaka den över default /etc/tellstick.conf. Det ersatte rättigheterna, vilket innebar att det inte längre var root:plugdev som ägde filen. Jag tror sedan felet uppkom eftersom användaren som kör tjänsten telldusd inte hade rättighet att skriva till filen.

Anledningen att tdAddDevice() funkade var nog att jag provat tdAddDevice() vid ett tillfälle, sedan gjort filkopieringen och sedan, vid ett annat tillfälle, provat tdRemoveDevice().

Tack för svar och hjälp.
stefan.persson
Posts: 353
Joined: Fri Mar 17, 2023 9:45 am

Re: tdRemoveDevice(int) ger bara 'false' tillbaka?

Post by stefan.persson »

Bra att det har löst sig!
Stefan Persson
Software
Telldus Technologies
Post Reply