tdtool from php på Mac OS

Moderator: Telldus

Post Reply
sebastian
Posts: 14
Joined: Fri Mar 17, 2023 9:45 am

tdtool from php på Mac OS

Post by sebastian »

Försöker använda tdtool från PHP i Mac OS.

Vilket fungerar men jag får till svar att det inte finns några enheter om jag gör anropet via PHP.

Gör jag däremot exakt i terminalen så får jag till svar att det finns 8 enheter?

Letade lite på forumet och hittade att i windows kunde man ställa om någon register-nyckel. Men det kan man ju inte göra i mac os?

Någon som vet hur man gör?
skorpion
Posts: 74
Joined: Fri Mar 17, 2023 9:45 am

Post by skorpion »

Problemet som jag förstår det ligger i att om du kör det i terminalen så kör du det med din lokala användare, medans php/apache kör med användaren _www
När du installerar TelldusCenter/tdtool så installerar den bara en .plist-fil för den aktuella användaren. tdtool läser inte heller från den en global .plist om man nu kopierar/symlänkar en.
Kör du således tdtool med sudo så fungerar det inte heller:

Code: Select all

sudo tdtool --list
Open: 2 - 0
Number of devices: 0
medans min användare niclas har enheter.

Code: Select all

tdtool --list
Open: 2 - 0
Number of devices: 3
3	Sofflampa NEXA	OFF
4	Lavalampa	OFF
5	Sofflampa Kjell	OFF
Jag har mailat Telldus angående detta problem, då det är flera som har problem med detta.

/Niclas
sebastian
Posts: 14
Joined: Fri Mar 17, 2023 9:45 am

Post by sebastian »

ja det var ju helt rätt, och dumt att man inte kan länka till den heller.
Då får vi helt enkelt vänta och hoppas att det kommer en lösning på det inom kort.

I windows fungerar det ju bevisligen att döma av vad jag hittat på forumet.
Någon som vet hur det är i Linux?
sebastian
Posts: 14
Joined: Fri Mar 17, 2023 9:45 am

Post by sebastian »

provade att installera en webbserver som jag själv startar. I det här fallet valde jag MAMP.

Startar jag den så körs den med mig själv som användare inte _www vilket borde betyda att jag skulle få tillgång till enhetslistan via tdtool.

Problemet nu är bara att med den får jag inte tillgång till tdtool alls.
Försöker jag däremot köra andra kommandon via php ("ls" etc.) fungerar det utmärkt vilket är lite lustigt?
- se lösning nedan
Last edited by sebastian on Mon Oct 26, 2009 1:05 pm, edited 1 time in total.
sebastian
Posts: 14
Joined: Fri Mar 17, 2023 9:45 am

Post by sebastian »

efter lite googlande hittade jag följande:

Code: Select all

export DYLD_LIBRARY_PATH=""
vad det gör har jag ingen aning om ;)

Men lägger jag till det i mitt script:

Code: Select all

echo shell_exec('export DYLD_LIBRARY_PATH=""; tdtool -l');
och kör det via webbläsaren så fungerar det alldeles utmärkt och jag får ut en lista på mina enheter, kan tända och släcka lampor osv.

Sen hade det ju varit skönt om man kunde använda den inbyggda webbservern för att köra scripten iofs. Men det här fungerar ju bra så länge.
planb
Posts: 4
Joined: Fri Mar 17, 2023 9:45 am

possible solution

Post by planb »

I faced the same problem but i couldn't make your fix to work.

After some investigation i noticed that as apache runs as www -user td tool doesn't have any devices installed.

What I did was I created new user (apache) in OSX, created device in telldus center and changed apache.conf to run apache as newly created apache user.

Might not be the safest option, but it works. I'll later try to limit apache users permissions not to allow login and such.

Hope this helps.
Post Reply