[Info] Freeware FritzEnergy

FritzEnergy

Neuer User
Mitglied seit
3 Nov 2020
Beiträge
7
Punkte für Reaktionen
2
Punkte
3
Hi Leute,

ich hab ein Freeware-Tool geschrieben, dass Fritz-SmartHome-Geräte wie die Steckdose Dect200 oder den HKR Dect300 zyklisch abfragt, die Ergebnisse n eine Datenbank schreibt und die Daten auf Wunsch in einem Chart darstellt. Ist Freeware, schlank und läuft bei mir stabil unter Win10. Feedback ist willkommen :)
https://ott-bs.de/fritzenergy.html
 
"FritzEnergie" ist ein unglücklicher Name, da AVM etwas gegen diese Namen hat.
"FB.Energie", oder so, wäre da sicherer. Denn du möchtest doch sicher keine Brief von AVM bekommen und den Namen dann noch ändern müssen.
siehe auch:
 
Ganz am Rande: AVM hat kein Problem damit, dass für ihre Geräte Zusatzsoftware geschrieben wird. Die Berliner mögen es allerdings nicht, wenn in der Bezeichnung solcher Programme das Wortbestandteil "Fritz" vorkommt. Sicherheitshalber (und bevor man das in Berlin spitz kriegt) solltest Du Dir einen anderen Namen dafür ausdenken.
 
Hmm... Der Fehler kommt bei "Find Fritz Devices" im Config Tab? Poste mal bitte das gesamte Log (Im Config-Tab LogDetail auf "All" setzen) Zumindest bekommst Du eine SID von der FB (Ist das Login "passwort")
Welche Firmware Version hat Deine FB?
Versuche mal im About Tab "GetDeviceList" - da sollten auch alle Werte zurückkommen, allerdings werden die Werte nicht in der GUI/DB verwendetet, ist nur für Debugging.
FindFritzDevices benutzt einen undokumentierten Aufruf, um an die Devices-Daten zu kommen - irgendwie ahnte ich schon, dass das früher oder später für Probleme sorgt ;)

Gruß Sascha

Vollzitat gemäß Boardregeln entfernt by stoney

-- Zusammenführung Doppelpost gemäß Boardregeln by stoney
Hey Teo & Hendrik,

danke für die Info zur Namesgebung.... hab das in der ct auch gelesen, dachte mir aber, ich lass es drauf ankommen... Ist ja nicht unüblich seinen Markennamen vehement zu schützen heutzutage... Ich werde das bei Gelegenheit ändern... ;)

Gruß Sascha
 
