FHEM Forum

FHEM => fhem-users => Thema gestartet von: Guest am 15 September 2011, 17:41:24

Titel: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 15 September 2011, 17:41:24
Originally posted by: <email address deleted>

Mit einem kleinen Trick gehts trotzdem

2 Shell scripts erstellen :

#!/bin/sh
echo "ATD#96*1*" | nc 127.0.0.1 1011
sleep 1
echo "ATH#96*1*" | nc 127.0.0.1 1011                     //WLAN EIN

und

#!/bin/sh
echo "ATD#96*0*" | nc 127.0.0.1 1011
sleep 1
echo "ATH#96*0*" | nc 127.0.0.1 1011                   //WLAN AUS


und anschließend in der fhem.cfg  :

define WLAN dummy

define WLAN_switch notify Sender:Btn1.* set WLAN %EVTPART1

define WLAN_set_on notify WLAN:on "WLAN_On.sh"
define WLAN_set_off notify WLAN:off "WLAN_Off.sh"

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: rudolfkoenig am 15 September 2011, 18:45:58
                                                   

Danke, gehoert ins Wiki :)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 18 März 2012, 15:48:49
Originally posted by: <email address deleted>

Hi,
offenbar hat AVM zu 84.05.20 das WLAN-switching umgestellt.

/etc/init.d/rc.net wlanstop
funktioniert nicht mehr.

/etc/init.d/rc.wlan stop
funktioniert alleine auch nicht. Ein ps nach einschalten des WLAN über die
konfig-Oberflächte zeigt, dass da nun ein ganzer Haufen scripts aufgerufen
werden.
Um Versions-unabhängig zu sein, wollte ich daher nun auf diesen Weg
umstellen - und krieg's leider nicht hin. Habe die sh-scripts angelegt und
mit chmod u+x WLAN_off.sh ausführbar gemacht.

WLAN_Off.sh wie in diesem post beschrieben liefert
nc: can't connect to remote host (127.0.0.1): Connection refused
'leep: invalid number '1

Auch nach Änderung auf
echo "ATD#96*0*" | nc 127.0.0.1 -p 1011
kommt dieselbe Meldung:
# sh WLAN_off.sh
nc: can't connect to remote host (127.0.0.1): Connection refused
'leep: invalid number '1
BusyBox v1.18.5 (2011-10-27 16:00:43 CEST) multi-call binary.

Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]

Open a pipe to IP:PORT or FILE

Options:
        -e PROG Run PROG after connect
        -l      Listen mode, for inbound connects
                (use -l twice with -e for persistent server)
        -p PORT Local port
        -w SEC  Timeout for connect
        -i SEC  Delay interval for lines sent
        -f FILE Use file (ala /dev/ttyS0) instead of network


Vielleicht hat's ja schon jemand hingebracht und kann die Lösung hier
posten, oder ein Linux-Könner unterstützt hier bitte? Bitte bitte! :)
Ich stell die Lösung dann auch ins Wiki :)

Gruß, Uli


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 18 März 2012, 20:28:06
Originally posted by: <email address deleted>

Am Sonntag, 18. März 2012 15:48:49 UTC+1 schrieb UliM:
>
> WLAN_Off.sh wie in diesem post beschrieben liefert
> nc: can't connect to remote host (127.0.0.1): Connection refused
> 'leep: invalid number '1
>
>
Das hast Du wohl "leep" statt "sleep" in Deinem Skript.
 

> Auch nach Änderung auf
> echo "ATD#96*0*" | nc 127.0.0.1 -p 1011


gemäß dem Posting oben heisst es

echo "ATD#96*0*" | nc 127.0.0.1 1011

also ohne -p

MfG Willi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 18 März 2012, 20:36:58
Originally posted by: <email address deleted>

Hi,
nö, im script steht sleep 1
Da bei der Meldung das s fehlt, dachte ich, dass nc ein Parameter fehlt und hab -p probehalber dazugesetzt, geht aber auch nicht.

Wegen 'Connection refused': vll liegt's an root vs boxuser, weiß aber nicht wie ich das prüfen bzw beeinflussen kann?

Gruß Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 18 März 2012, 21:08:06
Originally posted by: <email address deleted>

Am Sonntag, 18. März 2012 20:36:58 UTC+1 schrieb UliM:
>
>
> Wegen 'Connection refused': vll liegt's an root vs boxuser, weiß aber
> nicht wie ich das prüfen bzw beeinflussen kann?
>
> Gruß Uli


Ich würde per telnet auf die Box und Dein Skript mal ausführen. Wenn das
geht, kannst Du ja boxuser aus startfhem löschen und die Fritzbox rebooten.

Die Meldung "connection refused" kommt aber m.E. nicht daher, sondern an
dem -p, welches so als Parameter nicht geht. Entweder man kann als User nc
aufrufen oder nicht. Das TCP/IP auf der Fritzbox weiss nicht von welchem
User nc aufgerufen wird. Es kennt nur die IP-Adresse des Aufrufenden.

Bei mir zeigt meine fritzbox (netstat -anp), dass der Port 1011 lokal, aber
nicht über das LAN bzw. WAN nutzbar ist (Bindung an localhost bzw.
127.0.0.1):
tcp        0      0 127.0.0.1:1011          0.0.0.0:*               LISTEN
     759/telefon

Ich glaube daher nicht, dass es an boxuser liegt.

MfG Willi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 19 März 2012, 08:34:04
Originally posted by: <email address deleted>

Hi,
vielen Dank so weit.  Leider geht's noch nicht - aber imerhin kleine neue
Erkenntnisse:
*1. *netstat -anp bringt auch bei mir

tcp  0 0 127.0.0.1:1011 0.0.0.0:* LISTEN 743/telefon

*2.* Wenn ich die ath/atd-Beffehle über FB-telnet:21 absetze (also zB echo
"ATD#96*1*" | nc 127.0.0.1 1011 ) , funktionieren sie - keine
Fehlermeldung, WLAN wird erfolgreich ein/ausgeschaltet.

*3. *Die skripte ansich lassen sich in der telnet-session starten - es
kommt keine Fehlermeldung zu fehlender Berechtigung o.ä.

*4. *Dennoch kommt immer noch dieselbe Fehlermeldung:

# sh WLAN_off.sh
nc: can't connect to remote host (127.0.0.1): Connection refused
'leep: invalid number '1
BusyBox v1.18.5 (2011-10-27 16:00:43 CEST) multi-call binary.

Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]

Open a pipe to IP:PORT or FILE

Options:
        -e PROG Run PROG after connect
        -l      Listen mode, for inbound connects
                (use -l twice with -e for persistent server)
        -p PORT Local port
        -w SEC  Timeout for connect
        -i SEC  Delay interval for lines sent
        -f FILE Use file (ala /dev/ttyS0) instead of network

*Hier z.B. das Stop-Skript* WLAN_off.sh:

#!/bin/sh
echo "ATD#96*0*" | nc 127.0.0.1 1011
sleep 1
echo "ATH#96*0*" | nc 127.0.0.1 1011                   //WLAN AUS

Hab ein bischen ge-google-t: *sudo *gibt's auf der FB nicht.  ls-l gibt

-rwxr-xr-x    1 boxusr80 root           125 Mar 19 08:13 WLAN_off.sh

Habe auch für beide Dateien ein chown root ausgeführt - es bleibt beim o.g.
Verhalten :(

Was kann ich tun?

Gruß, Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 19 März 2012, 08:41:34
Originally posted by: <email address deleted>

also ich weiss nicht genau was da falsch läuft, aber das "'leep" deutet auf
irgendwas seltsames hin, als stimmten da die Zeichen in dem File
nicht...das kommt doch von der "sleep" Zeile...

Ich habe mich nun per SSH auf die Fritz.Box verbunden, dort per vi das
Script erstellt als test.sh und dann "sh test.sh" ausgeführt -> geht.

Am Donnerstag, 15. September 2011 17:41:24 UTC+2 schrieb Nylon:
>
> Mit einem kleinen Trick gehts trotzdem
>
> 2 Shell scripts erstellen :
>
> #!/bin/sh
> echo "ATD#96*1*" | nc 127.0.0.1 1011
> sleep 1
> echo "ATH#96*1*" | nc 127.0.0.1 1011                     //WLAN EIN
>
> und
>
> #!/bin/sh
> echo "ATD#96*0*" | nc 127.0.0.1 1011
> sleep 1
> echo "ATH#96*0*" | nc 127.0.0.1 1011                   //WLAN AUS
>
>
> und anschließend in der fhem.cfg  :
>
> define WLAN dummy
>
> define WLAN_switch notify Sender:Btn1.* set WLAN %EVTPART1
>
> define WLAN_set_on notify WLAN:on "WLAN_On.sh"
> define WLAN_set_off notify WLAN:off "WLAN_Off.sh"

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 19 März 2012, 08:45:35
Originally posted by: <email address deleted>

Hi,
vielen Dank für's Nachschauen - ok, ein Ansatz :)
Ich nutze Notepad++
Vorhin habe ich (auf Grund desselben Gedankens) alle Zeilenumbrüche im
script (mittels Notepad++) gelöscht und neu gesetzt.
vi hab ich zuletzt im Studium benutzt - kenne die ganzen kryptischen
Bedienkürzel nicht mehr.
Versuche mal mir das zusammenzugoogeln.
Bzw - Luxusversion - kannst Du mir Dein script mailen?  ;-)
Gruß, Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: borsti67 am 19 März 2012, 12:13:27
                                                 

Hi Oskar,

> [-f FILE|IPADDR PORT]

stimmt, ich hatte übersehen, dass das "-f" innerhalb der Klammer steht. :(

Gruss
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 20 März 2012, 11:27:54
Originally posted by: <email address deleted>

Hi,
so, kaum probiert man 2 Stunden rum, schon geht's ;-)
Da mir (und vll auch Anderen) das Bearbeiten im vi zu blöd war, hab ich's
nun in ein Progrämmchen gepackt, das man zB in seine 99_myUtils stecken
kann.
Geht bestimmt auch kürzer, es funktioniert aber. Freue mich mch über
updates wenn's jemand kürzer/hübscher hinbekommt. Ich stell's sonst die
nächsten Tage ins Wiki.
Gruß, Uli

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

######## Switch FB WLAN on/off ############
# call from notify with {doWLANswitch("%")}
sub
doWLANswitch($) {
   my $cmd = shift;
   my $ret = "";
   if ($cmd =~ m"on"i) {            # on or ON
      $ret .= "ATD: " . `echo "ATD#96*1*" | nc 127.0.0.1 1011` ;
      sleep 1 ;
      $ret .= " ATH: " . `echo "ATH" | nc 127.0.0.1 1011` ;
   }
   if ($cmd =~ m"off"i) {           # off or OFF
      $ret .= "ATD: " . `echo "ATD#96*0*" | nc 127.0.0.1 1011` ;
      sleep 1 ;
      $ret .= " ATH: " . `echo "ATH" | nc 127.0.0.1 1011` ;
   }   $ret =~ s,[\r\n]*,,g;        # remove CR from return-string
   Log 1, "doWLANswitch($cmd) returned: $ret";
}
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 21 März 2012, 14:16:24
Originally posted by: <email address deleted>

Hi,
Wiki-Eintrag erstellt:
http://fhemwiki.de/wiki/Fritzbox:_WLAN_ein/ausschalten
Gruß, Uil

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 21 März 2012, 18:03:02
Originally posted by: <email address deleted>

Hi Uli!
Das funktioniert aber nur, wenn FHEM direkt auf der FRIZ!Box läuft
(127.0.0.1) und nicht wie in meinem Falle auf einer anderen Maschine (SuSE).

Am Mittwoch, 21. März 2012 14:16:24 UTC+1 schrieb UliM:
>
> Hi,
> Wiki-Eintrag erstellt:
> http://fhemwiki.de/wiki/Fritzbox:_WLAN_ein/ausschalten
> Gruß, Uil
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 21 März 2012, 18:12:33
Originally posted by: <email address deleted>

Am Mittwoch, 21. März 2012 18:03:02 UTC+1 schrieb ilmtuelp0815:
>
> Hi Uli!
> nur, wenn FHEM direkt auf der FRIZ!Box läuft (127.0.0.1)
>
>
Hi,
stimmt - gar nicht bedacht - das sollte doch aber der Standardfall sein?  
ich schreib's trotzdem dazu, danke!
Gruß, Ul
 

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: csaba am 12 April 2012, 12:17:09
                                               

Hi

Ich versuche jetzt den Skript anzupassen so das es auch von meinem
Guruplug zum Fritzbox geht.
Dazu habe ich root's public key vom Guruplug auf die Fritzbox
unter .ssh/authorized_keys kopiert.
Somit kann sich "ssh fritzbox_ip" ohne passwortabfrage einloggen.

Der geanderte Skript sieht so aus:

######## Switch FB WLAN on/off ############
# call from notify with {doWLANswitch("%")}
sub
doWLANswitch($) {
 my $cmd = shift;
 my $ret = "";
 if ($cmd =~ m"on"i) {            # on or ON
  $ret .= "ATD: " . `ssh fritzbox_ip "echo "ATD#96*1*" | nc 127.0.0.1
1011"` ;
  sleep 1 ;
  $ret .= " ATH: " . `ssh fritzbox_ip "echo "ATH" | nc 127.0.0.1
1011"` ;
 }
 if ($cmd =~ m"off"i) {           # off or OFF
  $ret .= "ATD: " . `ssh fritzbox_ip "echo "ATD#96*0*" | nc 127.0.0.1
1011"` ;
  sleep 1 ;
  $ret .= " ATH: " . `ssh fritzbox_ip "echo "ATH" | nc 127.0.0.1
1011"` ;
 }
 $ret =~ s,[\r\n]*,,g;        # remove CR from return-string
 Log 1, "doWLANswitch($cmd) returned: $ret";
}

Leider habe ich ein Problem:

wenn ich trigger WLANSwitch on eingebe kriege ich die Fehlermeldung:

WLANSwitch return value: Bareword "on" not allowed while "strict subs"
in use at (eval 23) line 1.

aber trigger WLANSwitch "on" oder trigger WLANSwitch "off" gehen
einwandfrei mit ein und ausschalten des WLANs auf der Fritzbox.

die define sieht so aus in fhem.cfg:

define WLANSwitch notify WLANSwitch {doWLANswitch(%)}

Jemand  eine Idee?

Oder anders formuliert funktioniert es bei euch genauso wie es im wiki
drin ist?
Das kann ich nicht testen da mein fhem nicht direkt auf der Fritzbox
ist.

Gruss,

Csaba

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: rudolfkoenig am 12 April 2012, 12:23:14
                                                   

> define WLANSwitch notify WLANSwitch {doWLANswitch(%)}

Sollte
  define WLANSwitch notify WLANSwitch {doWLANswitch("%")}
heissen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: csaba am 12 April 2012, 12:33:50
                                               

Danke Rudi das war's.

Falls jemand dasselbe benutzen moechte es geht nur auf einer ge-freetz-
ten Fritzbox da ansonsten kein sshd drauf.

Gruss,

Csaba

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 12 April 2012, 16:20:55
Originally posted by: <email address deleted>

2012/4/12 Rudolf Koenig

> Sollte
>  define WLANSwitch notify WLANSwitch {doWLANswitch("%")}
> heissen.
>

So steht's auch im Wiki :)
Und nein, ich hab's nicht schnell noch geändert ;-)

Gruß, Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: csaba am 12 April 2012, 16:44:56
                                               

Ich habe das auch nicht bezweifelt.
War mein Fehler, nur ich kam nicht weiter bei der Fehlersuche,
deshalb der Post.

Und zusatzlich fur Leute die Fhem nicht auf der Fritzbox haben.

Gruss,

Csaba

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 10 November 2012, 16:48:25
Originally posted by: <email address deleted>

Funktioniert nur mit der FHEM-Firmware? Hab noch die "originale AVM" auf
meiner FB7390. Bei mir steht im Log:

sh: nc: not found

VG Heinz


Am Mittwoch, 21. März 2012 18:12:33 UTC+1 schrieb UliM:
>
>
>
> Am Mittwoch, 21. März 2012 18:03:02 UTC+1 schrieb ilmtuelp0815:
>>
>> Hi Uli!
>> nur, wenn FHEM direkt auf der FRIZ!Box läuft (127.0.0.1)
>>
>>
> Hi,
> stimmt - gar nicht bedacht - das sollte doch aber der Standardfall sein?  
> ich schreib's trotzdem dazu, danke!
> Gruß, Ul
>  
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 10 November 2012, 16:52:44
Originally posted by: <email address deleted>

!!! Steht ja alles schon weiter oben!
Also alles klar. Wollte wegen  ...atHome... eh die FW wechseln.

Heinz

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: punker am 11 November 2012, 15:52:38
                                                       

Hallo,

habe jetzt auch versucht diese Anleitung umzusetzen, aber leider nur mit
kleinen Teilerfolgen!
Habe auch das FHEM auf einem Pogo bzw. Dockstar laufen und eine gefreetzte
7170!
SSH funktioniert ohne Probleme per Schlüssel.
Habe alles in die *99_myUtils.pm* eingefügt und per
 *define WLANSwitch notify WLANSwitch {doWLANswitch("%")}* angelegt.

Leider funktioniert ein
*trigger WLANSwitch off* bzw. *on* nicht!
Wenn ich direkt in putty
*ssh 192.168.2.1 "echo "ATD#96*0*" | nc 127.0.0.1 1011"* eingebe
kam beim ersten Mal ein OK und das WLAN ging aus.
Einschalten ließ es sich aber nicht mehr.

Woran liegts?

mfg
Dieter


Am Donnerstag, 15. September 2011 17:41:24 UTC+2 schrieb Nylon:
>
> Mit einem kleinen Trick gehts trotzdem
>
> 2 Shell scripts erstellen :
>
> #!/bin/sh
> echo "ATD#96*1*" | nc 127.0.0.1 1011
> sleep 1
> echo "ATH#96*1*" | nc 127.0.0.1 1011                     //WLAN EIN
>
> und
>
> #!/bin/sh
> echo "ATD#96*0*" | nc 127.0.0.1 1011
> sleep 1
> echo "ATH#96*0*" | nc 127.0.0.1 1011                   //WLAN AUS
>
>
> und anschließend in der fhem.cfg  :
>
> define WLAN dummy
>
> define WLAN_switch notify Sender:Btn1.* set WLAN %EVTPART1
>
> define WLAN_set_on notify WLAN:on "WLAN_On.sh"
> define WLAN_set_off notify WLAN:off "WLAN_Off.sh"

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: UliM am 11 November 2012, 16:03:05
                                                 

Hi,
hast Du die Routine aus dem Wiki denn so umgebaut, dass sie ebenfalls ssh
ip nutzt?
=8-)


Am Sonntag, 11. November 2012 15:52:38 UTC+1 schrieb punker:
>
> Hallo,
>
> habe jetzt auch versucht diese Anleitung umzusetzen, aber leider nur mit
> kleinen Teilerfolgen!
> Habe auch das FHEM auf einem Pogo bzw. Dockstar laufen und eine gefreetzte
> 7170!
> SSH funktioniert ohne Probleme per Schlüssel.
> Habe alles in die *99_myUtils.pm* eingefügt und per
>  *define WLANSwitch notify WLANSwitch {doWLANswitch("%")}* angelegt.
>
> Leider funktioniert ein
> *trigger WLANSwitch off* bzw. *on* nicht!
> Wenn ich direkt in putty
> *ssh 192.168.2.1 "echo "ATD#96*0*" | nc 127.0.0.1 1011"* eingebe
> kam beim ersten Mal ein OK und das WLAN ging aus.
> Einschalten ließ es sich aber nicht mehr.
>
> Woran liegts?
>
> mfg
> Dieter
>
>
> Am Donnerstag, 15. September 2011 17:41:24 UTC+2 schrieb Nylon:
>>
>> Mit einem kleinen Trick gehts trotzdem
>>
>> 2 Shell scripts erstellen :
>>
>> #!/bin/sh
>> echo "ATD#96*1*" | nc 127.0.0.1 1011
>> sleep 1
>> echo "ATH#96*1*" | nc 127.0.0.1 1011                     //WLAN EIN
>>
>> und
>>
>> #!/bin/sh
>> echo "ATD#96*0*" | nc 127.0.0.1 1011
>> sleep 1
>> echo "ATH#96*0*" | nc 127.0.0.1 1011                   //WLAN AUS
>>
>>
>> und anschließend in der fhem.cfg  :
>>
>> define WLAN dummy
>>
>> define WLAN_switch notify Sender:Btn1.* set WLAN %EVTPART1
>>
>> define WLAN_set_on notify WLAN:on "WLAN_On.sh"
>> define WLAN_set_off notify WLAN:off "WLAN_Off.sh"
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Fritzbox WLAN EIN/AUS
Beitrag von: punker am 11 November 2012, 16:23:58
                                                       

