FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: Jamo am 09 November 2019, 14:40:56

Titel: Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: Jamo am 09 November 2019, 14:40:56
Ich hatte mich immer gewundert, warum mein FHEM manchmal so stockend läuft (e.g warum der Seitenaufbau mit dem Browser beim blättern durch die verschiedene Räume so langsam ist), der Google Browser hat dann manchmal für mehrere Sekunden lang 'gedreht'. Das war jetzt schon ein paar Jahre so, selbst nach Umzug auf potente Hardware. Ich dachte immer, dass es vielleicht am Sonos Modul liegt.

Nach langem suchen, habe ich in der Fritzbox dieses attribut 'attr userreadings' gefunden und gelöscht. Jetzt ist alles richtig gut, der Seitenaufbau läuft echt geschmeidig und alles ist rasend  schnell, auch nach einer Woche. Es hat also wirklich an diesem userreading gelegen, trotz event-on-change-reading, da die FB regelmässig mit dem 'attr INTERVAL' ein update macht.

Falls jemand anderes hier auch mit langsamen Seitenaufbau Probleme hat.

Die userreadings hatte ich übrigens aus dem FHEM Forum, ich kann den Thread aber jetzt nicht mehr finden. Und ob man die wirklich braucht?



defmod FritzBox FRITZBOX MEI.NE.I.P
attr FritzBox INTERVAL 60
attr FritzBox allowTR064Command 1
attr FritzBox devStateIcon 5.off:ios-off:wlan5+on 5.on:ios-on-green:wlan5+off 2.off:ios-off:wlan2.4+on 2.on:ios-on-green:wlan2.4+off Guest.off:ios-off:guestWlan+on Guest.on:ios-on-green:guestWlan+off
attr FritzBox event-on-change-reading gsm_internet,box_ipExtern
attr FritzBox forceTelnetConnection 0
attr FritzBox group SERVER
attr FritzBox room FritzBox,Favourites
attr FritzBox sortby 09
attr FritzBox stateFormat 5:box_wlan_5GHz 2:box_wlan_2.4GHz Guest:box_guestWlan
attr FritzBox userReadings
urMobilteil_1       {my $resp=fhem("get FritzBox tr064Command X_AVM-DE_OnTel:1 x_contact GetDECTHandsetInfo NewDectID 1",1);$resp =~/'NewHandsetName' => '(.*)'/;return $1;},
urDownstreamDSLRate {my $resp=fhem("get FritzBox tr064Command WANDSLInterfaceConfig:1 wandslifconfig1 GetInfo",1);$resp =~/'NewDownstreamCurrRate' => '(.*)'/;return $1;},
urUpstreamDSLRate   {my $resp=fhem("get FritzBox tr064Command WANDSLInterfaceConfig:1 wandslifconfig1 GetInfo",1);$resp =~/'NewUpstreamCurrRate' => '(.*)'/;return $1;},
DSL_internet        {my $resp=fhem("get FritzBox tr064Command WANIPConnection:1 wanipconnection1 getInfo",1);$resp =~/'NewConnectionStatus' => '(.*)'/;return $1;},
DSL_PPPLinkStatus   {my $resp=fhem("get FritzBox tr064Command WANPPPConnection:1 wanpppconn1 GetInfo",1);$resp =~/'NewConnectionStatus' => '(.*)'/;return $1;},
DSL_PPPLink_Uptime  {my $resp=fhem("get FritzBox tr064Command WANPPPConnection:1 wanpppconn1 GetInfo",1);$resp =~/'NewUptime' => '(.*)'/;return $1;},
DSL_Link_Status     {my $resp=fhem("get FritzBox tr064Command WANDSLLinkConfig:1 wandsllinkconfig1 GetInfo",1);$resp=~/'NewLinkStatus' => '(.*)'/;return $1;},
DSL_Link_Uptime     {my $resp=fhem("get FritzBox tr064Command WANPPPConnection:1 wanpppconn1 GetInfo",1);$resp =~/'NewUptime' => '(.*)'/;return $1;},
DSL_IF_Status       {my $resp=fhem("get FritzBox tr064Command WANDSLInterfaceConfig:1 wandslifconfig1 GetInfo",1);$resp =~/'NewStatus' => '(.*)'/;return $1;}
attr FritzBox verbose 0
attr FritzBox webCmd update:checkAPIs
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: JoWiemann am 09 November 2019, 15:52:21
Hm, Du übernimmst ein userReading und weißt nicht wofür es ist? ,,Kopf schütteln"

