Speedport Hybrid Router auslesen, Script für IP-Symcon vorhanden

Begonnen von Kiki99, 24 Januar 2017, 15:18:50

Vorheriges Thema - Nächstes Thema

Kiki99

Hi andies,
sorry, habe es jetzt kapiert, dass das ganze auf der  speedport-hybrid-php-api aufbaut und habe diese auch ans endlich ans laufen bekommen, jippie  ;D

Was ich an Deinem Script noch nicht blicke ist, wo eist dort eigentlich der Aufruf der  speedport-hybrid-php-api?!  :o

Ich möchte eigentlich nur die missed_calls  8)

Danke im voraus, falls Du mir da noch mal auf die Sprünge helfen kannst  ::)

Bis ich die php Syntax so richtig verstehe brauche ich wohl noch etwas. Scheint ja sehr effektiv zu sein aber so weit kann mein Hirn irgendwie noch nicht um die Ecke denken  :-[

lg
Kiki

andies

Geht mir mit Perl ganz genau so: Blindflug.

Ich habe das umständlich programmiert. Es geht in drei Schritten (und ginge vermutlich einfacher):

defmod Telefon dummy
attr Telefon stateFormat  ;
attr Telefon userReadings anrufliste
attr Telefon webCmd einlesen


ist der Ausgangspunkt. Dort gibt es ein webcmd, mit dem der Einlesevorgang gestartet wird. Zudem existiert eine userReading, die das Ergebnis des Einlesevorganges speichern wird. Klickt man nun auf "einlesen", dann wird ausgelöst:

defmod TelefonEinlesen notify Telefon.einlesen {my $returnCode = qx(python3 speedport.py);;fhem("setreading Telefon anrufliste $returnCode");;}

und exakt hier wird der Python-Code angesprochen (bzw abgerufen). Das Ergebnis wird dabei plain von php in FHEM und zwar genauer in Telefon-dummy übernommen. Damit es dann aber schon formatiert wird, existiert

defmod TelefonListe readingsGroup Telefon:anrufliste
attr TelefonListe mapping {'anrufliste' => 'Liste'}
attr TelefonListe noheading 1
attr TelefonListe nolinks 1
attr TelefonListe valueFormat { HTMLFormatiereTelefonliste($VALUE);; }


und hier wird schön formatiert. Die Funktion selbst ist in myUtils.pm definiert, sie lautet wie folgt

our %myUtils_telefonbuch = (
"01234567" , "Eins",
"987654321" , "Zwei",
"0000011111", "Drei"
);

sub TelegramFormatiereTelefonliste($) {
my ($liste) = $_[$0];
$liste =~ s/Nr \d  //g; #remove Nr 0 etc. at the beginning (kommt so aus speedport heraus)
$liste =~ s/\*\*6\d/-intern-/g; # (**61 etc sind interne Nummern) cannot be handled in Telefonbuch because it is a nested regex
for my $nummer (keys %myUtils_telefonbuch) { #replace known numbers
$liste =~ s/$nummer/$myUtils_telefonbuch{$nummer}/g;
}
return $liste
}

sub HTMLFormatiereTelefonliste($) {
my ($liste) = TelegramFormatiereTelefonliste( $_[$0] ); # use above routine
$liste =~ s/\n/<br>/g; # does not work in Telegram, necessary in FHEMWEB
return $liste
}


Ich habe zwei Befehle, weil ich noch in Telegram was anzeigen lasse.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich gebe auf. Ich hatte heute zum vierten Mal in einem Monat eine Situation, in der der Speedport die Portfreigaben von sich aus verstellt hat?! Ich hatte bisher immer diese Telekom-Gurke behalten, weil ich "WLAN-to-Go" behalten wollte. Das wiederum brauchte ich wirklich, weil man Handy für eine Woche ausgefallen war - aber statt sich problemlos einzuloggen, gab es da ständig Ärger. Lange Rede, kurzer Sinn: Ich habe heute eine Fritzbox ersteiget und verkaufe den Speedport. Diese Software ist einfach schrottig und da lohnt sich keine Arbeit zu investieren.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Rothammel