Hauptmenü

Neueste Beiträge

#1
Home Connect / Aw: HomeConnect - HowTo
Letzter Beitrag von locodriver - 09 Februar 2025, 11:42:48
Habe ich gerade getan - und nach einmaligem fehlerhaften Login hat es gefunzt...
Die Waschmaschine ist gefunden worden und harrt der Einbindung in fhem ;D

Dankeschön für den entscheidenden Tipp und einen schönen Sonntag!
#2
Home Connect / Aw: HomeConnect - HowTo
Letzter Beitrag von Adimarantis - 09 Februar 2025, 11:28:23
Wenn man das nicht editieren kann musst du nur eine neue Applikation anlegen.
#3
Home Connect / Aw: HomeConnect - HowTo
Letzter Beitrag von locodriver - 09 Februar 2025, 11:18:19
Da steht bei mir:

OAuth Flow: Device Flow
Kann ich das nachträglich ändern oder muss ich einen neuen Account anlegen?
Auf der Edit-Seite kann ich keinen entsprechenden Punkt finden.
#4
FRITZ!Box / Aw: wunsch nach reading, das d...
Letzter Beitrag von frank - 09 Februar 2025, 10:48:48
moin jörg,


Zitat von: JoWiemann am 07 Februar 2025, 12:41:00Hier gibt es zwei Links, einmal um die Info-Led zurück zu setzen und um das Reading selber zu löschen.
beide links funktionieren.
"led löschen" wirft ein fehler, wenn das notify in der fritzbox nicht mehr vorhanden ist.
[fritzbox | 7490 | 113.07.60 | Set.2165] - SIGNIFICANT:ledsetting notifyoff 8_1 - not applied

Zitat von: JoWiemann am 07 Februar 2025, 12:41:00Es gibt parallel ein zweites reading in dem ich einen Button hinterlegt habe, mit dem dann in Zukunft eine nähere Info ausgeben werden kann.
der button sieht bei mir gut aus, siehe sreenshot.
da er schön auffällig ist, kann man sofort erkennen, wenn die fritzbox probleme hat.  ;)

das reading erzeugt jede minute ein log eintrag, solange die warnung in der fritzbox aktiv ist. das sollte unterdrückt werden:
2025.02.08 14:39:37.765 3: [fritzbox | 7490 | 113.07.60 | Readout_Run_Web_LuaData.4607] - BASIC:hmtl_links:
 <html>INTERNET NO_CONNECTION <a href='/fhem?cmd=deletereading%20-q%20fritzbox%20box_notify_8_1.*&fwcsrf=csrf_559199566838920' target='_self'>&lt;reading löschen&gt;</a> <a href='/fhem?cmd=set%20fritzbox%20ledSetting%20notifyoff%208_1&fwcsrf=csrf_559199566838920' target='_self'>&lt;LED ausschalten&gt;</a></html>
 <html><div id='button'><button id='dis' onclick='JS:FW_okDialog("wenn ich weiß, wo ich eine Info herbekomme")'>Information anzeigen</button></div></html>


