Hauptmenü

Presence Modul powerCmd

Begonnen von Jewe, 19 Oktober 2024, 20:21:09

Vorheriges Thema - Nächstes Thema

Jewe

Hallo,
leider funktioniert bei mir der PowerCmd im Presence Modul nicht und benötige Unterstützung

Habe das so defniniert:
define presence_QNAP PRESENCE lan-ping 192.168.116.4 60 60
attr presence_QNAP DbLogExclude .*
attr presence_QNAP devStateIcon present:general_an@00FF00:off absent:general_aus@FF0000:on
attr presence_QNAP eventMap /power on:on/ /power off:off/
attr presence_QNAP group NAS
attr presence_QNAP powerCmd {QNAP_Power("%ARGUMENT")}
attr presence_QNAP room x_System
attr presence_QNAP webCmd :

Sub im 99_myUtils:
sub QNAP_Power
{
  my $state = shift;
  my $qnap_mac = "24:4F:AC:42:87:E9";
  my $ret = "";
  if (lc $state eq "on") {
    $ret .= qx(/usr/bin/wakeonlan $qnap_mac);
    $ret =~ s,[\r\n]*,,g; # remove CR
  } elsif (lc $state eq "off") {
    $ret .= qx(/usr/bin/ssh admin\@qnap /sbin/poweroff);
    $ret =~ s,[\r\n]*,,g; # remove CR
  } else {
    $ret .= "Unknown state $state";
  }
  Log 3, "QNAP_Power: ($state): $ret";
}

Und bekomme im Log die Meldung:
QNAP_Power: (%ARGUMENT): Unknown state %ARGUMENT

Habe das von hier übernommen:

passibe

Was passiert, wenn du das so änderst? Müsste damit eigentlich funktionieren:
attr presence_QNAP powerCmd {QNAP_Power($ARGUMENT)}

Jewe

ja super, Danke. $ anstelle % und es funktioniert soweit. Jetzt muss ich nur noch schauen, dass das NAS auch wirklich aufwacht.
Das Magicpaket wird angeblich gesendet, kommt aber am NAS nicht an.

Can't ignore signal CHLD, forcing to default.
2024.10.20 21:27:54 3: QNAP_Power: (on): Sending magic packet to 192.168.116.255:9 with 24:4F:AC:42:87:E9

Den User Fhem habe ich in der sudoers eingetragen
<sudo /usr/bin/wakeonlan -i 192.168.116.255 24:4F:AC:42:87:E9

passibe

  • MAC-Adresse stimmt? macvendors.com sagt "Not Found", und ich gehe mal nicht davon aus, dass dein NAS eine randomisierte MAC hat? Oder hast du sie anonymisiert?
  • Wenn du den Befehl direkt in der Kommandozeile ausführst geht es aber?
  • Irgendwelche Netzwerk-Besonderheiten? Docker?

Ansonsten evtl. mal mit tcpdump/Wireshark schauen, ob das Paket auch wirklich gesendet wird (bzw. vielleicht auch, ob es ankommt?).

Jewe

[quote author=Jewe link=msg=1323036 date=1729453266]
Jetzt muss ich nur noch schauen, dass das NAS auch wirklich aufwacht.
Das Magicpaket wird angeblich gesendet, kommt aber am NAS nicht an.
[/quote]

Jetzt habe ich es hinbekommen, an meinem NAS habe ich mehrere Netzwerkanschlüsse. Die MAC die ich immer verwendet habe sind 2 Anschlüsse mit Kanalbündelung. Nun habe ich eine anderen Netzwerkanschluss probiert und siehe da es klappt. Es lag als an der Kanalbündelung.

Danke, Jens