Zitat von: JoWiemann am 09 März 2026, 17:31:33Beim API-Check bei TR064 gehen mir allerdings die Ideen aus. Setz doch bitte einmal das Attribut setSubVerbose4 für die Fritz_Readout_API_Check und poste mir das Ergebnis nach einem set checkAPIs full. Danke Dir.Das ist aus dem FHEM-Log. Da steht aber auch nicht viel mehr, als sonst auch. Oder wird dabei noch ein anderes Log geschrieben, das du benötigst?
2026.03.09 18:23:12 3: [FritzBox_7390_Test | 7390 | 84.06.88 | Attr_Modul.2144] - BASIC:Attr set setSubVerbose4 -> Neustart internal Timer - APICHECKED = 1
2026.03.09 18:23:13 3: [FritzBox_7390_Test | 7390 | 84.06.88 | Readout_API_Check.9904] - BASIC:API luaQuery call responded with: 403 Forbidden
2026.03.09 18:23:13 3: [FritzBox_7390_Test | 7390 | 84.06.88 | Readout_API_Check.9932] - BASIC:API luaData call responded with: 403 Forbidden
2026.03.09 18:23:18 3: [FritzBox_7390_Test | 7390 | 84.06.88 | Readout_API_Check.10368] - BASIC:Response -> luaQuery:403 luaData:403 TR064:200 boxModelJason:200
2026.03.09 18:23:25 2: [FritzBox_7390_Test | 7390 | 84.06.88 | Readout_Run_Web_TR064.8819] - SIGNIFICANT:wanipconnection1 GetInfo ->
$VAR1 = {
'WANIPConnection:1' => {
'GetInfo' => {
'Error' => {
'detail' => {
'UPnPError' => {
'xmlns' => 'urn:dslforum-org:control-1-0',
'errorDescription' => 'Invalid Action',
'errorCode' => '401'
}
},
'faultcode' => 's:Client',
'faultstring' => 'UPnPError',
'ErrLevel' => '3',
'response_error' => '500 Internal Server Error'
}
}
}
};
Zitat von: Prof. Dr. Peter Henning am 09 März 2026, 18:05:03Alles richtig - aber das Modul bedient ja nicht das Unternehmen, sondern genau eines der Produkte, und das ist eben die FritzBox.
LG
pah
Zitat von: JoWiemann am 09 März 2026, 17:26:43ein guter Punkt, aber das Unternehmen heißt ja nun auch Fritz und die Domain ist Fritz.de.Alles richtig - aber das Modul bedient ja nicht das Unternehmen, sondern genau eines der Produkte, und das ist eben die FritzBox.
Zitat von: RalfRog am 09 März 2026, 17:35:17@JoWiemann: ist die Logauswertung noch im Modul drin?
Gruß Ralf
Zitat von: JoWiemann am 09 März 2026, 17:26:43die Domain ist Fritz.de.
Zitat von: elektron-bbs am 09 März 2026, 16:41:24Hallo Jörg,
ja, das habe ich.
Zitat von: Prof. Dr. Peter Henning am 09 März 2026, 17:16:06Nur mal so am Rande bemerkt: Ein Modul 72_Fritz.pm ist nicht sehr sinnvoll benannt, beispielsweise weiß niemand, wie es sich von 72_Erwin.pm oder 72_Susanne.pm unterscheidet. Insofern würde ich doch sehr für die Beibehaltung des alten Namens votieren, wenn das noch möglich ist.
Zitat von: Damian am 09 März 2026, 17:14:19Das kannst du doch in Perl formulieren, solange die Bedingung sich nicht ändert (die Trigger) sollte es kein Problem sein. Mit devspec2array kannst du eine Schleife bauen. Spätestens im DOIF-Perl kannst du auch dynamisch mit set_Exec Ausführungen verzögern.Zitat von: Damian am 09 März 2026, 13:21:26Bei den Nachteilen sprichst du immer von zufälliger Verzögerung. Warum baust du sie nicht in deinem DOIF ein? Den Zufall kannst du sowohl im wait-Attribut, als auch bei berechneten Zeittriggern angeben.Dann hab ich mich mißverständlich ausgedrückt - das DOIF funktioniert, inklusive variabler Zeitdifferenz via wait Attribut. Was mich nervt (first world problems!) ist die Tatsache, dass wenn ich ein HTTPMOD Device hinzufüge/entferne, ich die DOIF DEF sowie was wait Attribut anpassen muss. Das DOIF sieht etwa so aus:([([06:50]+int(rand(300)))-([20:30]-int(rand(300)))|8])mit
(set Produkt_1 reread)
(set Produkt_2 reread)
(set Produkt_3 reread)
(set Produkt_4 reread)
##[...]
(set Produkt_23 reread)
DOELSE ()Attributes:Schön wäre, wenn das DOIF im Ausfrührungsteil über die vorhandenen Devices iterieren und ein reread durchführen könnte - mit jeweiliger Pause dazwischen. Devspec wäre
do always
repeatcmd 4600+rand(400)
wait 0,45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30),45+rand(30)TYPE=HTTPMOD:FILTER=NAME=Produkt_.*