Erkennen ob ein Computer im Netzwerk an ist und Ausgang schalten

Begonnen von Guest, 21 Juli 2012, 07:51:58

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo Neo,

ich hatte zunächst auch das Problem. Das Script war nicht korrekt
ausführbar gemacht. Versuch doch mal chmod -x. Weiter funktioniert das
Script bei mir nur mit vollständigem Pfad im Aufruf.

Lg Jörg

On 28 Jul., 10:39, neomorph wrote:
> Ich mach gern einen Wikieintrag.
> Leider läuft das nocht nicht ganz rund, da offensichtlich das lanping.sh
> noch nichts zurückmeldet. Beim Versuch das Script per Hand aufzurufen,
> bekomme ich momentan noch folgenden fehler:
>
> per Hand das Script auslösen: "./lanping.sh192.168.1.30"
> bekomme ich nur das Ergebnis: "Fehler".
>
> löse ich das Script ohne Parameter aus: "./lanping.sh"
>
> bekomme ich: "Ergebnis:  ./lanping.sh "
>
> jetzt muss ich erstmal sicherstellen, dass das Script auch etwas
> zurückliefert.
>
> lg
> neo
> Am Freitag, 27. Juli 2012 23:28:19 UTC+2 schrieb neomorph:
>
>
>
>
>
>
>
>
>
> > ja, großartig!!! danke
>
> > ich hab das gerade mal eingerichtet und werde mal abwarten ob ich es schon
> > verstanden habe, bzw. ob es tut was es soll :)
> > ich hatte kurz Schwierigkeiten mit dem kopierten Code von Dir, aber soweit
> > hab ich es geschafft Dein Beispiel fehlerlos zu "importieren".
>
> > ich melde mich dazu sicher nochmal, da ich den Ansatz sehr interessant
> > finde.
>
> > danke und einen schönen Abend
> > neo
>
> > Am Samstag, 21. Juli 2012 07:51:58 UTC+2 schrieb Matthias Soll:
>
> >> Hallo zusammen,
> >> ist es mit fhem möglich den Netzwerkstatus der Fritzbox auszulesen um
> >> damit zu erkennen welche computer eingeschaltet sind?
> >> Ich möchte einen ausgang am net-io schalten wenn bestimmte Rechner an
> >> sind.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Ja, vielen Dank erstmal, dass Du dir bei diesem Wetter die Zeit nimmst
(mir) zu helfen.
Ich habe Deinen Tipp befolgt und das Script wie beschrieben versucht
ausführbar zu machen....allerdings bekomme ich jetzt die Fehlermeldung,
wenn ich das Script per Hand aufrufe mit: "./lanping.sh" ein "Permission
denied".
Rufe ich es mit Parametern auf: "sudo ./lanping.sh 192.168.1.30" erhalte
ich plötzlich: "./lanping.sh: command not found".
Ich war der Meinung, dass es vorher auch schon lief, aber eben kein
Ergebnis brachte...ich suche einfach weiter - ich muss doch  erstmal
sicherstellen, dass das Script bei mir läuft und mir ne Antwort liefert,
oder!?

Also ich mach das natürlich alles unte OSX-SnowLeopard....

LG
neo

Am Samstag, 28. Juli 2012 12:10:31 UTC+2 schrieb JoWiemann:
>
>
> Hallo Neo,
>
> ich hatte zunächst auch das Problem. Das Script war nicht korrekt
> ausführbar gemacht. Versuch doch mal chmod -x. Weiter funktioniert das
> Script bei mir nur mit vollständigem Pfad im Aufruf.
>
> Lg Jörg
>
> On 28 Jul., 10:39, neomorph wrote:
> > Ich mach gern einen Wikieintrag.
> > Leider läuft das nocht nicht ganz rund, da offensichtlich das lanping.sh
> > noch nichts zurückmeldet. Beim Versuch das Script per Hand aufzurufen,
> > bekomme ich momentan noch folgenden fehler:
> >
> > per Hand das Script auslösen: "./lanping.sh192.168.1.30"
> > bekomme ich nur das Ergebnis: "Fehler".
> >
> > löse ich das Script ohne Parameter aus: "./lanping.sh"
> >
> > bekomme ich: "Ergebnis:  ./lanping.sh "
> >
> > jetzt muss ich erstmal sicherstellen, dass das Script auch etwas
> > zurückliefert.
> >
> > lg
> > neo
> > Am Freitag, 27. Juli 2012 23:28:19 UTC+2 schrieb neomorph:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > > ja, großartig!!! danke
> >
> > > ich hab das gerade mal eingerichtet und werde mal abwarten ob ich es
> schon
> > > verstanden habe, bzw. ob es tut was es soll :)
> > > ich hatte kurz Schwierigkeiten mit dem kopierten Code von Dir, aber
> soweit
> > > hab ich es geschafft Dein Beispiel fehlerlos zu "importieren".
> >
> > > ich melde mich dazu sicher nochmal, da ich den Ansatz sehr interessant
> > > finde.
> >
> > > danke und einen schönen Abend
> > > neo
> >
> > > Am Samstag, 21. Juli 2012 07:51:58 UTC+2 schrieb Matthias Soll:
> >
> > >> Hallo zusammen,
> > >> ist es mit fhem möglich den Netzwerkstatus der Fritzbox auszulesen um
> > >> damit zu erkennen welche computer eingeschaltet sind?
> > >> Ich möchte einen ausgang am net-io schalten wenn bestimmte Rechner an
> > >> sind.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Ich löse auf.

