72_FRITZBOX: Sperren/Entsperren von Netzwerkgeräten / DECT Telefonen u weiteres

Begonnen von JoWiemann, 25 Januar 2021, 10:30:32

Vorheriges Thema - Nächstes Thema

klausw

Hallo Jörg,

die Erweiterungen ersparen mir einiges an Arbeit. Danke :)

Ich habe einen kleinen Bug gefunden.

Im Log kommen etwa aller 5min folgende Fehler:
2021.12.03 13:44:58 1: PERL WARNING: Argument "" isn't numeric in division (/) at ./FHEM/72_FRITZBOX.pm line 2219.
2021.12.03 13:44:58 1: PERL WARNING: Argument "" isn't numeric in division (/) at ./FHEM/72_FRITZBOX.pm line 2220.


Ich nutze das Modul auch für meinen FRITZ!Repeater 2400.
Da sind vermutlich dslStatGlobalOut und dslStatGlobalIn nicht vorhanden.

Diese Erweiterung von Zeile 2219 und 2220 unterbindet die Fehler:

FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "box_dsl_upStream", sprintf ("%.3f", $result->{dslStatGlobalOut}/1000000) if defined $result->{dslStatGlobalOut} and looks_like_number($result->{dslStatGlobalOut});
FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "box_dsl_downStream", sprintf ("%.3f", $result->{dslStatGlobalIn}/1000000) if defined $result->{dslStatGlobalIn} and looks_like_number($result->{dslStatGlobalIn});


Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

JoWiemann

Zitat von: klausw am 03 Dezember 2021, 14:58:43
Hallo Jörg,

die Erweiterungen ersparen mir einiges an Arbeit. Danke :)

Ich habe einen kleinen Bug gefunden.

Im Log kommen etwa aller 5min folgende Fehler:
2021.12.03 13:44:58 1: PERL WARNING: Argument "" isn't numeric in division (/) at ./FHEM/72_FRITZBOX.pm line 2219.
2021.12.03 13:44:58 1: PERL WARNING: Argument "" isn't numeric in division (/) at ./FHEM/72_FRITZBOX.pm line 2220.


Ich nutze das Modul auch für meinen FRITZ!Repeater 2400.
Da sind vermutlich dslStatGlobalOut und dslStatGlobalIn nicht vorhanden.

Diese Erweiterung von Zeile 2219 und 2220 unterbindet die Fehler:

FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "box_dsl_upStream", sprintf ("%.3f", $result->{dslStatGlobalOut}/1000000) if defined $result->{dslStatGlobalOut} and looks_like_number($result->{dslStatGlobalOut});
FRITZBOX_Readout_Add_Reading $hash, \@roReadings, "box_dsl_downStream", sprintf ("%.3f", $result->{dslStatGlobalIn}/1000000) if defined $result->{dslStatGlobalIn} and looks_like_number($result->{dslStatGlobalIn});


Grüße
Klaus

Hallo Klaus,

danke Dir. Baue ich noch ein.

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

Jamo

Zitat von: Albi am 03 Dezember 2021, 11:21:20
Hallo zusammen,

ich Sperre mit Fhem inzwischen Geräte mit dem Modul seit einiger Zeit erfolgreich.

zb über:

set fritzbox lockLandevice landevice1993 off

Jetzt eine Frage

Kann ich auch für mein landevice1993 auch nur das Zugangsprofil wechseln?

Ich habe zb die Profile: TV Kinder (filterprof2776) oder Ferien (filterprof4092)

Ich möchte nun über Fhem dem landevice1993 mit einem Befehl eben filterprof2776 oder eben filterprof4092 setzen können.

Geht das und wie müsste das "set" aussehen?

Ich möchte also nciht das geamte Gerät wie bislang Seprren oder entsperren, sondern die Zugangsprofile für das Gerät setzen können über Fhem.

Gruß Albi

Das geht doch schon so:
RaspiInetAccess:o[nf]+ {
  if ($EVENT eq "on") {fhem("get FritzBox luaData edit filtprof5122 time unlimited filtertype black bpjm on apply nop page kids_profileedit",1)}
  else                {fhem("get FritzBox luaData edit filtprof5122 time never     filtertype black bpjm on apply nop page kids_profileedit",1)}
}
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Albi

Zitat von: Jamo am 03 Dezember 2021, 21:59:58
Das geht doch schon so:
RaspiInetAccess:o[nf]+ {
  if ($EVENT eq "on") {fhem("get FritzBox luaData edit filtprof5122 time unlimited filtertype black bpjm on apply nop page kids_profileedit",1)}
  else                {fhem("get FritzBox luaData edit filtprof5122 time never     filtertype black bpjm on apply nop page kids_profileedit",1)}
}


Hier änderst du ja nur ein Profil ab. Ich möchte aber ja zwischen zwei Profilen wechseln. Bzw einem bestimmten Landevice eben ein anderes Profil geben und eben nicht die Profile bearbeiten.

Jörg hat das ja bereits auf dem Schirm. Vielleicht bekommt er es ja hin.

Gruß Albi
Fhem Raspberry3+

TabletUI mit Abfallkalender, der auch per Telegramm sendet - Verkehrsmeldung über Google, das per DOIF an Telegramm bei Störung meldet - Sonnoff mit Tasmota (mqtt) und Shelly (mqtt und mqtt2) - Alexa Verknüpfung - Benzinpreis auf Tablet UI über HTTPMOD - Wetter + Pollen

klausw

Hi Jörg,

ich habe noch eine alte FB 7390 mit FW 06.86
Kennst du dort auch eine Möglichkeit, das Internet für einzelne Geräte zu sperren?

Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

JoWiemann

Zitat von: Albi am 04 Dezember 2021, 10:12:27
Hier änderst du ja nur ein Profil ab. Ich möchte aber ja zwischen zwei Profilen wechseln. Bzw einem bestimmten Landevice eben ein anderes Profil geben und eben nicht die Profile bearbeiten.

Jörg hat das ja bereits auf dem Schirm. Vielleicht bekommt er es ja hin.

Gruß Albi

Hallo,

anbei eine Testversion mit einem neuen set ...

set name chgProfile landevice<1..n> filtprof<1..n>

Ändert das Profile filtprof mit der Nummer 1..n des landevice mit der Nummer 1..n.
Benötigt FRITZ!OS 7.21 oder höher.

Es wird noch viel ins Log geschrieben.

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

ysdirian

Hi Jörg,

das ist ja eine super Arbeit, die Du da schon investiert hast. Zufällig suche ich gerade nach der Möglichkeit Profile einzelner Netzwerkgeräte hin- und herzuschalten. Nach ein wenig Recherche habe ich den letzten Stand direkt mal ausprobiert.

Dabei habe ich eine Liste von landevices, die dann einem Filter für den Normalbetrieb zugeordnet werden sollen und außerhalb der Nutzungszeit entsprechend auf einen anderen Filter gesetzt werden sollen.

Leider bekomme ich gleich beim ersten Versuch mit dem Einsatz von chgProfile einen Fehler.

Mir fehlt wohl was bei meiner Perl Installation. Die Zeile 999 nutzt die Funktion left(), die ich nicht habe:
return "Error while changing profile: " . $val[0] if( left($tmp, 6) eq "ERROR:");
Ich habe sie durch substr() ersetzt:
return "Error while changing profile: " . $val[0] if( substr($tmp, 0, 6) eq "ERROR:");
Dann klappt das Umstellen des Profiles auch bei mir.
Viele Grüße
Lars

JoWiemann

Zitat von: ysdirian am 05 Januar 2022, 15:21:51

Mir fehlt wohl was bei meiner Perl Installation. Die Zeile 999 nutzt die Funktion left(), die ich nicht habe:
return "Error while changing profile: " . $val[0] if( left($tmp, 6) eq "ERROR:");
Ich habe sie durch substr() ersetzt:
return "Error while changing profile: " . $val[0] if( substr($tmp, 0, 6) eq "ERROR:");
Dann klappt das Umstellen des Profiles auch bei mir.
Viele Grüße
Lars

Hallo Lars,

danke für den Hinweis. Ich habe jetzt die beiden left(..) Aufrufe durch substr(..) ersetzt.

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

Nighthawk

Hallo Jörg,

leider habe ich seit Kurzem das Problem dass FHEM abstürzt, wenn ich ein lockLandevice on oder off ausführe.

Hier der zugehörige Log:
2022.01.27 11:28:08 3: FRITZBOX [FritzBox: Web_OpenCon.5264] - INFO: using old SID from 1643279231.85275
2022.01.27 11:28:53 3: FRITZBOX [FritzBox: Set.779] - INFO: set FritzBox lockLandevice landevice1234 off
2022.01.27 11:28:53 3: FRITZBOX [FritzBox: Set.809] - INFO: set FritzBox lockLandevice xhr 1 dev landevice1234 block_dev  lang de page edit_device
2022.01.27 11:28:53 5: FRITZBOX [FritzBox: Set.825] - INFO: get FritzBox lockLandevice 'xhr'       => '1'
'dev'       => 'landevice1234'
'block_dev' => ''
'lang'      => 'de'
'page'      => 'edit_device'

2022.01.27 11:28:53 3: FRITZBOX [FritzBox: Lan_Device_Info.5853] - INFO: LanDevice to proof: landevice1234 for lock: off
2022.01.27 11:28:53 3: FRITZBOX [FritzBox: Lan_Device_Info.5884] - INFO: set FritzBox off xhr 1 xhrId all backToPage netDev dev landevice1234 initalRefreshParamsSaved true lang de page edit_device
2022.01.27 11:28:53 5: FRITZBOX [FritzBox: Lan_Device_Info.5900] - INFO: get FritzBox off 'xhr' => '1'
'xhrId' => 'all'
'backToPage' => 'netDev'
'dev' => 'landevice1234'
'initalRefreshParamsSaved' => 'true'
'lang' => 'de'
'page' => 'edit_device'

