FRITZBOX - Fritz!Box und Fritz!Fon sprechen - Jetzt auch ohne Telnet

Begonnen von tupol, 28 November 2014, 23:46:54

Vorheriges Thema - Nächstes Thema

tupol

Zitat von: MaDDin78 am 02 Dezember 2014, 09:33:25
Global symbol "$PATH" requires explicit package name at (eval 126) line 1.
OK. Dann bitte mal folgendes einzeln ausführen
{my $test = "Path: ";; my $cmd = 'echo $PATH'; $test .= qx($cmd);; return $test;;}
und
{my $test = "1: ";; my $cmd = 'ctlmgr_ctl r logic status/nspver'; $test .= qx($cmd);; return $test;;}
und
{my $test = "2: ";; my $cmd = '/usr/bin/ctlmgr_ctl r logic status/nspver'; $test .= qx($cmd);; return $test;;}

JoWiemann

Hallo,

ich habe ein etwas getestet, ob ich das Ganz auch mit Telnet zum Laufen bekommen. Wenn ich das richtig verstanden haben wechselst du den Dialport (Hier solltest Du vielleicht mit "ctlmgr_ctl r telcfg settings/DialPort" den aktuellen Port auslesen und wiederherstellen), wodurch dann die Wählhilfe umgestellt wird.

Als Dialports existiert bei mir:

50 Standardport für ISDN- und Schnurlostelefone
51 Meine ISDN Telefonanlage
60 Erstes DECT Telefon
61 Zweites DECT Telefon

Der Befehl: "ctlmgr_ctl w telcfg command/Dial **".$intNo funktioniert so nicht. Was funktioniert ist: "ctlmgr_ctl w telcfg command/Dial **9". Damit läutete dann das Telefon, dass vorher über Dialport (Wählhilfe) ausgewählt worden ist. Das Hangup funktioniert dann auch nur mit: "ctlmgr_ctl w telcfg command/Hangup 1"

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

HolyMoly

Hi Tupol,

dein Testcode funktioniert bei mir leider nicht:

Unknown command {my, try help.
Unknown command $test, try help.

Ich wollte schon immer mal wissen wie man mehrere Perl Statements in der Konsole ausführt und dabei die darin definierten lokalen Variablen nutzen kann.
FHEM auf Raspi2 & Radxa Rock

diko

Zitat von: tupol am 02 Dezember 2014, 12:10:46
Heute schon ein update gemacht?
eben gemacht und schon vollbracht.
Signalisierung kommt, aber msg nicht?
FHEM auf Raspi 2 B, Jessi, 1x CUL868, 1x Hue, 1x Harmony, 1x HM-USB2

tupol

Zitat von: HolyMoly am 02 Dezember 2014, 12:33:58
Hi Tupol,

dein Testcode funktioniert bei mir leider nicht:

Unknown command {my, try help.
Unknown command $test, try help.

Ich wollte schon immer mal wissen wie man mehrere Perl Statements in der Konsole ausführt und dabei die darin definierten lokalen Variablen nutzen kann.

Sorry. Da fehlte ein ";"
{my $test = "Path: ";; my $cmd = 'echo $PATH';; $test .= qx($cmd);; return $test;;}
und
{my $test = "1: ";; my $cmd = 'ctlmgr_ctl r logic status/nspver';; $test .= qx($cmd);; return $test;;}
und
{my $test = "2: ";; my $cmd = '/usr/bin/ctlmgr_ctl r logic status/nspver';; $test .= qx($cmd);; return $test;;}

Du führst es in FHEM und nicht per Telnet aus. Oder?

tupol

Zitat von: diko am 02 Dezember 2014, 16:10:33
eben gemacht und schon vollbracht.
Signalisierung kommt, aber msg nicht?
Was hast Du bei ringWithIntern eingestellt?

Waldgeist78

#21
Hallo,

hier meine Ergebnisse aus FHEM...auch wenn ich es nicht überschau um was geht, Trotzdem Danke für die Hilfe... ::) :o

{my $test = "Path: ";; my $cmd = 'echo $PATH';; $test .= qx($cmd);; return $test;;}
Path: /var/InternerSpeicher/fhem:/bin:/usr/bin:/sbin:/usr/sbin

{my $test = "1: ";; my $cmd = 'ctlmgr_ctl r logic status/nspver';; $test .= qx($cmd);; return $test;;}
1:

{my $test = "2: ";; my $cmd = '/usr/bin/ctlmgr_ctl r logic status/nspver';; $test .= qx($cmd);; return $test;;}
2:

tupol


diko

Zitat von: tupol am 02 Dezember 2014, 16:35:57
Was hast Du bei ringWithIntern eingestellt?
schi.., das war es, stand auf 0.
Danke für den Schubs.

Gruß
FHEM auf Raspi 2 B, Jessi, 1x CUL868, 1x Hue, 1x Harmony, 1x HM-USB2

Waldgeist78

Moin zusammen,

super vielen Dank für den klasse Support, also bei mir war wirklich ein Problem mit dem Root und ich habe die Attribute meiner startfhemASRoot Files angepasst, bzw. dort noch einen Fehler korrigiert.
Nun funktioniert das Modul zum schalten , zumindest vom 2,4GHz WLAN. ;D ;)
Wann kommt etwa die Implemtierung zum schalten vom 5GHz WLAN in der 7490? :P

