SpeedPortHybridReadings Modul zum Auslesen des Telekom-Routers

Begonnen von Hans Franz, 03 Juni 2016, 23:49:45

Vorheriges Thema - Nächstes Thema

Hans Franz

Ein Modul, um die Werte eines SpeedPortHybrid-Routers auszulesen.
Kernroutine ist die von justme1986 hier beschriebene, um json-Daten rekursiv in fhem-Readings zu bekommen. Top!
bgewehr hatte daraus das Modul 70_JSONREADINGS.pm für http:// entwickelt.

SpeedPortHybridReadings macht eigentlich dasselbe. Aber um der Flut der möglichen Readings Einhalt zu gebieten, waren Auswahlmöglichkeiten einzubauen.

Voraussetzungen:

auf RaspberryPi node installieren:

cd ~/
wget https://nodejs.org/download/release/v0.10.0/node-v0.10.0-linux-arm-pi.tar.gz
cd /usr/local
sudo tar xzvf ~/node-v0.10.0-linux-arm-pi.tar.gz --strip=1


Ordner anlegen:

sudo mkdir /opt/fhem/scripts


l33tport holen:

sudo cd /opt/fhem/scripts
sudo wget https://github.com/melle/l33tport/archive/master.zip
sudo unzip master.zip


IP-Adresse und Passwort edieren:

sudo nano l33tport-master/l33tport.js


sjcl und commander installieren:

sudo npm install sjcl
sudo npm install commander


Rechte anpassen mit z.B.:

sudo chown -R fhem:dialout /opt/fhem/scripts


Nutzung:

define MySpeedPort SpeedPortHybridReadings /opt/fhem/scripts/l33tport-master/l33tport.js


Nach der Definition ist das Attribut fieldnames noch unbelegt.
Wenn man alles auswählt wird die Readingsliste sehr, sehr lang.

set active yes/no habe ich eingebaut, um im Frontend des Routers arbeiten zu können ohne ständig 'rausgeworfen zu werden wenn fhem Daten holt.
Ginge auch mit attr disable 1, erforderte dann aber Scrollen.

Wenn active gleich no können mit get data dennoch Readings aktualisiert werden.

Falls die node-Module nicht gefunden werden, das Attribut nodeModules mit dem Pfad dorthin füttern.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

mahowi

Ich habe das Modul mal bei mir installiert, bekomme es aber leider nicht zum laufen.  :(

Ich bekomme im Log die Meldung, daß sjcl nicht gefunden wird:
Error: Cannot find module 'sjcl'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/opt/fhem/scripts/l33tport.js:22:12)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
module.js:341


sjcl und commander sind aber (global) installiert. Auf der Konsole aufgerufen (als User fhem) funktioniert das Skript:
fhem@raspberrypi:~/scripts$ node ./l33tport.js -o json -f module
{"main_system":"Linux","main_system1":"3.4","main_system2":"11","xDsl":"B2pv6F039g1.d24m","SIP":"V300R003C15B020T088","DECT":"3.55.2","FXS":"zarlink_API-Lite_P220","USB":"2.06","TR_069":"1.3","TR_064":"1.0","media_server":"2.0","SAMBA":"3.0.37","FON_stack":"2.0.12.0","lte":"H1331.11.994.13.112d","voip":"1.04","wlan":"6.37.14.4803.cpe4.14L04.0","web":"2.4.61","coova_chilli":"1.2.6","doc_version":"V100R001_01"}


Hier noch ein list vom Modul:
Internals:
   ACTIVE     yes
   CFGFN
   DEF        /opt/fhem/scripts/l33tport.js 600
   INTERVAL   600
   NAME       SpeedPort
   NODE_PATH  /usr/bin/node

   NR         330
   PATH       /opt/fhem/scripts/l33tport.js
   STATE      enabled
   TYPE       SpeedPortHybridReadings
   UPDATED    2016-06-06 22:31:51
   Readings:
     2016-06-06 22:31:41   state           enabled
Attributes:
   delay      600
   fieldnames DECTStation,LAN,Overview,SecureStatus,Status,dsl,hsdelmobil,lteinfo,speed,wlan
   group      Internet
   icon       it_router
   room       System
   verbose    5