Im Prinzip hatte ich alles korrekt eingerichtet. Allerdings musste ich
unter Mac-OS-X das Script ein wenig abändern:

#!/bin/bash
if [ -n "$1" ]; then
ping -q -c1 $1 &> /dev/null
else
echo "Ergebnis:  $0 "
exit 1
fi
if [ "$?" -gt 0 ]; then
echo $1 Fehler
else
echo $1 Ok
fi
exit 0

Das "Problem" war, dass das Ping-Kommando offensichtlich mit der Pfadangabe
nicht geklappt hat.
Entscheidend war auch der Tipp mit dem kompletten Pfad in der 99_myUtils.pm
zum Script!

Vielen Dank für die Hilfe, ich teste das jetzt mal ausgiebig und der
Wiki-Eintrag wird gern gemacht!

lg
neo


Am Samstag, 28. Juli 2012 14:51:09 UTC+2 schrieb neomorph:
>
> Ja, vielen Dank erstmal, dass Du dir bei diesem Wetter die Zeit nimmst
> (mir) zu helfen.
> Ich habe Deinen Tipp befolgt und das Script wie beschrieben versucht
> ausführbar zu machen....allerdings bekomme ich jetzt die Fehlermeldung,
> wenn ich das Script per Hand aufrufe mit: "./lanping.sh" ein "Permission
> denied".
> Rufe ich es mit Parametern auf: "sudo ./lanping.sh 192.168.1.30" erhalte
> ich plötzlich: "./lanping.sh: command not found".
> Ich war der Meinung, dass es vorher auch schon lief, aber eben kein
> Ergebnis brachte...ich suche einfach weiter - ich muss doch  erstmal
> sicherstellen, dass das Script bei mir läuft und mir ne Antwort liefert,
> oder!?
>
> Also ich mach das natürlich alles unte OSX-SnowLeopard....
>
> LG
> neo
>
> Am Samstag, 28. Juli 2012 12:10:31 UTC+2 schrieb JoWiemann:
>>
>>
>> Hallo Neo,
>>
>> ich hatte zunächst auch das Problem. Das Script war nicht korrekt
>> ausführbar gemacht. Versuch doch mal chmod -x. Weiter funktioniert das
>> Script bei mir nur mit vollständigem Pfad im Aufruf.
>>
>> Lg Jörg
>>
>> On 28 Jul., 10:39, neomorph wrote:
>> > Ich mach gern einen Wikieintrag.
>> > Leider läuft das nocht nicht ganz rund, da offensichtlich das
>> lanping.sh
>> > noch nichts zurückmeldet. Beim Versuch das Script per Hand aufzurufen,
>> > bekomme ich momentan noch folgenden fehler:
>> >
>> > per Hand das Script auslösen: "./lanping.sh192.168.1.30"
>> > bekomme ich nur das Ergebnis: "Fehler".
>> >
>> > löse ich das Script ohne Parameter aus: "./lanping.sh"
>> >
>> > bekomme ich: "Ergebnis:  ./lanping.sh "
>> >
>> > jetzt muss ich erstmal sicherstellen, dass das Script auch etwas
>> > zurückliefert.
>> >
>> > lg
>> > neo
>> > Am Freitag, 27. Juli 2012 23:28:19 UTC+2 schrieb neomorph:
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > > ja, großartig!!! danke
>> >
>> > > ich hab das gerade mal eingerichtet und werde mal abwarten ob ich es
>> schon
>> > > verstanden habe, bzw. ob es tut was es soll :)
>> > > ich hatte kurz Schwierigkeiten mit dem kopierten Code von Dir, aber
>> soweit
>> > > hab ich es geschafft Dein Beispiel fehlerlos zu "importieren".
>> >
>> > > ich melde mich dazu sicher nochmal, da ich den Ansatz sehr
>> interessant
>> > > finde.
>> >
>> > > danke und einen schönen Abend
>> > > neo
>> >
>> > > Am Samstag, 21. Juli 2012 07:51:58 UTC+2 schrieb Matthias Soll:
>> >
>> > >> Hallo zusammen,
>> > >> ist es mit fhem möglich den Netzwerkstatus der Fritzbox auszulesen
>> um
>> > >> damit zu erkennen welche computer eingeschaltet sind?
>> > >> Ich möchte einen ausgang am net-io schalten wenn bestimmte Rechner
>> an
>> > >> sind.
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Mitch

                                                     