tupol

Zitat von: MaDDin78 am 03 Dezember 2014, 05:33:41
Wann kommt etwa die Implemtierung zum schalten vom 5GHz WLAN in der 7490? :P
Das sollte eigentlich immer gemeinsam aus- und eingeschaltet werden. Ist das nicht so?

Waldgeist78

Also bei mir schaltet sich nur das 2,4gHz WLAN...

hexenmeister

Hallo!

Die Beschreibung liest sich großartig, auch von der Technik drin kann ich was lernen (vor allem Telnet).
Leider scheint bei mir die letzte Version aus SVN noch nicht zu funktionieren.
Definiert auf FHEM auf CubieTruck. Die FritzBox ist eine 7490. Telnet aktiv, Passwort hinterlegt. Remote-Telnet-Zugang funktioniert, wenn ich dem FHEM folgendes füttere:
{FRITZBOX_Exec($main::defs{fritzbox},"ctlmgr_ctl r cpu status/StatTemperature")}
kommt auch die erwartete Antwort.

Device liefert jedoch keine Readings, auch nach set update nicht.
fhem> l fritzbox
Internals:
   HOST       fritz.box
   INTERVAL   300
   NAME       fritzbox
   NR         1097
   REMOTE     1
   STATE      Initializing
   TYPE       FRITZBOX
   Fhem:
     LOCAL      0
     lastHour   0
     modulVersion $Date: 2014-12-06 22:37:02 +0100 (Sa, 06 Dez 2014) $
   Helper:
     Readout_running_pid:
       abortFn    FRITZBOX_Readout_Aborted
       finishFn   FRITZBOX_Readout_Done
       fn         FRITZBOX_Readout_Run
       pid        28358
       Abortarg:
Attributes:
   room       Technik


Im Log sehe ich folgendes:
2014.12.07 02:19:20.953 1: FRITZBOX fritzbox: Readout_Start.385 Old readout process still running. Killing old process HASH(0x163ad10)


Auf ERR wird noch ausgegeben:
Can't use an undefined value as an ARRAY reference at ./FHEM/72_FRITZBOX.pm line 714.


Viele Grüße,

Alexander

P.S. Man sollte vlt. in Commandref erwähnen, dass man Net::Telnet Modul installieren muss.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

carlos

Nur zur Info,
Bei  dem remote telnet sollte in der fb_pwd.txt der user (z.B.: fhem )noch mit aufgenommen werden und dann der telnet Zugriff so erweitert werden:


   $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die', Prompt=>'/# $/');

   FRITZBOX_Log $hash, 4, "Open Telnet Connection to $host";
   $telnet->open( $host );

   FRITZBOX_Log $hash, 5, "Telnet: Wait for user request";
   $telnet->waitfor( '/user: $/i' );

   FRITZBOX_Log $hash, 5, "Telnet: Entering user";
   $telnet->print( "fhem" );

   FRITZBOX_Log $hash, 5, "Telnet: Wait for password request";
   $telnet->waitfor( '/password: $/i' );

   FRITZBOX_Log $hash, 5, "Telnet: Entering password";
   $telnet->print( $pwd );

   FRITZBOX_Log $hash, 5, "Telnet: Wait for command prompt";
   $telnet->waitfor( '/# $/i' );


Ich habe bei mir jetzt fix fhem als user eingetragen.
Damit funktionierts besser.
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

tupol

Zitat von: carlos am 07 Dezember 2014, 11:29:51
Bei  dem remote telnet sollte in der fb_pwd.txt der user (z.B.: fhem )noch mit aufgenommen werden und dann der telnet Zugriff so erweitert werden:

Habe gerade eine neue Version hochgeladen. Kannst Du bitte das neue Attribut "telnetUser" testen?

Gruß

tupol