Page 1 of 2

HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Hej,

Som sagt så fungerar det inte att klicka på en lampa i Houseplan för att tända eller släcka den.
Cursorn snurrar i all evighet men inget händer. Byter jag till en annan sida och sedan tillbaka
till HP så har lampan ändrat status i bilden men inte i verkligheten.

Jag ser också att kommandot: "/usr/local/bin//tdtool --list" respawnas flitigt
(blir kvar i c:a 10 sek och återkommer några sekunder senare med nytt processid).
Vet inte om detta hänger ihop med problemet?

HA körs av användaren apache och kan utan problem tända/släcka mha
"php /var/www/html/HomeAutomation/run.php command=device id=4 status=on".

tdtool fungerar också helt ok för anv. apache. Mätvärden från sensorer läggs in i databasen och visas också OK i HA.

Hur felsöka var det hänger sig?

Linux, Fedora 23, Mariadb 10.0.20

/Kekke

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Kekke wrote:Hej,

Som sagt så fungerar det inte att klicka på en lampa i Houseplan för att tända eller släcka den.
Cursorn snurrar i all evighet men inget händer. Byter jag till en annan sida och sedan tillbaka
till HP så har lampan ändrat status i bilden men inte i verkligheten.

Jag ser också att kommandot: "/usr/local/bin//tdtool --list" respawnas flitigt
(blir kvar i c:a 10 sek och återkommer några sekunder senare med nytt processid).
Vet inte om detta hänger ihop med problemet?

HA körs av användaren apache och kan utan problem tända/släcka mha
"php /var/www/html/HomeAutomation/run.php command=device id=4 status=on".

tdtool fungerar också helt ok för anv. apache. Mätvärden från sensorer läggs in i databasen och visas också OK i HA.

Hur felsöka var det hänger sig?

Linux, Fedora 23, Mariadb 10.0.20

/Kekke
Hejsan,

Du får antagligen något fel i konsolen. Om du var som helst i browsern höger klickar när du har planlösningen öppen och ur den menyn väljer inspektera. Då öppnas ett litet fönster, där ser du olika flikar, klicka på "Konsol". Ser du några felmeddelanden där? Om inte kolla i nätverksfliken också ifall du ser nåt där. Skicka skärmdumpar hit.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Bifogar skärmdump från Inspect. Inget i Console men däremot i Network.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Kekke wrote:Bifogar skärmdump från Inspect. Inget i Console men däremot i Network.
Om du klickar på fjärde raden, den som innehåller do=devices%2Ftoggle, vad har du som respons där?

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Inte mycket:

{result: [], exectime: "50.1047"}
exectime:"50.1047"
result:[]

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Kekke wrote:Inte mycket:

{result: [], exectime: "50.1047"}
exectime:"50.1047"
result:[]
Okay... Konstigt. Kan du testa packa upp zippen en gång till?

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Det blev ingen skillnad tyvärr.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Jag har hittat lite mer i loggar och efter att ha kört strace:

I /var/log/php-fpm/error.log loggas var 15:e sekund:
[05-Apr-2016 22:08:33] WARNING: [pool www] child 16435 said into stderr: "Error fetching devices: Could not connect to the Telldus Service"
[05-Apr-2016 22:08:48] WARNING: [pool www] child 16381 said into stderr: "Error fetching devices: Could not connect to the Telldus Service"


osv.

En strace på den process (php-fpm: pool www) som kör kommandot "/usr/local/bin/tdtool --list" visar ett antal connect-försök:

socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 7
connect(7, {sa_family=AF_LOCAL, sun_path="/tmp/TelldusClient"}, 20) = -1 ENOENT (No such file or directory)
nanosleep({0, 500000000}, NULL) = 0
close(7) = 0


# ls -l /tmp/TelldusClient
srwxrwxrwx 1 root root 0 Apr 5 21:26 /tmp/TelldusClient

Kör jag vid prompt "tdtool --list" som exv. användaren apache (med shell /bin/bash) så fungerar det och naturligtvis även med andra konton.
strace på detta visar då att connect går bra och att den kan läsa ut datat:

socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 4
connect(4, {sa_family=AF_LOCAL, sun_path="/tmp/TelldusClient"}, 20) = 0
send(4, "13:tdGetDeviceIdi0s", 19, 0) = 19
select(5, [4], NULL, NULL, {1, 0}) = 1 (in [4], left {0, 999993})
recv(4, "i1s\n", 511, 0) = 4
close(4) = 0


Osv.

Så något går snett när httpd körs av apache (som har shell: /bin/nologin).
Men jag kan inte hitta vad, kan /bin/nologin orsaka detta?

/K

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by patrikg
Fick göra följande för att sätta en annan grupp för tellsticken i arch linux

Code: Select all

nano /etc/udev/rules.d/05-tellstick.rules
Ändra från plugdev till uucp

nano /etc/tellstick.conf
Ändra från plugdev till uucp

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
patrikg wrote:Fick göra följande för att sätta en annan grupp för tellsticken i arch linux

Code: Select all

nano /etc/udev/rules.d/05-tellstick.rules
Ändra från plugdev till uucp

nano /etc/tellstick.conf
Ändra från plugdev till uucp
Jag har testat men det gjorde ingen skillnad. Tvivlar också på att problemet har med udev att göra eftersom telldusd
är uppe och snurrar och både tar emot externa event samt svarar ok på exv. tdtool-kommandot om jag kör det vid prompt.
Det torde vara något behörighetsproblem men svårt att hitta.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Kekke wrote:
patrikg wrote:Fick göra följande för att sätta en annan grupp för tellsticken i arch linux

Code: Select all

nano /etc/udev/rules.d/05-tellstick.rules
Ändra från plugdev till uucp

nano /etc/tellstick.conf
Ändra från plugdev till uucp
Jag har testat men det gjorde ingen skillnad. Tvivlar också på att problemet har med udev att göra eftersom telldusd
är uppe och snurrar och både tar emot externa event samt svarar ok på exv. tdtool-kommandot om jag kör det vid prompt.
Det torde vara något behörighetsproblem men svårt att hitta.
Hur är det med nedanstående?
Fråga: [L] Jag får ett felmeddelande, 'Permission denied', när jag kör i debug läge eller som apache användaren och försöker aktivera en enhet. Utskriften är följande, hur löser jag detta?
~$ tdtool -n 1
Turning on device 1, Test1 - Permission denied

Lösning: Lägg till www-data (Apache användaren) till /etc/udev/rules.d/99-tellstick.conf eller genom att lägga till Apache användaren till plugdev gruppen.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Det är användaren apache som kör Webbservern (Apache) och
denna är redan med i gruppen plugdev.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Kekke wrote:Det är användaren apache som kör Webbservern (Apache) och
denna är redan med i gruppen plugdev.
Har det fungerat alls tidigare? Tycker inte vi gjort någon ändring som skulle påverka detta.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by Kekke
Det fungerade tidigare då jag körde CentOS 5.4 och HA 3.0.1.
Men efter uppgradering till Fedora 23 har detta inte funkat vare sig i 3.0.1 eller 3.2.
Jag tror inte att problemet eg. ligger i HA utan misstänker att det är ett behörighetsproblem
men eftersom jag inte kan php så har svårt att följa var och hur anropet till tdtool görs
och jag ska kunna debugga detta.

Re: HA 3.2 Kan inte tända/släcka lampor manuellt i Houseplan

Posted: Fri Mar 17, 2023 9:45 am
by tom_rosenback
Kekke wrote:Det fungerade tidigare då jag körde CentOS 5.4 och HA 3.0.1.
Men efter uppgradering till Fedora 23 har detta inte funkat vare sig i 3.0.1 eller 3.2.
Jag tror inte att problemet eg. ligger i HA utan misstänker att det är ett behörighetsproblem
men eftersom jag inte kan php så har svårt att följa var och hur anropet till tdtool görs
och jag ska kunna debugga detta.
För att debugga tdtool kan du göra följande. Skapa en ny fil i HA roten, ex tdtool-test.php, lägg följande inuti den:

Code: Select all

<pre>
<?php 
  $output = array();
  $return = "";

  exec("tdtool --list", $output, $return);
  print_r($output);
  print_r($return);

  exec("tdtool --off 1", $output, $return);
  print_r($output);
  print_r($return);
?>
</pre>
Har du ingen enhet med id 1 så byter du bara ut ettan mot en annan siffra. Skicka outputten hit.