die fritzbox baut das popup mit den details (zweiter screenshot aus meinem ersten post) in der javascript datei "home/home.js" zusammen.
dort finde ich texte für 7 events:
const notifyTexts = (() => {
    const getDiagnosisText = el => html2.printf("Starten Sie unter %1%Linkanfang%Diagnose > Funktion%/1%Linkende% die Diagnose der FRITZ!Box.", createLink(el.url, "funcCheck"));
    const getLogText = el => html2.printf("Weitere Details finden Sie unter %1%Linkanfang%System > Ereignisse > Telefonie%/1%Linkende%.", createLink(el.url, "log"));
    return {
        getDiagnosis: getDiagnosisText,
        forCategory: {
            JASON: el => {
                const result = {};
                result.header = "Dringende Benachrichtigung zu Ihrer FRITZ!Box: " + el.message;
                if (el.url) {
                    result.content = html2.p({}, el.message, " ", createMoreLinkForNotify(el.url));
                }
                return result;
            },
        },
        forEvent: {
            NO_CONNECTION: (el, data) => {
                const mainConnectionIsMobile = data.internet?.connections?.find(c => c.type === "mobile" && (c.role === "main" || c.role === "single"));
                let texts;
                if (mainConnectionIsMobile) {
                    texts = ["Stellen Sie sicher, dass die SIM-Karte korrekt freigeschaltet ist.", "Stellen Sie sicher, dass die Konfiguration für den Internetzugang zur verwendeten SIM-Karte passt.", getDiagnosisText(el)];
                } else {
                    texts = ["Stellen Sie sicher, dass das Kabel für den Internetzugang richtig steckt.", getDiagnosisText(el)];
                }
                return {
                    header: "Internetverbindung seit mehr als einer Stunde unterbrochen",
                    content: html2.fragment(html2.p({}, "Die FRITZ!Box ist seit mehr als einer Stunde nicht mehr mit dem Internet verbunden."), html2.ul({}, texts.map(text => html2.li({}, text))))
                };
            },
            BOTNET_DETECTED: el => {
                const result = {};
                const txtParts = el.message.split(";");
                if (txtParts) {
                    if (txtParts[3]) {
                        result.header = jsl.sprintf("Zugriff auf Botnet '%1%botnet%' über Domain '%2%domain%' von Gerät '%3%dev%' erkannt!", txtParts[0], txtParts[1], txtParts[3]);
                    } else {
                        result.header = jsl.sprintf("Zugriff auf Botnet '%1%botnet%' über Domain '%2%domain%' von der Box selbst erkannt!", txtParts[0], txtParts[1]);
                    }
                } else {
                    result.header = el.message;
                }
                if (el.url) {
                    result.content = html2.p({}, result.header, " ", createMoreLinkForNotify(el.url, "log"));
                }
                return result;
            },
            NOT_REGISTERED: el => {
                return {
                    header: "Telefonie seit mehr als einer Stunde nicht oder nur eingeschränkt nutzbar",
                    content: html2.fragment(html2.p({}, "Eine Rufnummer ist seit mehr als einer Stunde nicht verfügbar."), html2.ul({}, html2.li({}, "Prüfen Sie die Einstellungen Ihrer eigenen Rufnummern."), html2.li({}, getDiagnosisText(el))))
                };
            },
            ERROR_500_503: el => {
                return {
                    header: "Letzter ausgehender Anruf aufgrund eines Fehlers im Telefonnetz gescheitert",
                    content: html2.fragment(html2.p({}, "Die Ursache für das Problem kann vorübergehend sein oder länger andauern. Wenden Sie sich bitte an Ihren Telefonanbieter, sofern das Problem über einen längeren Zeitraum und zu verschiedenen Rufnummern auftritt."), html2.ul({}, html2.li({}, getLogText(el))))
                };
            },
            INTERNATIONAL_CALLS_DETECTED: el => {
                return {
                    header: "Untypisch hohe Nutzung von Auslands- bzw. Sonderrufnummern",
                    content: html2.fragment(html2.p({}, "Innerhalb kürzerer Zeit wurden mehrfach Auslands- bzw. Sonderrufnummern angewählt. Dies kann erhöhte Kosten nach sich ziehen."), html2.ul({}, html2.li({}, "Prüfen Sie in Ihrer Anrufliste, ob es sich um berechtigte Anwahlversuche handelte."), html2.li({}, "Klicken Sie auf die Meldung in der Ereignisliste, um weitere Hinweise zum Vorgehen bei Vorliegen einer mißbräuchlichen Nutzung zu erhalten."), html2.li({}, getLogText(el))))
                };
            },
            USB_FULL: el => {
                return {
                    header: "Kein Empfang von Sprachnachrichten und Faxen möglich",
                    content: html2.fragment(html2.p({}, "Der USB-Speicher an der FRITZ!Box ist voll. Die FRITZ!Box kann daher keine Sprachnachrichten und Faxe mehr annehmen."), html2.p({}, "Geben Sie Speicherplatz auf dem Speicher frei, um Anrufbeantworter und Faxempfang wieder nutzen zu können."), el.url ? createMoreLinkForNotify(el.url, "funcCheck") : null)
                };
            },
            BATTERY_LOW: el => {
                return {
                    header: "Batteriewarnung für Smart-Home-Gerät",
                    content: html2.ul({}, html2.li({}, html2.printf("Prüfen Sie unter %1%Linkanfang%Smart Home%/1%Linkende% den Batteriestand Ihrer Smart-Home-Geräte.", createLink(el.url, "sh_dev"))), html2.li({}, "Ersetzen Sie verbrauchte Batterien an den betreffenden Geräten."), )
                };
            },
        }
    };
})();

da du scheinbar ein dect thermostat hast, bekommst du eventuell bei leerer batterie ein notify.
das wäre dann wohl eine gute möglichkeit für dich zum testen. 


Zitat von: JoWiemann am 07 Februar 2025, 12:41:00"wenn die ursache einer warnungen wegfällt, beendet die fritzbox das senden der notifydaten von selbst." Da würde ich dann das Reading mit dem Hinweis "erledigt" makieren wollen, da Dir ja sonst die Info fehlt.
automatisches löschen habe ich noch nicht bemerkt.
wäre es nicht besser, hier auch "inactive" zu setzen, damit es im modul überall gleich funktioniert? ist mir im prinzip aber egal.



gruss frank
#5
Anfängerfragen / Aw: Logfile wird geflutet im Z...
Letzter Beitrag von Beta-User - 09 Februar 2025, 10:45:28
Nein!

Du hast zum einen gar keinen "Fehler", und zum anderen eine Tonne voller Unsauberkeiten an vielen Stellen!

Das Warning geht weg, wenn du aus dem devStateIcon den ersten (langen/geklauten) Teil löschst. Ob das dann ist, was du haben willst, ist eine andere Frage.
#6
Anfängerfragen / Aw: Logfile wird geflutet im Z...
Letzter Beitrag von Tueftler1983 - 09 Februar 2025, 10:40:36
Okay das heißt der Fehler kommt eigentlich nur durch meinen Versuch aus den Drei werten für die einzelnen Farben einen zu machen und dies im Devstateicon zum färben des icons zu bekommen.

Also lösche ich beide Teile.
#7
Anfängerfragen / Aw: Logfile wird geflutet im Z...
Letzter Beitrag von Beta-User - 09 Februar 2025, 10:17:35
Zitat von: Tueftler1983 am 09 Februar 2025, 09:39:41Betateilschen
Wenn du ihn richtig schreibst, kommt er vielleicht gleich mit einem Zug voll Popcorn...!

Wäre nachvollziehbar, bei dem "Zauber", der hier läuft.

Nochmal der Reihe nach:

Der Code
attr Unterschrank devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot':'10px-kreis-gruen';; $onl = FW_makeImage($onl);; my $light = FW_makeImage(ReadingsVal($name,'state','off'));; my $temp = ReadingsVal($name,'temperature_tC','-100');; my $ip = ReadingsVal($name,'ip','none');; my $reb = ReadingsVal($name,'sys_restart_required','false') eq 'true'?'<a href="/fhem?cmd.dummy=set '.$name.' x_reboot&XHR=1"> ... Notwendigen Reboot durchf�hren</a>':'';; qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a>$reb<div>Temp: $temp °C</div>);;Color_devStateIcon(ReadingsVal($name,"HSV","000000"))}besteht aus zwei Teilen. Der erste:
my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot':'10px-kreis-gruen';; $onl = FW_makeImage($onl);; my $light = FW_makeImage(ReadingsVal($name,'state','off'));; my $temp = ReadingsVal($name,'temperature_tC','-100');; my $ip = ReadingsVal($name,'ip','none');; my $reb = ReadingsVal($name,'sys_restart_required','false') eq 'true'?'<a href="/fhem?cmd.dummy=set '.$name.' x_reboot&XHR=1"> ... Notwendigen Reboot durchf�hren</a>':'';; qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a>$reb<div>Temp: $temp °C</div>)ist (zumindest zum größten Teil) geklaut und funktioniert. Erzeugt wird ein HTML-String, die geschweiften Klammern um die Variablennamen sind nur ein Mittel, um sich die concatenations einfacher zu machen (bitte Nachlesen, was das ist, wenn es unklar ist!).

Der zweite Teil
Color_devStateIcon(ReadingsVal($name,"HSV","000000"))Wird dann effektiv zurückgegeben - der hat nur mit dem ersten Teil nichts mehr zu tun, was eben genau dieses Warning erzeugt.

Zitat von: Tueftler1983 am 09 Februar 2025, 09:05:50Die userReadings werden doch getriggert,
Es ist schon klar, dass der Code ausgeführt wird. Nur eben viel zu oft!

Bitte nachlesen, was mit "trigger" im Zusammenhang mit userReadings gemeint ist (=>commandref).

Nachtrag: jsonMap solltest du dir auch mal anschauen, was das eigentlich macht. Dann brauchst du zumindest das eine der userReadings nicht. Und die default-Werte bei den ReadingsVal()-Abfragen beim zweiten passen auch nicht zum gewünschten Gesamtergebnis, falls (!) da mal nichts stände. (Ist nicht "falsch", aber irreführend)
#8
Sonstige Systeme / Aw: Blink Security Home Kamera...
Letzter Beitrag von isy - 09 Februar 2025, 10:14:01
Moin zusammen,
ich habe eine Frage hinsichtlich des Batterieverbrauchs:
Eigentlich brauche ich ein aktuelles Bild nur, wenn ein Alarm ausgelöst wurde.

Jedes set getThumbnail löst ein neues Bild aus. Ist das richtig und damit sollte man wg. des Batterieverbrauchs eher sparsam umgehen?

Das letzte Bild vom Sync Module abholen geht mit getInfoCamera. Ist das korrekt?
Wenn ich jede Minute und bei Alarm ein getInfoCamera starte, würde das die Batterie nicht zusätzlich belasten?

Vielen Dank!
#9
FHEMapp / Aw: kein FHEMapp-Update per Dr...
Letzter Beitrag von Beta-User - 09 Februar 2025, 10:09:06
Bitte diese Sache an @Starkstrombastler (im Shelly-Thread) melden.
#10
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von Prof. Dr. Peter Henning - 09 Februar 2025, 10:08:42
Zitat von: sfh am 03 Februar 2025, 22:18:16Wenn man weiß, wo die Information herkommt, dann passt das so
Ich denke, das "passt" auch, wenn man das nicht weiß...

pah