72_FRITZBOX.pm ab Version 08.00.00

Begonnen von elektron-bbs, 09 Oktober 2024, 17:28:16

Vorheriges Thema - Nächstes Thema

frank

Zitat von: JoWiemann am 21 Februar 2025, 09:41:20Hallo Frank,

ich kann den Fehler mit meiner FRITZ!Smart Energy 200 unter einer FB7590 nicht nachstellen. Eine FB mit FritzOS 7.60 steht mir zum Testen nicht zur Verfügung.

Poste doch bitte die Ergebnisse von

get fritzbox luaData xhr 1 master 16 device 16 page home_auto_edit_view
und
get fritzbox luaData xhr 1 lang de page sh_dev xhrId all

Danke und Grüße Jörg


leider nur als datei möglich.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

hier noch der inhalt der ersten abfrage aus dem log:

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Hallo,

anbei eine neue 08.03.00a_Beta.

- das Problem mit dem CSFR-Token bei Neustart sollte gelöst sein
- FRITZ!Smart Energy 200 sollte auch funktionieren. Ich hatte ein "blödes" coding.

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

JoWiemann

Halo und sorry,

anbei eine neue Version. Musste noch in einem RegEx einen \ setzen.

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

JoWiemann

Ok,

und jetzt noch einen neue Beta, in der das Toggeln der fon_ Readings behoben ist. Hatte ich schon fast vergessen  ;)

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

frank

hallo jörg,

die letzte version habe ich noch nicht probiert,
aber csrf funktioniert noch nicht und bei save prefdev kommt der selbe fehler

2025.02.21 11:16:18.997 3: [fritzbox | 7490 | 113.07.60 | Set.1272] - BASIC:set fritzbox smartHome 16 preDefSave:test01
2025.02.21 11:16:27.450 3: [fritzbox | 7490 | 113.07.60 | Helper_process_JSON.13291] - BASIC:Decode JSON string: decode_json failed, invalid json. error:malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<link rel="styleshee...") at ./FHEM/72_FRITZBOX.pm line 13290.

2025.02.21 11:16:27.453 3: [fritzbox | 7490 | 113.07.60 | Helper_process_JSON.13343] - BASIC:no HASH/ARRAY from JSON returned
 (<link rel="stylesheet" type="text/css" href="/css/default/smarthome.css">
<link rel="stylesheet" type="text/css" href="/css/default/numinput.css">

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

neueste problemübersicht für version 08.03.00c_Beta:

#1 csrf:         ungelöst
#2 ledsetting:   ???
#3 fon inactive: gelöst
#4 prefdefsave:  ungelöst
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Zitat von: frank am 21 Februar 2025, 10:08:10hier noch der inhalt der ersten abfrage aus dem log:

gruss frank

Ist das die Rückgabe aus dem get
get fritzbox luaData xhr 1 master 16 device 16 page home_auto_edit_view
Nur so kann ich sehen, ob die RegEx bei Dir greift.

Grüße
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

frank

ZitatIst das die Rückgabe aus dem get
Da gehe ich von aus, da es in der ersten zeile der Datei so steht.

Das Pop-up hatte ja gesagt: No Hash, No jason
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

#69
Zitat von: frank am 21 Februar 2025, 13:22:04
ZitatIst das die Rückgabe aus dem get
Da gehe ich von aus, da es in der ersten zeile der Datei so steht.

Das Pop-up hatte ja gesagt: No Hash, No jason

Ich habe mir Deinen Log-Auszug einmal genauer angesehen und durch einen RegEx Tester gejagt. Da war ein kleiner, aber signifikanter Unterschied. Ich habe jetzt die Regex angepasst und etwas weicher gemacht. Hoffe, dass passt so.

Beim get solltest Du jetzt ein JSON zurück bekommen. Dann sollte auch das preDefSave funktionieren.

Das CSFR Token wird jetzt am Ende des Define und zusätzlich bei jeden Intervall-Durchlauf aktualisiert.

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

juemuc

Hallo Jörg,

meine Tests mit einer Steckdose und "get <name> smartHomePreDef" sowie den dazugehörigen "set-Befehlen" lief fehlerfrei.

Danke für die Umsetzung.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

frank

moin jörg,

wieder einen schritt weiter.  :)


die daten werden nun wohl korrekt gefunden.
allerdings erzeugt "get <name> smartHomePreDef <deviceID> <Saved-PreDef-Name>" wieder einen absturz.

wenn ich in der absturzmeldung den json string durch "json_string" ersetze, lautet die meldung:
Can't locate object method "decode_json" via package "json_string" (perhaps you forgot to load  "json_string"?) at ./FHEM/72_FRITZBOX.pm line 11456.
der "klammertrick" von neulich für encode_json hilft auch hier.
nach ändern der zeile 11456 funktioniert nun endlich "get <name> smartHomePreDef <deviceID> <Saved-PreDef-Name>" ohne absturz.
         my %valueHash = %{ decode_json($jsonStr) };

weitere tests mit sichern unterschiedlicher einstellungen und anschliessendes wechseln über prefDefLoad funktioniert nun super, danke!


zum löschen meiner korrupten prefDefs habe ich bisher noch keinen cmd gefunden.
editieren und löschen der datei smart_home_prefdefs.txt ist ja ausdrücklich verboten.
gibt es eine lösung, die ich noch nicht gefunden habe?

wo werden eigentlich die konfigurationen gespeichert, fritzbox oder device?
die hilfe zu prefDefLoad sagt in der fritzbox.
dann würden aber die switches ohne fritzbox nicht mehr automatisch schalten.
ist das richtig?


gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

hallo jörg,

beim sichern eines astro datensatzes gab es noch 2 warnings.


2025.02.21 18:35:12.295 3: [fritzbox | 7490 | 113.07.60 | Set.1277] - BASIC:set fritzbox smartHome 16 preDefSave:astroOn
2025.02.21 18:35:18.033 3: skills:
$VAR1 = {
          'isEnabled' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
          'timeControl' => {
                             'timeSchedules' => [
                                                  {
                                                    'isEnabled' => $VAR1->{'isEnabled'},
                                                    'name' => 'TIMEOUT',
                                                    'actions' => [
                                                                   {
                                                                     'isEnabled' => $VAR1->{'isEnabled'},
                                                                     'description' => {
                                                                                        'action' => 'SET_ON'
                                                                                      },
                                                                     'timeSetting' => {
                                                                                        'durationInSeconds' => 0
                                                                                      }
                                                                   }
                                                                 ],
                                                    'kind' => 'COUNTDOWN'
                                                  },
                                                  {
                                                    'isEnabled' => $VAR1->{'isEnabled'},
                                                    'kind' => 'REPETITIVE',
                                                    'actions' => [
                                                                   {
                                                                     'timeSetting' => {
                                                                                        'startTime' => '00:00:00',
                                                                                        'endTime' => '00:00:00',
                                                                                        'endDate' => '2019-01-01',
                                                                                        'startDate' => '2019-01-01'
                                                                                      },
                                                                     'desription' => {
                                                                                       'action' => 'SET_ON'
                                                                                     },
                                                                     'isEnabled' => $VAR1->{'isEnabled'}
                                                                   }
                                                                 ]
                                                  }
                                                ],
                             'isEnabled' => $VAR1->{'isEnabled'}
                           },
          'type' => 'SmartHomeEvent',
          'event' => {
                       'targets' => [
                                      {
                                        'device' => {
                                                      'id' => 16,
                                                      'displayName' => 'dect01',
                                                      'category' => 'SOCKET'
                                                    },
                                        'type' => 'SOCKET',
                                        'id' => 16,
                                        'displayName' => 'dect01'
                                      }
                                    ],
                       'description' => {
                                          'action' => 'SET_OFF'
                                        }
                     },
          'trigger' => {
                         'action' => 'SOUND'
                       }
        };

2025.02.21 18:35:18.045 1: PERL WARNING: Use of uninitialized value $ret{"sunrise_off_absolute"} in substitution (s///) at ./FHEM/72_FRITZBOX.pm line 11161.
2025.02.21 18:35:18.049 1: stacktrace:
2025.02.21 18:35:18.053 1:     main::__ANON__                      called by ./FHEM/72_FRITZBOX.pm (11161)
2025.02.21 18:35:18.057 1:     main::FRITZBOX_Get_SmartHome_Devices_List called by ./FHEM/72_FRITZBOX.pm (1647)
2025.02.21 18:35:18.060 1:     main::FRITZBOX_Set                  called by fhem.pl (3983)
2025.02.21 18:35:18.064 1:     main::CallFn                        called by fhem.pl (1973)
2025.02.21 18:35:18.068 1:     main::DoSet                         called by fhem.pl (2005)
2025.02.21 18:35:18.071 1:     main::CommandSet                    called by fhem.pl (1285)
2025.02.21 18:35:18.075 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2869)
2025.02.21 18:35:18.078 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2025.02.21 18:35:18.082 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2025.02.21 18:35:18.086 1:     main::FW_Read                       called by fhem.pl (3988)
2025.02.21 18:35:18.089 1:     main::CallFn                        called by fhem.pl (789)
2025.02.21 18:35:18.096 1: PERL WARNING: Use of uninitialized value $ret{"sunrise_off_absolute"} in concatenation (.) or string at ./FHEM/72_FRITZBOX.pm line 11309.
2025.02.21 18:35:18.100 1: stacktrace:
2025.02.21 18:35:18.103 1:     main::__ANON__                      called by ./FHEM/72_FRITZBOX.pm (11309)
2025.02.21 18:35:18.107 1:     main::FRITZBOX_Get_SmartHome_Devices_List called by ./FHEM/72_FRITZBOX.pm (1647)
2025.02.21 18:35:18.110 1:     main::FRITZBOX_Set                  called by fhem.pl (3983)
2025.02.21 18:35:18.114 1:     main::CallFn                        called by fhem.pl (1973)
2025.02.21 18:35:18.118 1:     main::DoSet                         called by fhem.pl (2005)
2025.02.21 18:35:18.121 1:     main::CommandSet                    called by fhem.pl (1285)
2025.02.21 18:35:18.125 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2869)
2025.02.21 18:35:18.129 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1031)
2025.02.21 18:35:18.132 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (610)
2025.02.21 18:35:18.136 1:     main::FW_Read                       called by fhem.pl (3988)
2025.02.21 18:35:18.140 1:     main::CallFn                        called by fhem.pl (789)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Zitat von: frank am 22 Februar 2025, 14:27:58hallo jörg,

beim sichern eines astro datensatzes gab es noch 2 warnings.

Hallo Frank,

was ist denn ein Astro?

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

juemuc

Hallo Jörg,

ich vermute, dass Frank den Punkt "Astronomisch" unter "Zeitschaltung aktiv" meint (s. Bild)

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).