Zuletzt bearbeitet von einem Moderator:
Warum fragst Du das überhaupt (nach #2 geschlußfolgert - die Quellen sind ja offenbar nicht öffentlich einsehbar) über das MyFRITZ!-GUI ab? Sind nicht die XML-Daten aus dem AHA-Interface (https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf - Seite 11) bei "getbasicdevicestats" besser zu verarbeiten?

Die einzelnen Statistiken haben eine Auflösung von 10 Sekunden (iirc und nach der Beschreibung) ... da kann man dann auch die eigenen Abfragen entsprechend "timen" und mehrere Meßwerte auf einen Schlag abfragen. Wenn ich mich richtig erinnere, sind das dieselben Daten, die da (im Browser) zur Anzeige zusammengebaut werden - wenn auch anders formatiert.

Zudem gibt es die von Dir (offenbar nach #2) abgefragte URL mit der Ebene "areas" unterhalb von "myfritz" ab 07.2x gar nicht mehr ... da kommt man zu der Vermutung, daß Deine FRITZ!Box entweder schon älter ist oder noch kein Update erhalten hat oder Du nicht die neueste Firmware-Version installiert hast.

Das oben verlinkte Interface hat auch den Vorteil, daß es eben dokumentiert ist und AVM wohl selbst bei Änderungen noch einiges unternehmen würde, damit es "stable" bleibt.
 
@FritzEnergy

Natürlich ist das Logoin nicht "passwort", sondern hier ein Benutzername (habe ich im Log ersetzt) und zugehöriges, eigenes Passwot. Stimmt auch beides.

Hier das komplette Log der Sitzung:

Code:
GetSID()
[URL]http://192.168.0.40/login_sid.lua[/URL] (328 ms)
200 - <?xml version="1.0" encoding="utf-8"?><SessionInfo><SID>0000000000000000</SID><Challenge>68fe6dd4</Challenge><BlockTime>0</BlockTime><Rights></Rights></SessionInfo>


BlockTime=0
[URL]http://192.168.0.40/login_sid.lua?username=MeinUsername&response=68fe6dd4-e7c3764456ff63665794dc7ddb0ad302[/URL] (344 ms)
200 - <?xml version="1.0" encoding="utf-8"?><SessionInfo><SID>275b38f27fc80df8</SID><Challenge>21632415</Challenge><BlockTime>0</BlockTime><Rights><Name>Dial</Name><Access>2</Access><Name>App</Name><Access>2</Access><Name>HomeAuto</Name><Access>2</Access><Name>MeinUsername</Name><Access>2</Access><Name>Phone</Name><Access>2</Access><Name>NAS</Name><Access>2</Access></Rights></SessionInfo>


GetSID() Reading user rights...
GetSID() RightHomeAuto=2
GetSid() Success!
GetDeviceListEx()
ProtocolError - StatusCode: 404
StatusText: Not Found
RequestUrl: [URL]http://192.168.0.40/myfritz/areas/homeauto.lua?startpos=0&cmd=getData&ajax_id=0&sid=275b38f27fc80df8[/URL]
[URL]http://192.168.0.40/myfritz/areas/homeauto.lua?startpos=0&cmd=getData&ajax_id=0&sid=275b38f27fc80df8[/URL] (63 ms)
404 - <HTML><HEAD><TITLE>404 Not Found (ERR_NOT_FOUND)</TITLE></HEAD><BODY><H1>404 Not Found</H1><BR>ERR_NOT_FOUND<HR><B>Webserver</B> Tue, 03 Nov 2020 13:39:54 GMT</BODY></HTML>
 
@pctelco:
Noch einmal ... wenn Du tatsächlich ein aktuelles FRITZ!OS auf der Box hast, wirst Du mit dieser URL definitiv nichts erreichen. Diese (Lua-)Seite gibt es seit 07.2x (bzw. seit 07.19) einfach nicht mehr. Ich will auch niemandem die Fehlersuche "ausreden" ... aber wenn es so offensichtlich ist wie hier, kann man die gesparte Zeit ja vielleicht gewinnbringender (auch für das Programm) einsetzen.
 
Warum fragst Du das überhaupt (nach #2 geschlußfolgert - die Quellen sind ja offenbar nicht öffentlich einsehbar) über das MyFRITZ!-GUI ab? Sind nicht die XML-Daten aus dem AHA-Interface (https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf - Seite 11) bei "getbasicdevicestats" besser zu verarbeiten?
[...]
Das oben verlinkte Interface hat auch den Vorteil, daß es eben dokumentiert ist und AVM wohl selbst bei Änderungen noch einiges unternehmen würde, damit es "stable" bleibt.

Das offizielle Kommando GetDeviceListInfos aus den Docs liefert "nur" alle 120 Sekunden neue Messwerte. Die Abfrage über "areas" gibt, wie Du schon sagst, alle 10 sec neue Messwerte als JSON zurück, also auch sehr gut lesbar Dass es "Areas" in der 07.2x nicht mehr gibt, wusste ich bisher gar nicht - danke für die Info, das erklärt warum es bei pctelco nicht klappt. Ich selber habe noch kein Update auf .21 gemacht. Nix von den Neuerungen da reizt mich...

Ich schmeiße das undokumentierte gleich mal raus und bleibe bei den offiziellen Funktionen. GetDeviceListInfos gibt alles was nötige zurück, wenn aber auch nicht so viel wie der Aufruf über "Areas". Und eine Messung alle 120 Sekunden ist wohl auch ausreichend. Bei 4 Geräten sind das 2880 Datensätze pro Tag... ;) Ich sag bescheid, wenn die neue Version online ist...

Danke Dir für die Aufklärung!

Gruß Sascha
 
@PeterPawn Du magst ja Recht haben, aber dann bin ich der falsche Ansprechpartner, sondern @FritzEnergy als Autor des Tools, da die Abfrage aus dem Tool kommt und nicht von mir.

BTW: Auf der 7490, welche hier abgefragt werden soll, weil meine DECT-Gerätschaften dort angebunden sind, ist FritzOS 7.21.
 
Zuletzt bearbeitet:
@pctelco:
Na ja, nicht wirklich "der falsche Ansprechpartner" ... denn die Frage von @FritzEnergy nach der von Dir verwendeten Version in #5, hast Du ja (bis einschließlich #8) gar nicht beantwortet und da Du ihm ja (eine zu diesem Zeitpunkt bereits - zumindest mit einiger Wahrscheinlichkeit, wenn man Deine Signatur gesehen hat - überflüssige) Fehlerliste zukommen lassen wolltest, obwohl es schlicht "die falsche FRITZ!OS-Version" für dieses Tool (im derzeitigen Zustand) ist, war es (für mich zumindest) schon logisch, da noch einmal den Finger in die Wunde zu legen und damit (hoffentlich) zu verhindern, daß weitere (wenig sinnvolle) Suchen nach dem Problem ausgeführt werden.

@FritzEnergy:
Du kannst zwar "getdevicelistinfos" zum "Durchzählen" verwenden ... aber was sollte Dich davon abhalten, mit dem (oben schon erwähnten) "getbasicdevicestats" die Statistiken für jedes dabei "gefundene" Gerät auch mit deutlich höherer Auflösung abzuholen? Wieviele Meßwerte Du letztlich speichern willst (bei zuvielen Einzelwerten mußt Du eben Mittelwerte bilden oder einen von den vielen auswählen), ist natürlich Deine Sache ... aber in der Annahme, daß das irgendeine SQLite-DB (o.ä.) ist, sollte das ja auch nicht das Problem sein.

Nur die Tatsache, daß AVM da selbst darauf verzichtet, die Werte mit einem Zeitstempel zu versehen (soweit ich weiß), ist einigermaßen "unschön" - aber den kann/muß man sich dann eben selbst hinzufügen und bei 10 Sekunden Auflösung ist das ja noch einigermaßen sinnvoll zu handhaben. Ob man dann allerdings tatsächlich die kompletten 6 * 60 * 24 = 8.640 möglichen Einzelwerte (pro gemessene Größe ja auch noch) für ein einzelnes Gerät speichert oder da doch selbst noch aggregiert, bevor man es speichert, hängt sicherlich auch davon ab, was man damit am Ende machen will.
 
@PeterPawn

Die Frage von @FritzEnergy in Post #5 nach der eingesetzten Firmware hatte ich leider übersehen, aber das Pflegen der Signatur mit den jeweils aktuell hier eingesetzten Versionen, ist leider eines meiner Stiefkinder. Mea culpa!

In aller Regel ist die bei mir eingesetzte Firmware, immer die, welche von AVM aktuell verfügbar ist (release, aber manchmal auch Betas oder inhouse), mit höchstens ein bis zwei Tagen Versatz ab erscheinen.
 
Zuletzt bearbeitet:
Ist ja alles kein Problem (ich hatte das "immer aktuellste" dann sogar falsch interpretiert - wobei es für die aufgeführten Geräte ja nichts neueres als die Release-Versionen gibt) ... es wäre halt nur schade (gewesen), wenn @FritzEnergy da noch weitere "Energy" in eine (aussichtslose) Fehlersuche gesteckt hätte.

Diese etwas "versteckten" Seiten für MyFRITZ! und NAS sind üblicherweise auch nicht im Fokus (auch bei mir nicht), wenn es darum geht, was sich zwischen den einzelnen Versionen geändert hat - daher sind dort von AVM vorgenommene Änderungen üblicherweise auch nur wenig bekannt - zumindest (nach meiner Ansicht) noch deutlich weniger bekannt, als die Änderungen am "richtigen" GUI.
 
  • Like
Reaktionen: pctelco
So, v0.8.1 ist online https://ott-bs.de/fritzenergy.html und sollte nun auch auf aktueller FW funktionieren.

-- Zusammenführung Doppelpost gemäß Boardregeln by stoney

Du kannst zwar "getdevicelistinfos" zum "Durchzählen" verwenden ... aber was sollte Dich davon abhalten, mit dem (oben schon erwähnten) "getbasicdevicestats" die Statistiken für jedes dabei "gefundene" Gerät auch mit deutlich höherer Auflösung abzuholen? Wieviele Meßwerte Du letztlich speichern willst (bei zuvielen Einzelwerten mußt Du eben Mittelwerte bilden oder einen von den vielen auswählen), ist natürlich Deine Sache ... aber in der Annahme, daß das irgendeine SQLite-DB (o.ä.) ist, sollte das ja auch nicht das Problem sein.
Nur die Tatsache, daß AVM da selbst darauf verzichtet, die Werte mit einem Zeitstempel zu versehen (soweit ich weiß), ist einigermaßen "unschön" - aber den kann/muß man sich dann eben selbst hinzufügen und bei 10 Sekunden Auflösung ist das ja noch einigermaßen sinnvoll zu handhaben. Ob man dann allerdings tatsächlich die kompletten 6 * 60 * 24 = 8.640 möglichen Einzelwerte (pro gemessene Größe ja auch noch) für ein einzelnes Gerät speichert oder da doch selbst noch aggregiert, bevor man es speichert, hängt sicherlich auch davon ab, was man damit am Ende machen will.

GetDeviceListInfos gibt zur Zeit alles was ich benötige in einem Rutsch (~400ms) für alle angeschlossenen Geräte. GetBasicDeviceStats() liefert alle 10 Sekunden neue Messwerte? Ist schon etwas her, dass ich mich mit der API im Detail beschäftigt hab... Ich will nur vermeiden zu viel zu pollen, und die DB (ja, SQLite) zu "blocken" ohne einen Mehrwert davon zu haben. Alle 2 Minuten erscheint mir derzeit aktuell genug. Die Darstellung und Geschwindigkeit im Chart wird nicht einfacher/besser bei zig tausend Datensätzen ;)
Was mit den ganzen Werten zu machen ist, wird sich zeigen - ich weiß dank FritzEnergy zumindest nun, dass mein neuer Samsung Kühlschrank deutlich energiesparender ist, als der alte Bauknecht ;)
 
Zuletzt bearbeitet von einem Moderator:
danke für die Info zur Namesgebung.... hab das in der ct auch gelesen, dachte mir aber, ich lass es drauf ankommen... Ist ja nicht unüblich seinen Markennamen vehement zu schützen heutzutage... Ich werde das bei Gelegenheit ändern...

Hallo, Sascha!

Es geht bei AVM gar nicht so sehr um Markenrechte, sondern um die Vermeidung unnötiger Supportanfragen. Kann ich auch irgendwie nachvollziehen: Stell Dir vor, Dein Addendum ist bei 100.000 Fritzbox-Benutzern im Einsatz, und es gibt vereinzelt Probleme. Da fragt man bei AVM an, in der Annahme, "FritzEnergy" wäre ein AVM-Produkt. In Berlin kann man nichts dazu sagen, weil sie das Progrämmchen nicht supporten, und der Benutzer ist unzufrieden, weil sein Problem nicht gelöst wurde. Das wirft kein gutes Bild auf die wohl nett gemeinte Freeware "FritzEnergy" - und auf AVM auch nicht.
 
Hey Hendrik,

ja, da geb ich Dir Recht Wie gesagt, ich werde das sehr bald ändern... heute war die erste öffentliche Bekanntmachung des Tools und es laufen wie erwartet schon einige Bug-Reports ein... Die eigene Maschine ist immer so viel "toleranter" als all die anderen ;) Aber genau das hab ich mir erhofft...

