Linuxinstallation

Moderator: Telldus

Post Reply
posterberg
Posts: 3
Joined: Fri Mar 17, 2023 9:45 am

Linuxinstallation

Post by posterberg »

Hej

Jag har installerat tellduscenter och telldus-core via apt-get install tellduscenter telldus-core efter att ha lagt till eran repository.

Installationen är gjord på xubuntu 14.04 64-bit.

Allt har gått bra och prylarna funkar nära nog perfekt, det är bara en magnetbrytare som inte fungerar. Det tar jag i en separat tråd...

Däremot blir jag lite konfunderade för jag hittar ingen mapp som heter /usr/local/share/telldus/...

Däri skall ju scriptkataloger finnas där jag kan lägga upp skript som reagerar på events. Dyker inte dessa kataloger upp om man inte kompilerar själv? Hittar ingen dokumentation som behandlar detta.

Nåväl, jag täntke att då skriver jag mina egna c-program istället via api för det. Dessvärre hittar jag inte heller någon telldus-core.h efter denna installation. Efter timmar av sökande så insåg jag själv att ni kanske delat upp det på ett dev-paket som är brukligt i ubuntu-världen. Nu har jag precis hittat att jag även behöver libtelldus-core-dev. Det borde ni kanske upplysa om att man behöver... :-)

Nu skall jag prova att skriva lite kod själv, det skall bli kul som attan!

/Peter
posterberg
Posts: 3
Joined: Fri Mar 17, 2023 9:45 am

Re: Linuxinstallation

Post by posterberg »

#include <stdio.h>
#include <unistd.h>
#include <telldus-core.h>

void callbackfunction(deviceId, method, value, callbackId, context){
printf("Event from deviceid #%i\n", deviceId);
}

void main(void){
tdInit();

int i;
int intNumberOfDevices = tdGetNumberOfDevices();

printf("Number of devices %i\n\n", intNumberOfDevices);

for (i = 0; i < intNumberOfDevices; i++) {
int id = tdGetDeviceId( i );
char *name = tdGetName( id );
printf("%d\t%s\n", id, name);
tdReleaseString(name);
}

tdRegisterDeviceEvent(callbackfunction, 0);

while(1) usleep(100);

tdClose();
}

Ett enkelt litet program som plockar upp events och berättar vilket deviceid som skickat det. Funkar fin fint...

Får också events från min magnetkontakt, men bara off -> on, den vägrar registrera on -> off. Sluter jag kontakten igen och öppnar på nytt så får jag ett nytt off -> on, men det kommer aldrig ett event när jag för samman bitarna, bara när jag delar på dem. Mycket märkligt tycker jag. Jag har även provat att sätta på timerfunktionern och vänta men inte heller då kommer ett återställningsevent. (Se min andra postning om magnetkontakter http://www.telldus.com/forum/viewtopic.php?f=15&t=4849)
Post Reply