[Script] Status Echo/Dot

Hi,
ich benötigte manchmal den Status von meinen Echos/Dots. Auf Ping reagieren sie leider nicht so das der Device-Monitor leider nicht funktionierte. Mit nmap -Pn würde es gehen dauert aber lange. Was kein Netzwerkgerät blocken kann/darf ist eine ARP-Anfrage. Unter Linux kann man mit dem Befehl arp-scan den aktuellen Status eines Gerätes schnell ermitteln.

Ich habe ein sehr kleines Script geschrieben das unter Linux den aktuellen Status eines Echo/Dot ermittelt und in eine boolsche Variable schreibt.

<?php
// 192.168.178.30 IP eines Echos
$text = shell_exec("arp-scan 192.168.178.30");
// antwortet er nicht kommt "0 responded"
$found = strpos($text, "1 responded");
// bei 1 Status = true
if ($found > 0) SetValue(51648, true);
// bei 0 Status = false
else SetValue(51648, false);
?>

Unter Linux muss arp-scan oft nachinstalliert werden. Ob es sowas unter Windows gibt weiß ich nicht. Da die Großeltern von MacOS aus dem Hause Unix/Linux stammen kann ich mir vorstellen das es da den Befehl auch gibt.

Ralf

Moin Ralf,
nette Idee, das geht mir nicht anders.
Leider reagiert meine SymBox nicht auf die Abfrage.
Deshalb @paresy : kann man den arp-scan auch in der Box aktivieren?
Das würde meine Abfragen deutlich „einfacher“ gestalten.

Grüße, Uwe

Moin Uwe,
wegen dieser „Spielerei“ wird Symcon nichts an der Box machen da die auf Zuverlässigkeit getrimmt ist. Es geht aber auch nur mit dem Remote-Modul:

<?php
$Echos = ECHOIO_GetDeviceList(17337);
for ($i = 0; $i < count($Echos); $i++){
    if ($Echos[$i]['online'] == false) echo $Echos[$i]['accountName'] . ' ist offline' . PHP_EOL;
    else echo $Echos[$i]['accountName'] . ' ist online' . PHP_EOL;
}
?>

Es hat bei mir nur 2 Schwächen:

  1. Meine HEOS-Receiver und mein Sonos 1 wird als Online angegeben was ich stark bezweifle.
  2. Hier bin ich mir nicht sicher: Ein FireTV wird als Online angezeigt obwohl er es bei mir garantiert nicht ist. Es kann aber auch sein das es einer der Sticks ist den ich verschenkt hatte.

Es geht vielleicht noch einfacher:
Bei den Instanzen die Option „Variablen für Online-Status anlegen“ aktivieren. Ich weiß aber nicht wie schnell es reagiert.

Ralf

Moin Ralf,
wegen dieser diversen kleinen Unzuverlässigkeiten (die Generationen der Dots reagieren da recht unterschiedlich) fand ich dein Skript einen „netten Versuch“. Der ‚Online-Status‘ hat tw. schon ordentliche Verzögerungen.
Auch bei mir wird übrigens der FireTV als online angezeigt obwohl er (mit den StandBy-Geräten) abgeschaltet ist - kann das am LAN-Adapter liegen?.
Zudem hat bei mir das letzte Gewitter die Fritze in die ewigen Jagdgründe geschickt, was jetzt bei einigen IP-Adressen eine „neue Sortierung“ erzeugt hat. Ich „spiele“ da mal weiter …
Grüße, Uwe

Moin Uwe,

Unwahrscheinlich ich benutze keinen LAN-Adapter.

weil das nervig ist benutze ich sein einigen Monaten mein PiHole als DNS- und DHCP-Server. Hier vergebe ich für meine Geräte quasi eine feste IP egal was für ein Router benutzt wird. Mit einem Backup der PiHole-Konfiguration ist ein Problem bei PiHole nur ein sehr kleines Problem.

Ralf