Wo könnte der Fehler liegen?
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Hans Franz

#2
Versuch's du es bitte erneut mit der Datei aus dem 1. Post? Habe eine geänderte Version eingestellt und  ein Attribut nodeModuls hinzugefügt, um den Pfad zum Modulordner angeben zu können.

Etwas Logging sollte ich auch noch einbauen....

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

mahowi

Danke, das war's. Nachdem ich den Pfad zu den Modulen gesetzt habe, klappt es auch. Jetzt muß ich erstmal nen Überblick über die ganzen Readings kriegen.  ;)
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Depechem

Danke für dieses tolle Modul!!!

Ich habe es mal aktiviert.
Wenn ich alle fieldnames aktiviere hören die Readings ja gar nicht mehr auf  8) :D

Meine Frage ist nun, welche Readings nutzt ihr eigentlich selber?
Welche sind sinnvoll?
Man sucht sich ja dusselig wenn man die gesamte Liste durchschaut.

Für mich war bis jetzt nur die LTE Empfangsstärke interessant.
Habt ihr noch ideen welche Readings sinnvoll sind um die in Tablet UI einzubinden!?
Leider kann man nicht auswerten welche Telefonnummer gerade anruft. (wie bei der Fritzbox)

Viele Grüße Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Christian Uhlmann

Hi,

ich versuche das Modul gerade zum laufen zu bekommen, aber leider scheint es mit meiner Perl Version (Debian Testing / Stretch) ein Problem zu geben:
Experimental each on scalar is now forbidden at ./FHEM/70_SpeedPortHybridReadings.pm line 242.
Perl Version 5.24.1 scheint das Problem zu sein.

Kenne mich leider mit Perl so gut wie garnicht aus, hat jemand eine Idee?
Kann ich am System was ändern (außer Downgrade) oder kann man das Modul ändern, ist das ggf. nicht mehr nutzbar ab 5.24, was da in Zeile 242 genutzt wird?
Zeile 242 ist bei mir:
while( my ($key,$value) = each $ref)


LG Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

Hans Franz

#6
Hallo,
Kannst du bitte die angehängte Version testen?
Habe selber nur 5.18.2.


Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Hans Franz

@Thomas
Ich muß gestehen, dass ich es selber kaum nutze. Ich hatte gelesen, dass der Router (oder die firmware?) ziemlich grottig sein soll.
Etliche Benutzer starten ihn  wohl täglich neu und deswegen habe mich nicht weiter damit beschäftigt, sondern sofort die alte, schon konfigurierte und von fhem unterstützte, FritzBox dahintergehängt.
In dieser Kombination läuft es sei einem guten Jahr sehr gut.
Aber schon traurig hier auf'm Land :-X. Die einzige Möglichkeit eine aktzeptable Gechwindigkeit zu bekommen >:(

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Depechem

Zitat von: Hans Franz am 09 Oktober 2016, 02:46:50
@Thomas
Ich muß gestehen, dass ich es selber kaum nutze. Ich hatte gelesen, dass der Router (oder die firmware?) ziemlich grottig sein soll.
Etliche Benutzer starten ihn  wohl täglich neu und deswegen habe mich nicht weiter damit beschäftigt, sondern sofort die alte, schon konfigurierte und von fhem unterstützte, FritzBox dahintergehängt.
In dieser Kombination läuft es sei einem guten Jahr sehr gut.
Aber schon traurig hier auf'm Land :-X. Die einzige Möglichkeit eine aktzeptable Gechwindigkeit zu bekommen >:(

Gruß
Hans
Hallo Hans, also ich nutze den Speedport Hybrid nun seit knapp einem Jahr und hatte wirklich noch keinerlei Probleme. Ich musste ihn noch nie Neustarten. Und die Kombi aus DSL und LTE läuft bei mir echt super. Aus meiner 2000Ram Leitung habe ich nun eine stetige 45000er Geschwindigkeit ohne Abbrüche!

