72_FRITZBOX.pm wird zu 72_FritzSmart.pm

Begonnen von JoWiemann, 02 März 2026, 16:29:49

Vorheriges Thema - Nächstes Thema

RalfRog

Hallo Jörg

Antwort einer 7690 mit 8.22
Result of query = 'telcfg:settings/Diversity/list(MSN,Active,Destination)'
----------------------------------------------------------------------
$VAR1 = {
          'data' => {},
          'sidNew' => 0,
          'sid' => '5a0a412c4cd2d427',
          'result' => []
        };

Antwort einer 7490 mit 7.62      eine 7590 war oben ja schon dabei
Result of query = 'telcfg:settings/Diversity/list(MSN,Active,Destination)'
----------------------------------------------------------------------
$VAR1 = {
          'result' => [],
          'sid' => '7d078f33cc42065e',
          'sidNew' => 0,
          'data' => {}
        };


Gruß und schöne Feiertage

FHEM VM Debian13 (trixie) auf Proxmox VE9  (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Jamo

FRITZ!Box 7690 mit Beta Version: 8.24-131011

 
Result of query = 'telcfg:settings/Diversity/list(MSN,Active,Destination)'
----------------------------------------------------------------------
{
  'sidNew' => 0,
  'result' => [
                {
                  'MSN' => 'SIP1',
                  'Active' => '1',
                  'Destination' => '45678901234',
                  '_node' => 'Diversity0'
                },
                {
                  'Active' => '1',
                  'Destination' => '34567890123',
                  '_node' => 'Diversity1',
                  'MSN' => 'SIP2'
                },
                {
                  'Active' => '0',
                  '_node' => 'Diversity2',
                  'Destination' => '0987654321',
                  'MSN' => 'SIP4'
                },
                {
                  'Active' => '0',
                  '_node' => 'Diversity3',
                  'Destination' => '1234567890',
                  'MSN' => 'SIP4'
                }
              ],
  'sid' => 'ea3e0b462d2a2e59',
  'data' => {}
}
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

JoWiemann

Zitat von: elektron-bbs am 03 April 2026, 11:36:20Ich hätte hier auch noch 3 Ergebnisse, allerdings mit VERSION 26.03.28 (die aktuelle Version funktioniert hier nicht 100%ig, siehe https://forum.fhem.de/index.php?msg=1360966):

Hallo elektron-bbs,

ich habe am 31.03.2026 eine neue Version ins SVN geladen. Bitte einmal ein Update machen, dann sollte es wieder funktionieren. Wenn nicht, dann bitte ein Log mit stacktrace und eines mit verbose 4. Danke Dir.

Grüße Jörg

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

#168
Hallo,

vielen Dank für die Rückmeldungen zu Diversity. Interessant ist, dass einige 7590 einen Inhalt zurück melden, während andere, wie auch meine, es nicht tun. Aber gut. Ich werde das Modul entsprechend anpassen, so dass das "alte" Diversity und das neuere Redirection zusammen passen.

Grüße Jörg

PS: Die Abfrage gibt nur Rufumleitungen aus, die für die eingerichteten SIP hinterlegt sind.
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

elektron-bbs

Mit dieser Version aus dem SVN habe probiert. Ich bin mittlerweile zu dem Ergebnis gekommen, das die 7390 ein fehlerhaftes Array liefert (ich habe ein paar Logausgaben eingebaut):
FRITZ!Box Fon WLAN 7390:
"activeUsers":[[],
{"pid":"loginPage","users":[[],[]]}
Not a HASH reference at ./FHEM/72_FritzSmart.pm line 9977.

FRITZ!Box 7590:
"activeUsers":[{"value":"fritz2355","text":"fritz2355","UID":"boxuser89"}],
{"pid":"loginPage","users":[{"value":"fritz2355","text":"fritz2355","UID":"boxuser89"}],"pushBtnLogin":false,"fromInternet":false,"pushmailEnabled":true,"sid":"0000000000000000"}

FRITZ!WLAN Repeater 310
"activeUsers":[],
{"pid":"loginPage","users":[]}
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + 1 x rf_Gateway + 1 x SIGNAL-STM

JoWiemann

Hallo electron-bbs,

es wäre schön, wenn Du folgenden Code:sub FBUser() {
  use LWP::UserAgent;
  use Data::Dumper;
  my $agent     = LWP::UserAgent->new( env_proxy => 1, keep_alive => 1, Content_Type => 'text/xml; charset=utf-8', protocols_allowed => ['http'], timeout => 10);

  my $url    = "http://ip der 7390";
  my $response  = $agent->get( $url );

  Log3 "FBUser", 3, "FBUser: \n" . Dumper($response->content);

  return Dumper($response->content);
}
in Deine 99_myUtils packen könntests und dann in der Fhem Kommandozeile mit {FBUser} ausführen würdest. Den Log-Eintrag dann bitte einmal posten. Danke Dir

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

elektron-bbs

Kein Problem:
2026.04.03 15:43:12 3: FBUser:
$VAR1 = '<!DOCTYPE html>
<html lang="de">
<head>
<meta http-equiv=content-type content="text/html; charset=utf-8" />
<meta http-equiv="Cache-Control" content="private, no-transform" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="format-detection" content="telephone=no" />
<meta http-equiv="x-rim-auto-match" content="none" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes, minimal-ui" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta http-equiv="cleartype" content="on">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<link rel="apple-touch-icon" href="/css/default/images/kopfbalken_links.png" />
<link rel="apple-touch-startup-image" href="/css/default/images/kopfbalken_links.png">
<style>
@font-face {
font-family: \'Source Sans Pro\';
src: url(\'/css/rd/fonts/sourcesanspro.woff\');
}
@font-face {
font-family: \'Source Sans Pro\';
src: url(\'/css/rd/fonts/sourcesansproBold.woff\');
font-weight: bold;
}
@font-face {
font-family: \'AVM\';
src: url(\'/css/rd/fonts/metaWebProBold.woff\');
font-weight: bold;
}
html, input, textarea, keygen, select, button {
font-family: \'Source Sans Pro\', Arial, sans-serif;
font-size: 100%;
}
.blue_bar_title,
.logoArea {
font-family: \'AVM\', \'Source Sans Pro\', Arial, sans-serif;
}
</style>

<link rel=\'stylesheet\' type=\'text/css\' href="/css/rd/login.css"/>
<title>
FRITZ!Box
</title>
</head>
<body>
<script>
var gNbc = false,
config = {"gu_type":"release","GUI_IS_POWERLINE":false,"GUI_IS_REPEATER":false,"isDebug":false,"language":"de"};
</script>
<script src="/js/avmcore.js?lang=de"></script>
<!--<script src="/js/browser.js"></script>-->
<!--<script src="/js/jsl.js"></script>-->
<!--<script src="/js/md5.js"></script>-->
<!--<script src="/js/html.js"></script>-->
<!--<script src="/js/func.js"></script>-->
<!--<script type="text/javascript" src="/myfritz/js/focuschanger.js?lang=de"></script>-->
<!--<script src="/js/html2.js?lang=de"></script>-->
<!--<script src="/js/http.js"></script>-->
<script type="text/javascript" src="/js/login.js"></script>
<script type="text/javascript">
var data = {"firstTenMin":false,"challenge":"f0975a44","blockTime":0,"pageTitle":"Willkommen bei Ihrer FRITZ!Box","lastPage":"","loginReason":0,"username":"","logoutTxt":"\\"Sie haben sich erfolgreich von der FRITZ!Box abgemeldet.\\"","facTitle":"FRITZ!Box Werkseinstellungen","fromInternet":false,"txt":{"facNotAllowedOr10Min":"Sie haben keine Berechtigung diese Aktion durchzuführen oder Ihre FRITZ!Box ist schon länger als 10 Minuten in Betrieb.","facOnAllowedComp":"Das Wiederherstellen der Werkseinstellungen starten Sie von einem Computer aus, für den die Internetnutzung in der FRITZ!Box unbegrenzt ist.","pleaseChoose":"Bitte wählen ...","loginAgainUserMailPass":"Bitte melden Sie sich mit Ihrem Benutzernamen oder Ihrer E-Mail-Adresse und Ihrem Kennwort an.","facNotSet":"FRITZ!Box wurde nicht auf Werkseinstellungen zurückgesetzt","notAuthorized":"Sie sind momentan als Benutzer %1%Name% angemeldet. Dieser Benutzer hat keine Berechtigung, auf die von Ihnen angeforderten FRITZ!Box-Inhalte zuzugreifen.","autoLogoutLoginAgain":"Sie wurden automatisch abgemeldet, bitte melden Sie sich erneut an.","sendLoginLink":"Zugangslink senden","facFailed":"Das Wiederherstellen der Werkseinstellungen ist gescheitert.","loginAgainUserPass":"Bitte melden Sie sich mit Ihrem Benutzernamen und Ihrem Kennwort an.","waitMore":"Bitte warten Sie %1 Sekunden.","facNotAllowed":"Das Wiederherstellen der Werkseinstellungen ist gescheitert, da dieser Computer nicht dazu berechtigt ist.","autoLogoutTimeout":"Sie wurden automatisch abgemeldet, da seit längerer Zeit keine Aktivität registriert wurde.","waitOne":"Bitte warten Sie 1 Sekunde.","chooseUsername":"Bitte geben Sie einen Benutzernamen an.","sendPushServiceMail":"Push Service Mail senden","loginFailed":"Anmeldung fehlgeschlagen.","mistypedOrNotAuthorized":"Haben Sie sich vielleicht vertippt oder fehlt Ihnen die Zugangsberechtigung für diesen Bereich?","choose":"OK","back":"Zurück","login":"Anmelden","loginMailSent":"Die E-Mail mit den Zugangsdaten zur Benutzeroberfläche wurde versendet.","waitTryAgain":"Bitte melden Sie sich erneut an.","caution":"Achtung","facRepeat":"Sie können dann die Werkseinstellungen erneut wiederherstellen.","loginLinkMailPossible":"Wenn Sie Ihr Kennwort für die Benutzeroberfläche vergessen haben, können Sie sich einen Zugangslink per Push Service Mail senden lassen.","pass":"Kennwort","setFacDefaults":"Werkseinstellungen wiederherstellen","facDisconnectPower":"Trennen Sie die FRITZ!Box kurzzeitig von der Stromversorgung. Nach etwa einer Minute können Sie erneut auf die Benutzeroberfläche zugreifen. Klicken Sie dann auf \'Zur Übersicht\'.","forgotPassword":"Kennwort vergessen?","facLoseSettings":"Beachten Sie bitte, dass beim Zurücksetzen alle Ihre Einstellungen verloren gehen!","loginAgainPass":"Bitte melden Sie sich mit Ihrem Kennwort an.","user":"Benutzername","tooManyLogins":"Es wurden zu viele Sitzungen gleichzeitig gestartet."},"cutPowerTxt":"Trennen Sie zunächst die FRITZ!Box kurzzeitig vom Strom und kehren Sie auf diese Seite zurück, nachdem Ihre FRITZ!Box neu gestartet ist.","showUser":false,"facWhatNextTxt":"Nach dem Zurücksetzen werden Sie automatisch auf die Übersichtsseite der FRITZ!Box weitergeleitet.","facPationsTxt":"Es kann bis zu 5 Minuten dauern, bis die FRITZ!Box wieder erreichbar ist, bitte haben Sie etwas Geduld.","facIsSetTxt":"Die FRITZ!Box wird auf Werkseinstellungen zurückgesetzt und startet anschließend neu. Alle Verbindungen zur Anlage gehen dabei kurz verloren.","fallbackRedirectUrl":"http:\\/\\/192.168.178.1\\/","ifSetFacTxt":"Wenn Sie Ihr FRITZ!Box-Kennwort vergessen haben, kann die Benutzeroberfläche erst dann wieder geöffnet werden, wenn die FRITZ!Box auf die Werkseinstellungen zurückgesetzt wurde.","setFacTxt":"Alternativ können Sie die FRITZ!Box in die Werkseinstellungen zurücksetzen.","changedPassTxt":"\\"Das FRITZ!Box-Kennwort wurde geändert.\\"","bluBarTitle":"FRITZ!Box Fon WLAN 7390","falseUsername":false,"pushmailEnabled":true,"activeUsers":[[]]};
if (gNbc) {
data.nbc = true;
}
function localInit() {
"use strict";
window.history.replaceState({}, \'\', \'/\');
html.blueBarHead({
"type": "login",
title: data.bluBarTitle,
parent: document.body
});
login.init(data);
}
localInit();
</script>
</body>
</html>

';
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + 1 x rf_Gateway + 1 x SIGNAL-STM

elektron-bbs

Ich habe jetzt den betroffenen Abschnitt ab Zeile 9966 um eine Überprüfung, ob in dem Array ein Hash ist, erweitert:
         if (ref($cData) eq "ARRAY") {
           my $nbViews = scalar @$cData;
           for(my $j = 0; $j <= $nbViews - 1; $j++) {
             if (ref(@$cData[$j]) eq 'HASH') { # $hash_ref is reference to hash
               $bUsers .= $cData->[$j]->{value} . ";";
               if ($cData->[$j]->{value} =~ /(fritz\d+)/) {
                 Fritz_Readout_Add_Reading $hash, \@roReadings, "->DEFAULT_USER", $1;
                 $hash->{DEFAULT_USER} = $1;
               }
             }
           }
           if($nbViews != 0) {
             chop($bUsers) if($nbViews != 0);
             $bUsers =~ s/&lt;pWd&gt;//;
           }
         }

Ob das der richtige Weg ist, überblicke ich nicht so ganz, aber zumindest funktioniert es jetzt mit meinen Fritz-Geräten.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + 1 x rf_Gateway + 1 x SIGNAL-STM

Toto1973

Ich bin heute auch endlich von FritzBox auf FritzSmart umgestiegen.
Wie das jetzt genau geht, das man darüber die Heizkörperthermostate ansteuern kann, muss ich erst mal noch "erkunden".
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

JoWiemann

Zitat von: elektron-bbs am 03 April 2026, 16:44:15Ich habe jetzt den betroffenen Abschnitt ab Zeile 9966 um eine Überprüfung, ob in dem Array ein Hash ist, erweitert:
Ob das der richtige Weg ist, überblicke ich nicht so ganz, aber zumindest funktioniert es jetzt mit meinen Fritz-Geräten.

Hallo electron-bbs,

vielen Dank für den guten Vorschlag. Übernehme ich gerne.

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

Hallo,

ich würde jetzt das Thema Rufumleitung ohne die LuaQuery-Abfrage Diversity abändern. Die Abfrage gibt nur Rufumleitungen zurück, während die DataLua-Abfrage zusätzlich auch die Rufbehandlungen bereit stellt. Somit können dann beide auch Ein/Aus geschaltet werden. Bei Bedarf können auch weitere Parameter verändert werden.

Gibt es noch jemanden, der eine Uraltversion des FritzOS benutzt, bei der DataLua noch nicht vorhanden ist, dann müsste ich hierfür eine weitere Ausnahme einbauen.

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