Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Danke sowas wie den Executor ist sehr hilfreich, Danke! ich hab jetzt das Ixml installiert, kannst du mir ein Beispiel nennen wie ich in der Logic weiter komm zum analysieren?
Code:
import requests
import lxml
payload = {'id': '961', 'show': 'D_Y_1~'}
r = requests.get('http://100.100.0.31/mux_http/', params=payload)
if r.status_code == 200:
# r mit lxml analysieren und Werte festsellen
print("Analysiere...")
wert = r[r.find('<D_Y_1>')+7:r.find('</D_Y_1>')]
sh.Wasserverbrauch.verbrauch_gestern(float(wert))
Laut Anleitung s.o. kannst Du alle Parameter die Dich interessieren mit einem | verketten. Als Ergebnis bekommst Du ein xml wie schon erkannt.
Es gibt ein Python Package wie lxml mit dem kannst Du die zurückgemeldeten Daten parsen (https://lxml.de) Alternativ geht auch Beautifulsoup4
Als Ansatz kannst Du damit zunächst in einer Logik arbeiten. Es ist schwierig ohne Python Kenntnisse direkt fehlerfrei Logiken zu schreiben. Daher kannst Du Dir mal das Plugin Executor anschalten über die Admin Gui. Dort kannst Du im zweiten Tab Python Code testen.
Dort funktioniert sowas wie print("Hallo SmartHomeNG").
Entsprechend kannst Du dort auch
Code:
import requests
payload = {'id': '961', 'show': 'D_Y_1~'}
r = requests.get('http://100.100.0.31/mux_http/', params=payload)
if r.status_code == 200:
# r mit lxml analysieren und Werte festsellen
print("Analysiere...")
wert = r[r.find('<D_Y_1>')+7:r.find('</D_Y_1>')]
sh.Wasserverbrauch.verbrauch_gestern(float(wert))
Du bekommst von dem Device ein XML Dokument zurück. Das musst Du parsen. Dazu gibt es Bibliotheken für Python. Das ist aber eher nichts für jemand der sich nicht in Python auskennt.
Falls Du immer nur die Antwort bekommst, wie Du sie beschrieben hast, kannst Du mit reinem String Handling an die Sache rangehen. Da das Device jedoch eine XML Antwork liefert, wird sich der Inhalt der Response vermutlich auch ändern. Dann müsstest Du das XML sauber parsen.
Hi erstmal an alle die das lesen, ich habe mein SHNG soweit mit allem in meine Haus erfolgreich mit eurer Hilfe verbunden (KNX, OW, VBUS...) und werte alle Daten super in der SmartVISU aus.
Nur die Wasserenthärtungsanlage macht mir seit paar Wochen graue Haare, ich blicks einfach nicht wie ich POST Requests an sie absetze und die Response in ein Item schreiben kann. Ich habe ein Tipp bekommen, es so zu machen wie es im Tankerkoenig plugin in Zeile 66 ist, ne simple url aufrufen. Keine Chance ich gib auf.
So jetzt meine Frage, würde vlt jemand ein Plugin für mich schreiben, wär sogar bereit was zu zahlen (spenden)!.
Anbei die freigegebene Doku von Grünbeck, Ihr müsst auch nicht alle Datenpunkte ein pflegen, das kann ich dann schon übernehmen. Nur z.B. den (D_Y_1~) ist der Verbrauch gestern.
Wär cool wenn sich jemand melden würde!
PS: sorry ich hoffe es ist nicht illegal für eure Arbeit Geld anzubieten!
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: