Hauptmenü

wget Rückgabe

Begonnen von Guest, 05 Mai 2012, 16:24:53

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo, ich habe auf meiner Fritzbox FHEM installiert und es läuft soweit
alles wie ich das möchte.
Nun meine Frage. Wie komme ich an den Wert einer wget Rückgabe. Ich
probiere den aktuellen Standby Status meiner Dreambox auszulesen.

So habe ich es probiert. Leider ist $p immer leer.

define test notify Test_Schalter:off {\
 my $p = qx( wget -q -O- 'http://user:passwort@dm8000:11000/web/powerstate'
- O - | sed -n -e 's/.*\(.*\)<\/e2instandby>.*/\1/p') ;;\
 Log 1, $p;;\
}

Kann mir jemand helfen? Der wget Befehl liefert im Telnet der Fritz das
richtige zurück.

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

Guest

Originally posted by: <email address deleted>

Hast Du schon ne Lösung? Würd auch gern verschiedene Sachen von meiner
VUplus abfragen...

Gruß,
Alex

On Saturday, May 5, 2012 4:24:53 PM UTC+2, Skeet wrote:
>
> Hallo, ich habe auf meiner Fritzbox FHEM installiert und es läuft soweit
> alles wie ich das möchte.
> Nun meine Frage. Wie komme ich an den Wert einer wget Rückgabe. Ich
> probiere den aktuellen Standby Status meiner Dreambox auszulesen.
>
> So habe ich es probiert. Leider ist $p immer leer.
>
> define test notify Test_Schalter:off {\
>  my $p = qx( wget -q -O-
> 'http://user:passwort@dm8000:11000/web/powerstate' - O - | sed -n -e
> 's/.*\(.*\)<\/e2instandby>.*/\1/p') ;;\
>  Log 1, $p;;\
> }
>
> Kann mir jemand helfen? Der wget Befehl liefert im Telnet der Fritz das
> richtige zurück.
>

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

Guest

Originally posted by: <email address deleted>

Soweit ich weiß müsste das in `` funktionieren.
Beispiel: if (`ping -c 1 $ip` =~ m/100/)

Ich hatte das damals im WOL device eingebaut.

Matthias

Am Sonntag, 6. Mai 2012 11:14:53 UTC+2 schrieb Hades:
>
> Hast Du schon ne Lösung? Würd auch gern verschiedene Sachen von meiner
> VUplus abfragen...
>
> Gruß,
> Alex
>
> On Saturday, May 5, 2012 4:24:53 PM UTC+2, Skeet wrote:
>>
>> Hallo, ich habe auf meiner Fritzbox FHEM installiert und es läuft soweit
>> alles wie ich das möchte.
>> Nun meine Frage. Wie komme ich an den Wert einer wget Rückgabe. Ich
>> probiere den aktuellen Standby Status meiner Dreambox auszulesen.
>>
>> So habe ich es probiert. Leider ist $p immer leer.
>>
>> define test notify Test_Schalter:off {\
>>  my $p = qx( wget -q -O-
>> 'http://user:passwort@dm8000:11000/web/powerstate' - O - | sed -n -e
>> 's/.*\(.*\)<\/e2instandby>.*/\1/p') ;;\
>>  Log 1, $p;;\
>> }
>>
>> Kann mir jemand helfen? Der wget Befehl liefert im Telnet der Fritz das
>> richtige zurück.
>>
>

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

Guest

Originally posted by: <email address deleted>

Mein Ziel wäre, den aktuellen Sender meiner VUplus abzufragen.
Habs wie folgt, aber es steht immer "0" in VUplus_Sender. wget im telnet
liefert den Sender-Namen, z.B. "VOX HD".
Noch Ideen? Kann doch nicht so schwierig sein?!
 

define VUplus_trigger dummy
>
> define VUplus_Sender dummy
> attr VUplus_Sender fp_EG 33,280,0,
>
 
>
define VUplus_Abfrage_at at +*00:02:00 trigger VUplus_trigger

 
>
define VUplus_Abfrage notify VUplus_trigger {my $sender="test";;\
> $sender=qx(`wget -q -O- http://vuduo/web/subservices -O- | sed -n -e
> 's/.*\(.*\)<\/e2servicename>.*/\1/p'`);;\
>  if ($sender != $value{VUplus_Sender}) {fhem "set VUplus_Sender
> $sender";;}\
>  }
>

Gruß,
Alex

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

rudolfkoenig

                                                   

> Noch Ideen?

Evtl. hat das Problem  mit stderr was zu tun, das wird vom backtick (`) nicht
eingesammelt.

Ich wuerde laengere Shell-Ausdrucke in einem shellskript packen, man kann auch
die Logik dahin auslagern, und fhem per netcat oder fhem.pl aufrufen. Muss
nicht alles in irgendwelche Einzeiler...

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

Guest

Originally posted by: <email address deleted>

Ne, bis jetzt noch nicht

Am Sonntag, 6. Mai 2012 11:14:53 UTC+2 schrieb Hades:
>
> Hast Du schon ne Lösung? Würd auch gern verschiedene Sachen von meiner
> VUplus abfragen...
>
> Gruß,
> Alex
>
> On Saturday, May 5, 2012 4:24:53 PM UTC+2, Skeet wrote:
>>
>> Hallo, ich habe auf meiner Fritzbox FHEM installiert und es läuft soweit
>> alles wie ich das möchte.
>> Nun meine Frage. Wie komme ich an den Wert einer wget Rückgabe. Ich
>> probiere den aktuellen Standby Status meiner Dreambox auszulesen.
>>
>> So habe ich es probiert. Leider ist $p immer leer.
>>
>> define test notify Test_Schalter:off {\
>>  my $p = qx( wget -q -O-
>> 'http://user:passwort@dm8000:11000/web/powerstate' - O - | sed -n -e
>> 's/.*\(.*\)<\/e2instandby>.*/\1/p') ;;\
>>  Log 1, $p;;\
>> }
>>
>> Kann mir jemand helfen? Der wget Befehl liefert im Telnet der Fritz das
>> richtige zurück.
>>
>

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

Guest

Originally posted by: <email address deleted>

Hallo,

mach doch einfach sowas hier:

FHEM.cfg

*define Dreambox_Sender dummy*

Dann ein Script mit folgendem Inhalt erstellen:

*#!/bin/sh*
*
*
*dm_ip="xxx.xxx.xxx.xxx"*
*dm_user="xxx"*
*dm_pwd="xxx"*
*dm_sender=`wget -q -O- http://$dm_user:$dm_pwd@$dm_ip/web/subservices -O-
| sed*
*echo "set Dreambox_Sender $dm_sender" | /sbin/socat -  TCP:127.0.0.1:7072*

Wenn du das Script jetzt in FHEM alle x Minuten ausführen lässt, hättest du
immer den aktuellen Sender.
Is vielleicht mal ein Ansatz.

Funktiont mit meiner DM800 sehr gut.

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

Guest

Originally posted by: <email address deleted>

>
> Hallo,
>>>
>>> mach doch einfach sowas hier:
>>>
>>> FHEM.cfg
>>>
>>> *define Dreambox_Sender dummy*
>>>
>>> Dann ein Script mit folgendem Inhalt erstellen:
>>>
>>> *#!/bin/sh*
>>> *
>>> *
>>> *dm_ip="xxx.xxx.xxx.xxx"*
>>> *dm_user="xxx"*
>>> *dm_pwd="xxx"*
>>> *dm_sender=`wget -q -O- http://$dm_user:$dm_pwd@$dm_ip/web/subservices
>>> -O- | sed -n -e 's/.*\(.*\)<\/e2servicename>.*/\1/p'`
>>> *
>>> *echo "set Dreambox_Sender $dm_sender" | /sbin/socat -  TCP:
>>> 127.0.0.1:7072*
>>>
>>> Wenn du das Script jetzt in FHEM alle x Minuten ausführen lässt, hättest
>>> du immer den aktuellen Sender.
>>> Is vielleicht mal ein Ansatz.
>>>
>>> Funktioniert mit meiner DM800 sehr gut.
>>>
>>

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

Guest

Originally posted by: <email address deleted>

vielen Dank. Hab ein Skript erstellt und von telnet aus aufgerufen tut es
was es soll.
Allerdings bekomm ich es aus fhem mit system() nicht zum laufen. Rechte
sind auf 777:

VUplus_trigger { my $vuon ="";
>  my$vuons ="";
>  $vuon=qx(/usr/bin/ctlmgr_ctl r landevice settings/landevice3/active);
>  if ($vuon == "1") {
>    $vuons="on";
>    system("./VU_Abfrage.sh");
>    }
>  if ($vuon == "0") {$vuons="off";}
>  if ($vuons ne $value{VUplus_Status}) {fhem "set VUplus_Status $vuons";}
>  }
>

Tut mir leid, dass ich so ungeschickt bin, aber hab jetzt schon ne Stunde
gesucht, um überhaupt herauszufinden, wie ich aus fhem.cfg ein shell-Skript
aufrufe...
Bin leider absoluter Neuling mit perl...

Gruß,
Alex.

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

Guest

Originally posted by: <email address deleted>

super! Vielen Dank! Klappt prima!

Gruß,
Alex.

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

rudolfkoenig

                                                   

> aber hab jetzt schon ne Stunde gesucht, um überhaupt herauszufinden, wie ich
> aus fhem.cfg ein shell-Skript aufrufe...

http://fhem.de/commandref.html#command

define nt1 notify Lampe:on.* "shellscript1.sh % @"
define at1 at     +*00:05    "shellscript2.sh"

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

Guest

Originally posted by: <email address deleted>

Danke und meinen ehrlichen und vollen Respekt für die stets schnelle Hilfe und viele Mühe!

Das im notify war mir bekannt. Mein Problem lag in einer if-Abfrage in perl. Hab's aber mittlerweile mit system() hinbekommen.
Gruß,
Alex

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

Guest

Originally posted by: <email address deleted>

Hallo!

Will nochmal an das u.a. anknüpfen. Es funktioniert. Um die Anzeige akutell
zu halten, frage ich alle 2 Minuten mittels "...at..." ab. Nun habe ich mir
aber gedacht, dass es doch evtl sinnvoller wäre, einfach von der VUplus
bzw. Dreambox aus mitzuteilen, wenn sich der Sender ändert. Damit würde der
FHEM-Server entlastet.

Also hab ich socat auf der VUplus installiert (
http://www.i-have-a-dreambox.com/wbb2/attachment.php?attachmentid=108982).
Nun kann ich von der VUplus mit

> echo "set irgendeinschalter on" | /usr/bin/socat - TCP:fritz.box:7072
>
zumindest Befehle an FHEM schicken.

Jetzt müsste man einen solchen Befehl "nur" noch irgendwie beim
Umschalten/Hochfahren/Runterfahren der VUplus auslösen.

Weiter bin ich noch nicht gekommen. Aber wenn jemand Lust hat, diese Idee
weiterzuspinnen, würde ich mich über eine rege Diskussion/Entwicklung
freuen.

Grüße,

Alex.


On Monday, May 7, 2012 5:53:10 PM UTC+2, PoLe23 wrote:
>
> Hallo,
>>>>
>>>> mach doch einfach sowas hier:
>>>>
>>>> FHEM.cfg
>>>>
>>>> *define Dreambox_Sender dummy*
>>>>
>>>> Dann ein Script mit folgendem Inhalt erstellen:
>>>>
>>>> *#!/bin/sh*
>>>> *
>>>> *
>>>> *dm_ip="xxx.xxx.xxx.xxx"*
>>>> *dm_user="xxx"*
>>>> *dm_pwd="xxx"*
>>>> *dm_sender=`wget -q -O- http://$dm_user:$dm_pwd@$dm_ip/web/subservices
>>>> -O- | sed -n -e 's/.*\(.*\)<\/e2servicename>.*/\1/p'`
>>>> *
>>>> *echo "set Dreambox_Sender $dm_sender" | /sbin/socat -  TCP:
>>>> 127.0.0.1:7072*
>>>>
>>>> Wenn du das Script jetzt in FHEM alle x Minuten ausführen lässt,
>>>> hättest du immer den aktuellen Sender.
>>>> Is vielleicht mal ein Ansatz.
>>>>
>>>> Funktioniert mit meiner DM800 sehr gut.
>>>>
>>>

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