So hab ich es in die 99_myUtils eingefügt:

sub
doWLANswitch($) {
my $cmd = shift;
my $ret = "";
if ($cmd =~ m"on"i) { # on or ON
$ret .= "ATD: " . `ssh 192.168.2.1 "echo "ATD#96*1*" | nc 127.0.0.1 1011"`
;
sleep 1 ;
$ret .= " ATH: " . `ssh 192.168.2.1 "echo "ATH" | nc 127.0.0.1 1011"` ;
}
if ($cmd =~ m"off"i) { # off or OFF
$ret .= "ATD: " . `ssh 192.168.2.1 "echo "ATD#96*0*" | nc 127.0.0.1 1011"`
;
sleep 1 ;
$ret .= " ATH: " . `ssh 192.168.2.1 "echo "ATH" | nc 127.0.0.1 1011"` ;
}
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "doWLANswitch($cmd) returned: $ret";
}

sollte doch passen?

Dieter

Am Sonntag, 11. November 2012 16:03:05 UTC+1 schrieb UliM:
>
> Hi,
> hast Du die Routine aus dem Wiki denn so umgebaut, dass sie ebenfalls ssh
> ip nutzt?
> =8-)
>
>
> Am Sonntag, 11. November 2012 15:52:38 UTC+1 schrieb punker:
>>
>> Hallo,
>>
>> habe jetzt auch versucht diese Anleitung umzusetzen, aber leider nur mit
>> kleinen Teilerfolgen!
>> Habe auch das FHEM auf einem Pogo bzw. Dockstar laufen und eine
>> gefreetzte 7170!
>> SSH funktioniert ohne Probleme per Schlüssel.
>> Habe alles in die *99_myUtils.pm* eingefügt und per
>>  *define WLANSwitch notify WLANSwitch {doWLANswitch("%")}* angelegt.
>>
>> Leider funktioniert ein
>> *trigger WLANSwitch off* bzw. *on* nicht!
>> Wenn ich direkt in putty
>> *ssh 192.168.2.1 "echo "ATD#96*0*" | nc 127.0.0.1 1011"* eingebe
>> kam beim ersten Mal ein OK und das WLAN ging aus.
>> Einschalten ließ es sich aber nicht mehr.
>>
>> Woran liegts?
>>
>> mfg
>> Dieter
>>
>>
>> Am Donnerstag, 15. September 2011 17:41:24 UTC+2 schrieb Nylon:
>>>
>>> Mit einem kleinen Trick gehts trotzdem
>>>
>>> 2 Shell scripts erstellen :
>>>
>>> #!/bin/sh
>>> echo "ATD#96*1*" | nc 127.0.0.1 1011
>>> sleep 1
>>> echo "ATH#96*1*" | nc 127.0.0.1 1011                     //WLAN EIN
>>>
>>> und
>>>
>>> #!/bin/sh
>>> echo "ATD#96*0*" | nc 127.0.0.1 1011
>>> sleep 1
>>> echo "ATH#96*0*" | nc 127.0.0.1 1011                   //WLAN AUS
>>>
>>>
>>> und anschließend in der fhem.cfg  :
>>>
>>> define WLAN dummy
>>>
>>> define WLAN_switch notify Sender:Btn1.* set WLAN %EVTPART1
>>>
>>> define WLAN_set_on notify WLAN:on "WLAN_On.sh"
>>> define WLAN_set_off notify WLAN:off "WLAN_Off.sh"
>>
>>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: borsti67 am 19 März 2012, 11:08:03
                                                 