Hallo Jo,

wollte das gerade nachbauen, bekomme aber beim Speichern der 99_MyUtils.pm
lauter Fehlermeldungen.
Habe dann versucht eine zweite anzulegen, kommen aber die gleichen Fehler:

*syntax error at /usr/share/fhem/FHEM/99_myUtils2.pm line 31, near "the
string sub trim($) " syntax error at /usr/share/fhem/FHEM/99_myUtils2.pm
line 36, near "}" syntax error at /usr/share/fhem/FHEM/99_myUtils2.pm line
44, near "}" syntax error at /usr/share/fhem/FHEM/99_myUtils2.pm line 52,
near "}" Can't use global @_ in "my" at /usr/share/fhem/FHEM/99_myUtils2.pm
line 57, near "=$_" syntax error at /usr/share/fhem/FHEM/99_myUtils2.pm
line 69, near "}"*

Am Freitag, 27. Juli 2012 19:06:37 UTC+2 schrieb JoWiemann:
>
> Hallo,
>
> da bei mir für FHEM eine ausgediente FB 7170 zuständig ist und alle
> Geräte sich an der FB 7270 anmelden habe ich folgendes umgesetzt:
>
> Unter fhem/FhemUtils
>
> das folgende Script: lanping.sh ablegen und ausführbar machen ( chmod
> 755 lanping.sh ):
>
> #!/bin/bash
> if [ -n "$1" ]; then
> /bin/ping -q -c1 $1 &> /dev/null
> else
> echo "Ergebnis:  $0 "
> exit 1
> fi
> if [ "$?" -gt 0 ]; then
> echo $1 Fehler
> else
> echo $1 Ok
> fi
> exit 0
>
> In der 99_myutils.pm folgendes eintragen:
>
> sub right{
>     my ($string,$nr) = @_;
>     return substr $string, -$nr, $nr;
> }
>
> sub left{
>     my ($string,$nr) = @_;
>     return substr $string, 0, $nr;
> }
>
> # http://www.somacon.com/p114.php
> # Perl trim function to remove whitespace from the start and end of
> the string
> sub trim($)
> {
>    my $string = shift;
>    $string =~ s/^\s+//;
>    $string =~ s/\s+$//;
>    return $string;
> }
>
> # Left trim function to remove leading whitespace
> sub ltrim($)
> {
>    my $string = shift;
>    $string =~ s/^\s+//;
>    return $string;
> }
>
> # Right trim function to remove trailing whitespace
> sub rtrim($)
> {
>    my $string = shift;
>    $string =~ s/\s+$//;
>    return $string;
> }
>
> sub
> FhemLanStat($$)
> {
>   my $net_device=$_[0];
>   my $attendance="Abwesend";
>
>   $net_device=qx(/var/media/ftp/uStor01/fhem/fhem/fhem/FhemUtils/
> lanping.sh $net_device);
>     if(right(trim($net_device), 2) eq "Ok"){
>         $attendance="Anwesend";
>     } else {
>             $attendance="Abwesend";
>     }
>
>     fhem "set $_[1] $attendance";
> }
>
> Beispiel fuer Definition in fhem.cfg:
>
> define BinDa dummy
> attr BinDa icon icoHouse.png
> attr BinDa room WerIstZuHause
> attr BinDa setList Anwesend Abwesend
>
> # Netzadresse = ip oder Name
> # Name von Dummy hier = BinDa
> define SucheBinDa notify SucheBinDa {FhemLanStat("Netzadresse", "Name
> von Dummy")}
> define TriggerBinDa at +*00:05:00 trigger SucheBinDa
>
> Viele Spaß beim ausprobieren Jörg
>
>
>
> On 27 Jul., 15:38, neomorph wrote:
> > Hallo,
> >
> > ich wollte hier einmal nachhaken. Bei mir läuft FHEM auf einem Mac-mini,
> > WLAN macht bei mir eine TimeCapsule und meine Fritzbox macht eigentlich
> nur
> > DHCP, Portforwarding usw.
> > Jetzt ist die Frage, ob ich die aktiven Geräte die sich an der FB
> > angemeldet haben, also eine IP-Adresse erhalten haben, mit dem Mac
> auslesen
> > und mit FHEM auswerten könnte??
> >
> > Hat jemand soetwas schon einmal versucht?
> >
> > Viele Grüße
> > neo
> >
> > Am Donnerstag, 26. Juli 2012 14:59:00 UTC+2 schrieb Sebastian:
> >
> >
> >
> >
> >
> > > Das freut mich, das es nun funktioniert und ich erfolgreich helfen
> konnte
> > > :)
> >
> > > Mhm, das ist komisch, obwohl mein Xperia auch manchmal komische Sachen
> mit
> > > dem WLAN macht. Vielleicht kannst du mal probieren, das Gerät aus dem
> > > Netzwerk zu löschen und nochmal neu anzumelden am WLAN, vielleicht
> hilft
> > > das ja, weil das Problem hatte ich irgendwann auch schon mal in so
> einer
> > > Art.
> >
> > > Lg
> >
> > > Am Donnerstag, 26. Juli 2012 14:19:27 UTC+2 schrieb Matthias Soll:
> >
> > >> @ Sebastian
> > >> Jetzt geht´s Vielen Dank für deine Hilfe.
> > >> Ich glaube das größte Problem war die Device Zahl <15.
> > >> Die Fritzbox merkt sich jedes Gerät was irgendwann mal angemeldet war
> und
> > >> das waren mehr als 15 bei mir.
> > >> Ich dachte dass nur die Anzahl der angezeigten Geräte interessant
> ist.
> >
> > >> Und was mir noch auffällt, mein xperia bleibt verbunden in der
> Fritzbox
> > >> wenn ich wlan ausschalte, nur wenn ich auf flugmodus schalte wird es
> als
> > >> nicht verbunden angezeigt, dann kann das mit fhem natürlich auch
> nicht
> > >> funktionieren.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

Mitch

                                                     

So, habe das ganze gerade implementiert.
Leider funktioniert es aber nicht.

Der Status wird nicht gesetzt, es bleiben immer die ???
Der lanping.sh Script funktioniert und liefert OK, wenn pingbar.

fhem läuft bei mir auf einem Ubuntu Rechner, weswegen ich in der
99_myUtils.pm folgendes geändert habe:

*    # Vollstaendigen Pfad zum Script angeben
    $net_device=qx(/usr/share//fhem/FHEM/FhemUtils/lanping.sh $net_device);
*

Hier mal meine Einträge in die fhem.cfg:

*define Sepp dummy
attr Sepp room WerIstZuHause
attr Sepp setList Anwesend Abwesend

define Simone dummy
attr Simone room WerIstZuHause
attr Simone setList Anwesend Abwesend

define Topfield dummy
attr Topfield room WerIstZuHause
attr Topfield setList Anwesend Abwesend

define 192.168.0.212 dummy
attr 192.168.0.212 alias SiS_Privat
attr 192.168.0.212 room WerIstZuHause
attr 192.168.0.212 setList Anwesend Abwesend

define FritzBox7270 dummy
attr FritzBox7270 room WerIstZuHause
attr FritzBox7270 setList Anwesend Abwesend

define WerDa notify WerDa {FhemLanStat("Topfield", "Sepp", "Simone",
"192.168.0.212", "FritzBox7270")}
define SucheLan at +*00:05:00 trigger WerDa*


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

Mitch

                                                     

Nachtrag

folgende Fehler wirft der Log aus:
*
*

*2012.08.24 10:37:38 3: WerDa return value: Anzahl Parameter nicht korrekt.*



Am Freitag, 24. August 2012 11:10:38 UTC+2 schrieb Mitch:
>
> So, habe das ganze gerade implementiert.
> Leider funktioniert es aber nicht.
>
> Der Status wird nicht gesetzt, es bleiben immer die ???
> Der lanping.sh Script funktioniert und liefert OK, wenn pingbar.
>
> fhem läuft bei mir auf einem Ubuntu Rechner, weswegen ich in der
> 99_myUtils.pm folgendes geändert habe:
>
> *    # Vollstaendigen Pfad zum Script angeben
>     $net_device=qx(/usr/share//fhem/FHEM/FhemUtils/lanping.sh
> $net_device); *
>
> Hier mal meine Einträge in die fhem.cfg:
>
> *define Sepp dummy
> attr Sepp room WerIstZuHause
> attr Sepp setList Anwesend Abwesend
>
> define Simone dummy
> attr Simone room WerIstZuHause
> attr Simone setList Anwesend Abwesend
>
> define Topfield dummy
> attr Topfield room WerIstZuHause
> attr Topfield setList Anwesend Abwesend
>
> define 192.168.0.212 dummy
> attr 192.168.0.212 alias SiS_Privat
> attr 192.168.0.212 room WerIstZuHause
> attr 192.168.0.212 setList Anwesend Abwesend
>
> define FritzBox7270 dummy
> attr FritzBox7270 room WerIstZuHause
> attr FritzBox7270 setList Anwesend Abwesend
>
> define WerDa notify WerDa {FhemLanStat("Topfield", "Sepp", "Simone",
> "192.168.0.212", "FritzBox7270")}
> define SucheLan at +*00:05:00 trigger WerDa*
>
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

Guest

Originally posted by: <email address deleted>

läuft bei mir nicht kann mir vielleicht noch jemand einen Tip geben?
Ich habe neben der 99_Utils.pm noch die 99_MyUtils.pm angelegt und
folgendes hineinkopiert:

sub
FBWlanStat($$)
{
my ($net_device1)=@_[0];
$net_device1 = $net_device1."\n";
my $number=0;
my $status=0;
my $net_device="";
my $attendance="";
while($number <= 15){$net_device=qx(/usr/bin/ctlmgr_ctl r landevice
settings/landevice$number/name);
      if($net_device eq $net_device1){
      $status=qx(/usr/bin/ctlmgr_ctl r landevice
settings/landevice$number/active);
      last;}$number++;}
       if ($status == 1)
{$attendance="Anwesend";}else{$attendance="Abwesend";}
       if(Value("@_[1]") ne $attendance){
       fhem "set @_[1] $attendance"}}

Und in der fhem.cfg habe ich das ergänzt:

define MyAttendance dummy
attr MyAttendance icon icoHouse.png
attr MyAttendance room WhoIsAtHome
attr MyAttendance setList Anwesend Abwesend
define WLAN notify WLAN {FBWlanStat("printserver", "MyAttendance")}
define search_for_printserver at +*00:05:00 trigger WLAN

Status bleibt immer abwesend
Ich habe auch schon einige male komplett gebootet, kann mir jemand helfen?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guido

                                                       

Hallo Matthias,


Ich habe neben der 99_Utils.pm noch die 99_MyUtils.pm angelegt und
> folgendes hineinkopiert:


die 99_Utils.pm sollte eigentlich schon vorhanden gewesen sein, und du hast
jetzt in beide den Code kopiert ?

http://fhemwiki.de/wiki/99_myUtils_anlegen

hast du mehr als 15 Lan bzw WlanDevices in deiner Fritzbox Netzwerkliste ?

Was sagt der Log ?




Am Montag, 23. Juli 2012 15:59:51 UTC+2 schrieb Matthias Soll:
>
> läuft bei mir nicht kann mir vielleicht noch jemand einen Tip geben?
> Ich habe neben der 99_Utils.pm noch die 99_MyUtils.pm angelegt und
> folgendes hineinkopiert:
>
> sub
> FBWlanStat($$)
> {
> my ($net_device1)=@_[0];
> $net_device1 = $net_device1."\n";
> my $number=0;
> my $status=0;
> my $net_device="";
> my $attendance="";
> while($number <= 15){$net_device=qx(/usr/bin/ctlmgr_ctl r landevice
> settings/landevice$number/name);
>       if($net_device eq $net_device1){
>       $status=qx(/usr/bin/ctlmgr_ctl r landevice
> settings/landevice$number/active);
>       last;}$number++;}
>        if ($status == 1)
> {$attendance="Anwesend";}else{$attendance="Abwesend";}
>        if(Value("@_[1]") ne $attendance){
>        fhem "set @_[1] $attendance"}}
>
> Und in der fhem.cfg habe ich das ergänzt:
>
> define MyAttendance dummy
> attr MyAttendance icon icoHouse.png
> attr MyAttendance room WhoIsAtHome
> attr MyAttendance setList Anwesend Abwesend
> define WLAN notify WLAN {FBWlanStat("printserver", "MyAttendance")}
> define search_for_printserver at +*00:05:00 trigger WLAN
>
> Status bleibt immer abwesend
> Ich habe auch schon einige male komplett gebootet, kann mir jemand helfen?
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com