Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin für die Grünbeck Softliq brauch eure Hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Holoman5
    antwortet
    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))
    Zuletzt geändert von bmx; 14.05.2020, 08:47.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    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))

    Einen Kommentar schreiben:


  • Holoman5
    antwortet
    Sorry aber wo soll ich den String hinzufügen in meiner Logic?

    Die Body Ausgabe bekomm ich mit Postman (APP) wenn ich die Anlage auslese.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Wenn Du den Body einem String (im Beispiel s) zuweist:
    Code:
    s = '<data><code>ok</code><D_Y_1>30</D_Y_1></data>'
    wert = s[s.find('<D_Y_1>')+7:s.find('</D_Y_1>')]
    wert enthält dann '30'
    Zuletzt geändert von bmx; 13.05.2020, 16:06.

    Einen Kommentar schreiben:


  • Holoman5
    antwortet
    Ah ok, danke für die Rückmeldung.

    Es kommt immer die selbe Antwort bis auf die Zahl natürlich!

    Hättest du mir ein Tipp wo ich nachkucken kann wegen dem String Handling in der Logic?

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    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.
    Zuletzt geändert von Msinn; 13.05.2020, 14:28.

    Einen Kommentar schreiben:


  • Holoman5
    antwortet
    das hier kommt zurück im Body:

    <data><code>ok</code>
    <D_Y_1>30</D_Y_1></data>

    Einen Kommentar schreiben:


  • Holoman5
    antwortet
    Ich versuche grad über eine Logic die Grünbeck Anlage auszulesen über requests.
    Meine Logik:

    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:
    sh.Wasserverbrauch.verbrauch_gestern(15)


    er setzt den Wert auf 15 ist schon mal super. Aber wie bekomme ich den Respons Wert D_Y_1~ auf das Item geschrieben?

    Sorry ich hab keine Ahnung von Python!

    Einen Kommentar schreiben:


  • Holoman5
    hat ein Thema erstellt Plugin für die Grünbeck Softliq brauch eure Hilfe.

    Plugin für die Grünbeck Softliq brauch eure Hilfe

    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!



    Angehängte Dateien
Lädt...
X