ACT-LED des Pi steuern

Begonnen von Harald, 27 Oktober 2014, 11:41:25

Vorheriges Thema - Nächstes Thema

Harald

Hallo zusammen,

diese Frage habe ich bereits vor einem Jahr gestellt und damals hat das auch prima funktioniert. Zwischenzeitlich wurde die Funktion deaktiviert.

Aus bestimmten Gründen versuche ich z.Z. das wieder in Betrieb zu setzen. In FHEM wird das Umschalten angezeigt, aber die LED auf dem Pi blinkt nicht.

In der 99_myUtils.pm steht:sub Info_LED($)
{
  my $current = $_[0];
#    Log 2,"Zeile 4, current:$current";
    qx( echo none >/sys/class/leds/led0/trigger);
  if ($current eq "on")
  {$current = "off";
    qx( echo 0 >/sys/class/leds/led0/brightness);}
  else
  {$current = "on";
    qx(echo 1 >/sys/class/leds/led0/brightness);}
  fhem("set blink.state $current");
#    Log 2,"Zeile 13, current:$current";
}

und in der fhem.cfgdefine blink.state dummy
attr blink.state alias FHEM_aktiv
attr blink.state room MAX
attr blink.state verbose 1
define blink.at at +*00:00:05 {&Info_LED(my $current=Value("blink.state"))}

Gebe ich die Befehle auf der Konsole des Pi ein, kann ich die ACT-LED einwandfrei schalten. Es sieht für mich so aus, als wenn die Befehle nicht von FHEM an den Pi übermittelt würden oder der Pi versteht es nicht.

Hat jemand eine Idee, warum die LED nicht funktioniert?

Vielen Dank im Voraus und schöne Grüße

Harald

Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

betateilchen

weil fhem höchstwahrscheinlich die Berechtigung fehlt, irgendwelche Daten nach /sys zu verschicken.

Abhilfe:


  • fhem in die /etc/sudoers eintragen, dabei die Option NOPASSWD verwenden
  • das qx() ändern in qx(sudo echo ...)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Harald

Danke für die Hinweise. Ich habe beide ausprobiert, aber es klappt nicht. Natürlich habe ich nach den Änderungen der Raspi neu gestartet.

Mit welchem Befehl kann ich den die LED über die FHEM-Befehlszeile schalten? Beim Befehl qx( .... kommt die Meldung unbekannter Befehl.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

betateilchen

Du musst das qx() in der fhem Befehlszeile in geschweifte Klammern setzen, da Du ja eine perl-Funktion aufrufen willst und keinen fhem-Befehl.

{ qx() }

Bei mir funktioniert das mit den sudoers problemlos, ich kann inzwischen mit { qx(reboot) } den gesamten Rechner aus der fhem-Zeile heraus neu starten.
Ein Neustart ist übrigens nach einer Änderung der /etc/sudoers nicht notwendig, die Änderung wird sofort wirksam.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Harald

Besten Dank Betateilchen,

ich hab's geschafft, dass es jetzt läuft. Es lag tatsächlich an den Berechtigungen. Habe das mittels MC angepasst und nun blinkt die LED wieder. Nun kann der nächste Schritt kommen.

Viele Grüße und nochmals herzlichen Dank für die Hilfe

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus