FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: LotharRappsilber am 23 Oktober 2014, 18:16:17

Titel: Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 23 Oktober 2014, 18:16:17
Hallo zusammen,

habe in die 99_MyUtils.pm folgendes eingefügt:

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
##########################################################
# Untoggle
# toggle-Vorgänge in den Status on/off umsetzen
sub Untoggle($) {
my ($obj) = @_;
if (Value($obj) eq "toggle"){
  if (OldValue($obj) eq "off") {
   {fhem ("setstate ".$obj." on")}
  }
  else {
   {fhem ("setstate ".$obj." off")}
  }
}
else {
  {fhem "setstate ".$obj." ".Value($obj)}
}
}
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"}}
1;


und in die fhem.cfg


define MyAttendance dummy
attr MyAttendance fp_Haus 550,560,0,
attr MyAttendance icon WLAN_Status.1
attr MyAttendance room Wirtschaftsraum
attr MyAttendance setList Anwesend Abwesend
define WLAN notify WLAN {FBWlanStat("Computershop", "MyAttendance")}
define search_for_Computershop at +*00:05:00 trigger WLAN


Trotzdem bekomme ich beim STATE immer Fragezeichen und keine Netzwerkliste. Wer kann helfen?

Gruß
Lothar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: Doggiebert am 23 Oktober 2014, 18:48:50
Zitat von: LotharRappsilber am 23 Oktober 2014, 18:16:17
Trotzdem bekomme ich beim STATE immer Fragezeichen und keine Netzwerkliste. Wer kann helfen?
Na, in erster Linie vermutlich der Event Monitor und das FHEM Log. Wird ein entsprechendes Event erzeugt? Gibts irgendwelche Auffälligkeiten im Log?
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 23 Oktober 2014, 19:10:16
Keine Auffälligkeiten im log.

Gruß
Lothar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: Doggiebert am 23 Oktober 2014, 22:44:37
na, dann füg doch mal in deinen Perl Code ein paar Log-Einträge ein, und schau, ob deine Funktion überhaupt angefahren wird bzw. welche Werte in den Variablen stehen...
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 26 Oktober 2014, 14:32:32
Jetzt zeigt der log was an. Allerdings kann ich damit nichts anfangen.


2014.10.24 10:17:02 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_MyUtils.pm line 7.
2014.10.24 10:17:02 1: PERL WARNING: Subroutine Untoggle redefined at ./FHEM/99_MyUtils.pm line 13.
2014.10.24 10:17:02 1: PERL WARNING: Scalar value @_[0] better written as $_[0] at ./FHEM/99_MyUtils.pm line 30.
2014.10.24 10:17:02 1: PERL WARNING: Scalar value @_[1] better written as $_[1] at ./FHEM/99_MyUtils.pm line 41.
2014.10.24 10:17:02 1: PERL WARNING: Scalar value @_[1] better written as $_[1] at ./FHEM/99_MyUtils.pm line 42.
2014.10.24 10:17:02 1: PERL WARNING: Subroutine FBWlanStat redefined at ./FHEM/99_MyUtils.pm line 29.


Gruß
Lotar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: Doggiebert am 26 Oktober 2014, 21:58:20
zumindest sagt das Log schon mal, dass die Funktion FBWlanStat 2x existiert. Liegt da noch ne frühere Version im Verzeichnis?
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 27 Oktober 2014, 10:04:59
nein, keine frühere Version!
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: frank am 28 Oktober 2014, 18:39:46
2014.10.24 10:17:02 1: PERL WARNING: Scalar value @_[0] better written as $_[0] at ./FHEM/99_MyUtils.pm line 30.
2014.10.24 10:17:02 1: PERL WARNING: Scalar value @_[1] better written as $_[1] at ./FHEM/99_MyUtils.pm line 41.
2014.10.24 10:17:02 1: PERL WARNING: Scalar value @_[1] better written as $_[1] at ./FHEM/99_MyUtils.pm line 42.

das würde ich erst mal so ändern wie angegeben. also @_[1] => $_[1], usw.

if(Value("@_[1]") ne $attendance){
hier zusätzlich die anführungszeichen weg. entweder variable oder string.
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 31 Oktober 2014, 19:29:35
I
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 31 Oktober 2014, 19:32:01
Ich habe es gemacht. Allerdings kommt jetzt keine Liste, sondern nur "Next: 19:33:26" z. B.

Gruß
Lothar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 03 November 2014, 10:39:20
Es kommt nur das!!!, aber keine Liste.

Gruß
Lothar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 05 November 2014, 10:40:14
Hat denn keiner eine Idee?

Gruß
Lothar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: Puschel74 am 05 November 2014, 11:02:13
Hallo,

Zitat von: LotharRappsilber am 03 November 2014, 10:39:20
Es kommt nur das!!!, aber keine Liste.

Gruß
Lothar

Das ist auch nur ein Screenshot deines at das wiederum das notify aufruft.
Was sollen wir damit anfangen  :o

Grüße

Edith. Wobei, das sieht gut aus.
Dein notify sollte alle 5 Minuten getriggert werden.
Wenn nicht musst du mal im Logfile schauen was falsch läuft
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: LotharRappsilber am 05 November 2014, 12:13:36
Hallo,

vielen Dank für die schnelle Antwort, aber wie bekomm ich die Liste?

Lothar
Titel: Antw:Netzwerkliste und WLAN-Status
Beitrag von: Doggiebert am 05 November 2014, 13:06:19
Hmja, hier kann niemand hellsehen, was Du in der "Liste" bzw. "Netzwerkliste" genau sehen willst und es wird auch niemand deinen Code debuggen, bis er rund läuft - hier gibt's nur Hilfe zur Selbsthilfe.
Also, systematische Fehlersuche:
Step 1: kommt das Event, das den Notify antriggern soll?
Step 2: wird der Notify auch wirklich getriggert, d.h. landest Du auch in deiner Funktion FBWlanStat?
Wenn Du die beiden Fragen gesichert (!) mit ja beantworten kannst, wären wir damit wieder beim nächsten Step:
Zitat von: Doggiebert am 23 Oktober 2014, 22:44:37
na, dann füg doch mal in deinen Perl Code ein paar Log-Einträge ein, und schau, ob deine Funktion überhaupt angefahren wird bzw. welche Werte in den diversen Variablen stehen...
Dann wirst Du schon mal rausfinden in welcher Codezeile irgendwas anders läuft, als Du erwartest, und erst dann lohnt sich die Frage, wie man das behebt...  ::)