Vollzitat gemäß Boardregeln entfernt by stoney
 
Zuletzt bearbeitet von einem Moderator:
Na dann: bonne chance!

Immerhin sieht AVM das wohl relativ tolerant: Sie bestehen nicht auf Markenrechten, sondern suchen offenbar in solchen Fällen wie Deinem die direkte - oder wie AVM sagt: die informelle - Ansprache. Aber um es gar nicht zu so einer Ansprache kommen zu lassen, könntest Du die Namensänderung proaktiv vornehmen. Vielleicht genügt nur eine kleine Modifikation von "Fritz"? Ich erinnere hier an "Freetz", was ja nun schon seit Jahren bekannt ist und immer noch mit diesem, von "Fritz" wirklich nur schwer verwechselbaren und von AVM offensichtlich nicht beanstandeten Namen herumläuft. Wie wäre es z.B. mit "FratzEnergy". Oder mit einem ganz anderen Vornamen? "HansEnergy" oder WillyEnergy"? Oder eine komplette Verschachtelung: "FrEnergitz"?
 
@FritzEnergy

Die 0.8.1 funktioniert jetzt, wird bei mir aber wohl nicht auf Dauer im Einsatz bleiben, weil ich die Funktionsweise wohl falsch verstanden hatte.
Es werden also die Werte nur entsprechend dem einzustellenden Intervall abgefragt und in der Datenbank geschrieben, also quasi online.
Erhofft hatte ich, dass eine Historie der Daten, wie ich sie mir auch unter SmartHome auf der Box einsehen kann abgeholt und gespeichert würden.
Da ich mich bislang noch nicht an eine VM mit Windows 10 für meine Diskstation heran getraut habe, kann ich FritzEnergie aktuell nicht permanent die Daten abfragen lassen und hatte es nur auf meinem Surface Book 2 getestet.

Trotzdem herzlichen Dank für das bereit stellen!
 
Vorschläge - find ich gut :) FreetzEnergy gefällt mir... Aber ob es mit dem Autor dann Clinsch gibt... Ich glaube ich entscheide mich für fbEnergyLog.

Vollzitat gemäß Boardregeln entfernt by stoney

@pctelco
danke für die Rückmeldung.
Ja, ein NAS auf dem das Tool 24/7 läuft, ist schon sinnvoll. Kann die FB nicht die Historie von Haus aus exportieren?
 
Zuletzt bearbeitet von einem Moderator:
  • Like
Reaktionen: RealHendrik
Ich denke als CSV ist sie exportierbar, jedoch fehlt mir dann immer noch das Diagram und automatisieren geht wohl auch nicht. Vielleicht bekomme ich es ja mal hin, eine virtuelle Maschine mit Windows 10 auf meinem NAS aufzusetzen, dann wäre mein Problem gelöst.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.