FB WLan Status am Fhem

Begonnen von Henry, 26 Januar 2013, 13:01:43

Vorheriges Thema - Nächstes Thema

Henry

Hallo und einen schönen Samstag
Angeregt von Andreas sein Beispiel reiche ich gleich analog den WLanStatus nach wusste bis jetzt nur nicht wie man es anzeigen kann und nutze dazu jetzt Andreas seine Variante
die WLanFBState.pl auf der FB auf dem USB Stick im MyUtils Verzeichniss mit mit Rechte 777
#!/var/media/ftp/Intenso-RainbowLine-01/perl/perl -w

use warnings;
use strict;

my $fbwlanstate = 0;
  $fbwlanstate = int(`/usr/bin/ctlmgr_ctl r wlan settings/ap_enabled`);
exit $fbwlanstate;
erste Zeile Perl bitte anpassen

dann in der 99_MyUtils.pm folgenes dazu fügen  **bitte IP und Pfade anpassen**
sub
WLANSTATE
{
my $host = "192.168.2.1";
my $user = "root";
my $ssh2fritzbox = Net::SSH::Perl->new($host, debug=>0, identity_files=>["/home/fhem/.ssh/id_rsa"]);
$ssh2fritzbox->login($user);
my($stdout, $stderr, $exit) = $ssh2fritzbox->cmd(". ~/.profile; /var/media/ftp/Intenso-RainbowLine-01/MyUtils/WLanFBState.pl");
return $exit;
#Log 3,
}

und in der fhem.cfg einfügen (analog der Temperaturanzeige von Andreas)
define WL_AFritzStatus weblink htmlCode {return ('<table width="300"><tr><td><div class="devType">System</div></td></tr><tr><td><table class="block wide" id="System"><tr class="odd"><td><div class="col1">WLanStatus:</div></a></td><td id="System"><div id="System" align="center" class="col2"> '.WLANSTATE().' </div></td></tr></table></td></tr></table><br>');;}

Das schalten des WLan ist auch möglich aber da suche ich noch nach einer besseren Möglichkeit als ein reines Dummy --> Walter habe ich schon zu seiner Meinung dazu befragt und jeder andere kann sich gerne beteiligen

Viel Spaß Henry
DebianServer als FHEM-Plattform
FS20 über CUL868
Intertechno über Signalduino
Philips HUE

Henry

Auf den Hinweis von Walter noch ein Nachtrag für alle die kein Perl der FB zu laufen haben
oder die es einfacher mögen.
dann wird die WLanFBState.pl auf der FB weg gelassen und in der 99_MyUtils ändert man die Zeilen:
my($stdout, $stderr, $exit) = $ssh2fritzbox->cmd(". ~/.profile; /var/media/ftp/Intenso-RainbowLine-01/MyUtils/WLanFBState.pl");
in den direkt aufruf:
my($stdout, $stderr, $exit) = $ssh2fritzbox->cmd("/usr/bin/ctlmgr_ctl r wlan settings/ap_enabled");
und den Ausgabewert:
return $exit; in --> return $stdout;
DebianServer als FHEM-Plattform
FS20 über CUL868
Intertechno über Signalduino
Philips HUE