Mein System besteht aus denn Speedport Hybrid sowie dem angeschlossen Telekom ISDN IP Adapter. An diesem befindet sich meine ISDN Telefonanlage.
Leider kann ich damit im Zusammenhang mit deinem Modul wohl keine Anruflisten loggen!? Oder gibt es dafür eine Möglichkeit?
Wie hast du das ganze mit einer Fritzbox gelöst? Ich habe mich damit noch nicht auseinander gesetzt. Könnte ich sozusagen den Hybrid nur als Empfangsgerät nutzen dann dort  per LAN eine fritzbox anschließen die mein WLAN aussendet sowie das Telefon ISDN Signal direkt an meine ISDN Anlage gibt ohne das ich den Telekom ISDN IP Adapter noch benötige?! Dann könnte ich das FHEMREMOTE Fritzbox Modul nutzen und die Telefonnummern abfangen?!

Stimmt das?
Viele Grüße
Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Otto123

Hallo Thomas,

vielleicht hilft dir diese Anleitung?
Ich denke die FB hinter dem Hybridrouter ist eine gute Idee. Wobei bezüglich FHEM die Anbindung der FB auf Grund ständiger Änderungen seitens AVM auch nicht gerade schmerzfrei ist.
Ich verwende zwei FHEM Module FRITZBOX und FBMon.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Hans Franz

Hallo Thomas,
Die FritzBox ist per "Vorhandener Zugang über LAN" am, soweit ich mich erinnere, sonst nicht weiter konfigurierten SpeedPort-Router angeschlossen. Die ISDN-Anlage an der FritzBox. Internettelefonie im SpeedPort ist aus.
Die Konfiguration der FritzBox ist ansonsten nicht geändert worden. Die fhem-Module (FB_CALLLIST,FB_CALLMONITOR,FRITZBOX) funktionieren weiterhin.
Probleme gab es anfangs noch mit dem Telefonieren (Verbindungsabbruch nach ein paar Minuten), aber durch einen leider schon vergessenen Eintrag per telnet in einer Datei der FritzBox liessen diese sich schnell beheben.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Otto123

Zitat von: Hans Franz am 09 Oktober 2016, 16:55:43
Probleme gab es anfangs noch mit dem Telefonieren (Verbindungsabbruch nach ein paar Minuten), aber durch einen leider schon vergessenen Eintrag per telnet in einer Datei der FritzBox liessen diese sich schnell beheben.
Dies ist meines Wissens nicht mehr notwendig -> aktuelle Firmware FB.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Depechem

Vielen Dank an euch beide für die Infos.
Könnt ihr mir noch sagen welche FB ihr nehmen würdet? Wichtig für mich wäre das der Stromverbrauch der FB relativ gering ist und die ISDN Anlage angeschlossen werden kann.

Gruß Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Otto123

Zitat von: Depechem am 09 Oktober 2016, 18:38:41
Vielen Dank an euch beide für die Infos.
Könnt ihr mir noch sagen welche FB ihr nehmen würdet? Wichtig für mich wäre das der Stromverbrauch der FB relativ gering ist und die ISDN Anlage angeschlossen werden kann.

Gruß Thomas
Gibt es da noch viel Auswahl? Wenn Du ISDN als Ausgang brauchst bleibt doch nur die 7490 oder die 7272 Aber macht die ISDN Telefonanlage so gute Dinge die man nicht mit der FB direkt machen könnte?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Depechem

Zitat von: Otto123 am 09 Oktober 2016, 19:06:57
Gibt es da noch viel Auswahl? Wenn Du ISDN als Ausgang brauchst bleibt doch nur die 7490 oder die 7272 Aber macht die ISDN Telefonanlage so gute Dinge die man nicht mit der FB direkt machen könnte?

Gruß Otto

Ok habe ich gerade gefunden.
Ich verwende im Moment noch meine Siemens Gigaset ISDN 3070 Anlage mit mehreren Gigaset Mobilteilen. Ich weis es nicht genau aber glaube nicht das die Mobilteile im gleichen Funktionsumfang mit der FB verbunden werden können. (Entgangene Anrufe auf den MB anzeigen, interne Anrufe mit den Mobilteilen untereinander.
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...