Hallo,
ich habe das AHA-Interface im avm-plugin modifiziert und diverse Smarthome-Geräte sowie die passenden structs eingefügt. Das WebIF ist noch nicht ganz fertig.
Erstmal als Entwurf / Draft zum testen. Es ist hier zu finden.
Es ist sicher noch einiges zu tun, wie Reduzierung auf eine lib zum parsen der XML, etc. Nichtsdestotrotz funktioniert es bereits und es kann getestet werden.
"Meine" avm_smarthome Plugin ist somit nicht mehr nötig, da die Funktionen integriert wurden.
Beste Grüße
Michael
Ankündigung
Einklappen
Keine Ankündigung bisher.
AVM Plugin
Einklappen
X
-
Zitat von Sisamiwe Beitrag anzeigenWie kann ich das am besten in ein dict wandeln?
Falls ein Plugin noch kein XML nutzt, würde ich das Python Package xmltodict empfehlen. Es ist simple in der Handhabung und kann das was man normalerweise braucht.
Da das AVM Plugin schon XML nutzt:
Code:from xml.dom import minidom
Einen Kommentar schreiben:
-
psilo
Kurze Frage:
Ich bekomme ein XML als repsonse:
Code:<devicelist version="1" fwversion="7.27"><device identifier="11963 0521424" id="19" functionbitmask="320" fwversion="03.54" manufacturer="AVM" productname="Comet DECT"><present>1</present><txbusy>0</txbusy><name>OG Bad</name><battery>1</battery><batterylow>1</batterylow><temperature><celsius>235</celsius><offset>0</offset></temperature><hkr><tist>47</tist><tsoll>38</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><windowopenactiv>0</windowopenactiv><windowopenactiveendtime>0</windowopenactiveendtime><boostactive>0</boostactive><boostactiveendtime>0</boostactiveendtime><batterylow>1</batterylow><battery>1</battery><nextchange><endperiod>0</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device><device identifier="11960 1033848" id="20000" functionbitmask="320" fwversion="03.54" manufacturer="AVM" productname="Comet DECT"><present>1</present><txbusy>0</txbusy><name>UG Bad</name><battery>80</battery><batterylow>0</batterylow><temperature><celsius>210</celsius><offset>5</offset></temperature><hkr><tist>42</tist><tsoll>26</tsoll><absenk>28</absenk><komfort>40</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><windowopenactiv>0</windowopenactiv><windowopenactiveendtime>0</windowopenactiveendtime><boostactive>0</boostactive><boostactiveendtime>0</boostactiveendtime><batterylow>0</batterylow><battery>80</battery><nextchange><endperiod>0</endperiod><tchange>40</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device><device identifier="11960 1001624" id="20001" functionbitmask="320" fwversion="03.54" manufacturer="AVM" productname="Comet DECT"><present>1</present><txbusy>0</txbusy><name>UG Gästezimmer</name><battery>80</battery><batterylow>0</batterylow><temperature><celsius>195</celsius><offset>0</offset></temperature><hkr><tist>39</tist><tsoll>26</tsoll><absenk>28</absenk><komfort>40</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><windowopenactiv>0</windowopenactiv><windowopenactiveendtime>0</windowopenactiveendtime><boostactive>0</boostactive><boostactiveendtime>0</boostactiveendtime><batterylow>0</batterylow><battery>80</battery><nextchange><endperiod>0</endperiod><tchange>40</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device><device identifier="11960 1033080" id="20002" functionbitmask="320" fwversion="03.54" manufacturer="AVM" productname="Comet DECT"><present>1</present><txbusy>0</txbusy><name>UG Flur</name><battery>70</battery><batterylow>0</batterylow><temperature><celsius>195</celsius><offset>0</offset></temperature><hkr><tist>39</tist><tsoll>26</tsoll><absenk>24</absenk><komfort>40</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><windowopenactiv>0</windowopenactiv><windowopenactiveendtime>0</windowopenactiveendtime><boostactive>0</boostactive><boostactiveendtime>0</boostactiveendtime><batterylow>0</batterylow><battery>70</battery><nextchange><endperiod>0</endperiod><tchange>40</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device></devicelist>
Wie kann ich das am besten in ein dict wandeln?
Einen Kommentar schreiben:
-
Soll das AVM Plugin selbstständig, d.h. ohne Verwendungen anderer libs bleiben, oder kann diese externe lib auch genutzt werden?
Einen Kommentar schreiben:
-
psilo bmx aschwith
Hallo,
nachdem wir gestern bei github kurz über die Weiterentwicklung des Plugins diskutiert haben, möchte ich das gern hier fortsetzen.
Ich kann gern versuchen, das Plugin so zu modifizieren, dass alle AVM smarthome devices über das AHA-Interface angesprochen werden. Ggf brauche ich dann Eure Hilfe.
Eine Frage dazu: Es gibt die python-lib "pyfritzhome". Damit wäre das (denke ich) relativ gut umsetzbar. Meine Plugin dazu nutzt das auch.
Wie seht ihr das? Soll das AVM Plugin selbstständig, d.h. ohne Verwendungen anderer libs bleiben, oder kann diese externe lib auch genutzt werden?
Michael
Einen Kommentar schreiben:
-
Hi,
ja, wie auch immer. Mein Effekt war: ich habe die Fritzbox geupdated (wasn deutsch!). Ab dann gab es den Fehler. Jahrelang davor war Alles iO.
Ich werde demnächst versuchen auf Fritz OS 7.26 zurück zu gehen.
Viele Grüße,
Jürgen
Einen Kommentar schreiben:
-
Msinn hä? Der zitierte Kommentar ging um den Abruf der Anruferliste von der Fritzbox. Und das macht die SmartVisu über eine PHP Implementierung am Webserver. Siehe der Link. Ich nutze beides. Für die Anruferliste dieses Skript der SV UND für alles mögliche andere das AVM Plugin (aber das eben nicht für die Anzeige der Anruferliste in der SV). Beide können wunderbar via SSL und nicht verifizierten Zertifikaten mit der Box sprechen.
Einen Kommentar schreiben:
-
Aber auch dann lässt der Browser kein Security Downgrade zu.
Wie kommt bei Dir denn PHP ins Spiel? Das würde ka bedeuten, dass der Browser nciht mit der Fritzbox spricht, sondern der Webserver. Auf dem Client läuft ja kein PHP.
Einen Kommentar schreiben:
-
Msinn ich dachte es geht um die via SV direkt abgerufenen Daten von der Fritzbox.. Das ist ein PHP Skript, dass direkt mit der Box verbindet. Kein Umweg via Websocket über SHNG.
Also in meinem Fall den hier: https://github.com/Martin-Gleiss/sma...box_TR-064.php
aber die Anrufliste in der VISU wird doch nicht über das plugin geregelt, das ist doch in "smartvisu" konfiguriert.
das wird bei mir zurzeit in der VISU auch nicht mehr angezeigt, egal was ich dort eintrage.Zuletzt geändert von psilo; 26.07.2021, 17:19.
Einen Kommentar schreiben:
-
Du täuschst Dich. Der Browser prüft die Sicherheit der Websocket Verbindung.
Einen Kommentar schreiben:
-
Bei Browsern ist das nicht ganz so einfach.
Einen Kommentar schreiben:
-
Ich hab ja auch nicht behauptet, dass das Plugin etwas mit smartVISU zu tun hat, sondern lediglich auf die Problematik mit der verschlüsselten Kommunikation hingewiesen.
Das Plugin kann die fehlenden Zertifikate ignorieren, was ich nicht wusste. Insofern war der Hinweis nicht zielführend. Bei Browsern ist das nicht ganz so einfach. Deshalb empfehle ich für smartVISU die unverschlüsselte Kommunikation. Das ist hier aber off topic.
Gruß
Wolfram
Einen Kommentar schreiben:
-
das plugin hat doch wenig mit der VISU zu tun.
mit dem plugin habe ich keine Probleme und ich habe eine älter 7490; ich nutze den automatischen User der Fritzbox: fritznnn
mit einem selbst angelegten geht das bei mir leider auch nicht.
aber die Anrufliste in der VISU wird doch nicht über das plugin geregelt, das ist doch in "smartvisu" konfiguriert.
das wird bei mir zurzeit in der VISU auch nicht mehr angezeigt, egal was ich dort eintrage.
Einen Kommentar schreiben:
Einen Kommentar schreiben: