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
tdRemoveDevice(int) ger bara 'false' tillbaka?
Moderator: Telldus
-
- Site Admin
- Posts: 2243
- Joined: Fri Mar 17, 2023 9:45 am
- Location: Lund
- Contact:
Re: tdRemoveDevice(int) ger bara 'false' tillbaka?
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.
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
Software
Telldus Technologies
Re: tdRemoveDevice(int) ger bara 'false' tillbaka?
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
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
-
- Site Admin
- Posts: 2243
- Joined: Fri Mar 17, 2023 9:45 am
- Location: Lund
- Contact:
Re: tdRemoveDevice(int) ger bara 'false' tillbaka?
Jadå, både i386 och x86_64.jeinor wrote:Hmm, finns TelldusCenter till Linux?
Det är precis vad TelldusCenter gör...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
Micke Prag
Software
Telldus Technologies
Software
Telldus Technologies
Re: tdRemoveDevice(int) ger bara 'false' tillbaka?
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.
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.
-
- Posts: 353
- Joined: Fri Mar 17, 2023 9:45 am
Re: tdRemoveDevice(int) ger bara 'false' tillbaka?
Bra att det har löst sig!
Stefan Persson
Software
Telldus Technologies
Software
Telldus Technologies