Dann kannst Du es auch getrost löschen, da es nur ein AddOn ist und kein funktionaler Bestandteil.

Grüße Jörg


Gesendet von iPhone mit Tapatalk
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: CoolTux am 09 November 2019, 16:09:19
Das userReading ist einfach nur schlecht angewendet. Es reagiert auf alle Events des Fritzboxdevices. Bei schlechter Event Konfig sind das 30 und mehr. Kein Wunder das da was blockiert.
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: Otto123 am 09 November 2019, 18:50:55
ich habe mal ein bisschen experimentiert. Einfach die zweite tr064 Zeile gegriffen -> meine FB7412 braucht dafür ca. 2 sec!
unnötigerweise werden 9 tr064 Aufrufe gemacht (5 hätten gereicht) -> 18 sec
Meine FB7412 liest 146 Werte pro Durchgang, wenn da event-on-change-reading nicht gesetzt ist wird 146 mal getriggert. Damit wäre FHEM 2628 sec beschäftigt. Per default steht das Interval auf 300 sec. Das userReading ist also ein Dauerläufer :)

Meine FB7490 ist nicht schneller, liefert aber 246 Werte :)
Selbst wenn nur ein paar Werte einen Event liefern und das Abfrageinterval auf 60 sec steht ist es ein Dauerläufer.

Also bitte: Nicht copy & paste machen!

Gruß Otto
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: Jamo am 09 November 2019, 19:04:20
Doch, event-on-change-reading war gesetzt, FHEM ist aber trotzdem stockend gelaufen.

Ich habe oben mal die komplette Definition ergänzt, wie gesagt ich hatte nur das userreading gelöscht. Deswegen verstehe ich es auch nicht, dass das aufgetreten ist trotz event-on-change-reading.
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: Otto123 am 09 November 2019, 19:15:53
Ich verstehe es, du hast 2 Werte pro Runde (Intervall 60sec) damit ist dein FHEM 2636 sec pro Minute beschäftigt!
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: amenomade am 09 November 2019, 19:21:26
Na dann bleibt noch Puffer ;)

EDIT: übrigens, 2x18 = 36 :D
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: Jamo am 09 November 2019, 19:30:20
Gut, dann wurden alle userreadings (tr064 commands) bei jedem FB update getriggered, trotz event-on-change-reading. OK, da muss man erst mal drauf kommen. Danke für die Erklärungen.
Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: dora71 am 10 November 2019, 10:51:25
@Jamo:

Danke für den Hinweis. Den alten Thread kenne ich auch nicht mehr, aber auch ich hatte 2 von den userreadings in Benutzung und habe mich gewundert, alle 2 Minuten einen Freeze zu bekommen. Dabei brauche ich die Daten nicht mehr, seit das DSL bei uns hochgerüstet wurde  8)

Man sollte öfters aufräumen, nicht nur in der Wohnung  :D

Gruß Rainer

Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: Jamo am 10 November 2019, 11:33:59
Ja, drei dieser userreadings stehen auch genau so im FHEM Fritzbox WIKI, https://wiki.fhem.de/wiki/FRITZBOX#userReadings_per_get_tr064Command_oder_get_luaQuery

Vielleicht sollte man das im WIKI erwähnen, das die im 'attr INTERVAL' blockierend sind.

Ich freu mich das es Dir auch geholfen hat. Gruss, Jamo

Titel: Antw:Fritzbox - tr064Command userreadings blockieren FHEM
Beitrag von: amenomade am 10 November 2019, 13:21:38
Wiki angepasst