Hi Uli,

sieht immer noch so aus, als wenn an Deinem Befehl was nicht stimmt.

> # sh WLAN_off.sh
> nc: can't connect to remote host (127.0.0.1): Connection refused
> 'leep: invalid number '1

Ich würde diese Meldung so lesen, dass nc mit 127.0.0.1 zu connecten
versucht, und zwar auf dem Port "leep: invalid number" (was natürlich
unsinnig ist).

Oh, moment mal:

> Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]
> Open a pipe to IP:PORT or FILE

> echo "ATD#96*0*" | nc 127.0.0.1 1011

Gemäß USAGE ist doch Deine Syntax falsch!?!

Ich kenne mich mit den Umleitungen in Linux nicht wirklich aus, aber das
müsste eher so aussehen:

echo "ATD#96*0*" | nc 127.0.0.1 -p 1011

oder noch wahrscheinlicher:

echo "ATD#96*0*" | nc -f 127.0.0.1 1011

Gruß
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Oskar am 19 März 2012, 11:15:26
                                                     

Am 19.03.2012 um 11:08 schrieb borsti:
>> Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]
>> Open a pipe to IP:PORT or FILE

> Gemäß USAGE ist doch Deine Syntax falsch!?!
>
> Ich kenne mich mit den Umleitungen in Linux nicht wirklich aus, aber das müsste eher so aussehen:
>
> echo "ATD#96*0*" | nc 127.0.0.1 -p 1011
>
> oder noch wahrscheinlicher:
>
> echo "ATD#96*0*" | nc -f 127.0.0.1 1011
[-f FILE|IPADDR PORT]
bedeutet:
entweder "-f FILE"
oder "IPADDR PORT"
also ist
> echo "ATD#96*0*" | nc 127.0.0.1 1011
richtig.

Grüße
   Oskar

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: Fritzbox WLAN EIN/AUS
Beitrag von: Guest am 19 März 2012, 11:18:12
Originally posted by: <email address deleted>

Hi Torsten, hi all,
es lag wirklich am inhalt des scripts. Einmal in vi angezeigt sieht's aus
wie angehängt - an jedem in Notepad++ gesetzten Zeilenende klebte noch ein
^M.
Das hab ich gelöscht, brav ne Leerzeile am ende angehängt -> Script läuft.
So weit die gute Nachricht.

Mehrmaliges Ein/Aus-schalten direkt vom Telefon geht.

Schalten per script geht genau EINMAL. Also zB nach reboot 1x WLAN_off.sh
funktioniert. WLAN_on.sh meldet nur ERROR zurück, ein wiederholtes WLAN_off
ebenso.

Bei Schalten über Telefon sieht man in ps in der telnet-session, dass da
ein ganzer Sack voll Aktivitäten abläuft:
 1665 root      1424 S    sh -c wlancfgchanged
 1666 root      1424 S    /bin/sh /bin/wlancfgchanged
 1667 root      1424 S    /bin/sh /etc/init.d/rc.wlan reconfig
 1668 root      2160 S    wland_ctl --event reconfig
 1712 root      1424 S    sh -c /etc/rc.d/rc.wlan down
 1713 root      1432 S    /bin/sh /etc/rc.d/rc.wlan down
 1723 root      1412 S    sleep 2

Ich teste mit meinen scripts jetzt mal ein paar Tage - vll hab hatte ich
nicht genug Karenzzeit zwischen den beiden Läufen.

Danke erstmal für eure Unterstützung!

Gruß, Uli

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