2022.01.27 11:28:53 3: FRITZBOX [FritzBox: Web_OpenCon.5264] - INFO: using old SID from 1643279292.1976
2022.01.27 11:28:53 5: FRITZBOX [FritzBox: Lua_Data.5474] - INFO: Request data via API dataQuery.
2022.01.27 11:28:53 5: FRITZBOX [FritzBox: Lua_Data.5478] - INFO: URL: http://192.168.180.1/data.lua?sid=1a508f8fd4767e53
2022.01.27 11:29:01 5: FRITZBOX [FritzBox: Lua_Data.5483] - INFO: Response: 200 OK
{"pid":"edit_device","hide":{"faxSet":true,"shareUsb":true,"ssoSet":true,"liveTv":true},"time":[],"data":[],"sid":"1a508f8fd4767e53"}

2022.01.27 11:29:01 5: FRITZBOX [FritzBox: Lua_Data.5528] - INFO: Response: {"pid":"edit_device","hide":{"faxSet":true,"shareUsb":true,"ssoSet":true,"liveTv":true},"time":[],"data":[],"sid":"1a508f8fd4767e53"}

2022.01.27 11:29:01 5: FRITZBOX [FritzBox: Process_JSON.5553] - INFO: Decode JSON string.
2022.01.27 11:29:01 5: FRITZBOX [FritzBox: Process_JSON.5569] - INFO: JSON: $VAR1 = {
          'sid' => '1a508f8fd4767e53',
          'time' => [],
          'pid' => 'edit_device',
          'data' => [],
          'hide' => {
                      'shareUsb' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                      'faxSet' => $VAR1->{'hide'}{'shareUsb'},
                      'liveTv' => $VAR1->{'hide'}{'shareUsb'},
                      'ssoSet' => $VAR1->{'hide'}{'shareUsb'}
                    }
        };

Not a HASH reference at ./FHEM/72_FRITZBOX.pm line 5904.


Vor ~1 bis 2 Wochen hat es fehlerfrei funktioniert.

JoWiemann

Zitat von: Nighthawk am 27 Januar 2022, 11:34:18
Hallo Jörg,

leider habe ich seit Kurzem das Problem dass FHEM abstürzt, wenn ich ein lockLandevice on oder off ausführe.


Hast Du, oder FritzBox selber, kürzlich das FritzOS aktualisiert? Welche Version des FritzOS hast Du und welche FritzBox?

Grüße Jörg

PS: Mit meiner 7590 aktuelles FritzOS 154.07.29 kein Problem
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

Nighthawk

Hallo Jörg,

das habe ich tatsächlich, von 7.28 auf die 7.29.
Meine Fritzbox ist die 7490.

JoWiemann

Hm,

ich habe noch eine 7490. Da brauche ich aber dann mal gaaanz viel Zeit. Andererseits unterscheiden sich 7490 und 7590 nicht so stark in der Software.

Ich schaue mir erst einmal die Codezeilen an.

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

mi.ke

Hi Jörg,

unter GästeWLAN gibt es die Möglichkeit das GästeWLAN automatisch zu deaktivieren
und zwar abhängig von Zeit und angemeldeten Devices.

Gibt es einen Weg über lua diese Parameter zu modifizieren also aus und abzuwählen?

Der Weg dorthin:
http://fritz.box/?lp=wGuest

dann "Weitere Einstellungen"...

"automatisch deaktivieren nach" (ist die id="isTimeoutActive") 

"erst deaktivieren, wenn alle Gäste abgemeldet sind" ist die  (id="uiTimeoutNoForcedOff")



FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

frankreed

Guten Morgen,

ist vielleicht etwas Offline oder ich sehe den Wald vor lauter Bäumen nicht:

mit

set <fritzbox_device> dectRingblock <dect<1..n>> <on|off>

kann ich ja die Klingelsperre für DECT-Telefone ein- bzw. ausschalten. Funktioniert auch prima.

Kann ich irgendwo erkennen den Status erkennen, ob die Klingelsperre ein- oder ausgeschaltet ist?

Danke für die Antwort(en)


JoWiemann

Zitat von: mi.ke am 19 März 2022, 19:18:07
Hi Jörg,

unter GästeWLAN gibt es die Möglichkeit das GästeWLAN automatisch zu deaktivieren
und zwar abhängig von Zeit und angemeldeten Devices.

Gibt es einen Weg über lua diese Parameter zu modifizieren also aus und abzuwählen?

Der Weg dorthin:
http://fritz.box/?lp=wGuest

dann "Weitere Einstellungen"...

"automatisch deaktivieren nach" (ist die id="isTimeoutActive") 

"erst deaktivieren, wenn alle Gäste abgemeldet sind" ist die  (id="uiTimeoutNoForcedOff")


Hallo,

habe Dich nicht vergessen, bin aber im Moment beruflich ziemlich unter Wasser.

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