Ankündigung

Einklappen
Keine Ankündigung bisher.

Waterkotte EcoTouch Plugin

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

    Waterkotte EcoTouch Plugin

    Hallo,

    ich habe mir auf die Schnelle ein Plugin zur Ansteuerung der Wärmepumpen der Waterkotte Ecotouch Reihe gebastelt.
    Bitte habt Rücksicht mit mir, ich habe noch nie etwas mit Python gemacht, d.h. der Code könnte sicherlich besser sein und ist momentan in einem "quick and dirty" Status, d.h. auch Prüfung auf Rückgabewerte fehlt noch.

    Ich dachte mir, vielleicht will es ja trotzdem mal jemand ausprobieren.

    Das Plugin ist grundsätzlich abgeschaut vom Kostal Plugin. Es schickt einen HTTP-Request zum Login an die Wärmepumpe. Username/Passwort sind bei Waterkotte fix und können nicht geändert werden, deshalb hardcoded im Plugin.

    Der Request liefert einen Cookie zurück, der für künftige Anfragen im Header mitgeschickt wird. Dafür wurde ein Abklatsch der fetch_url() Routine aus lib/tools.py erstellt, der einfach das "Cookie: ####"-Feld im http-Request mitschickt.

    Die auszulesenden Werte und zugehörige Tags sind momentan in Form einer Liste im Plugin realisiert, es werden immer alle Werte zyklisch aktualisiert. Das könnte man natürlich dahingehend anpassen, dass nur die Werte gelesen werden, für die auch Items angelegt sind.
    Die Bedeutung der Tags und jeweilige Funktion habe ich aus dem Waterkotte-Menü (dessen Javascript-Dateien sich man per FTP von der Wärmepumpe ziehen kann) herausgelesen.
    Die im Plugin vorhandene Liste ist unvollständig, es lassen sich noch viel mehr Daten (z.B. Betriebsstunden und komplette 24h-Plots der Temperaturkurven) abrufen, diese folgen evtl. später.

    Das Plugin muss nach /plugins/waterkotte entpackt werden.

    Einrichtung in plugins.conf:
    Code:
    [waterkotte]
        class_name = Waterkotte
        class_path = plugins.waterkotte
        ip = 192.168.1.5
        cycle = 300
    IP ist natürlich durch die jeweils echte IP zu ersetzen, Cycle ist das Refresh-Intervall in Sekunden.

    Die Verwendung der Items funktioniert folgendermaßen:
    Code:
    [[temp]]
    [[[hk]]]
        type = num
        visu = yes
        waterkotte = temp_hk
    [[[gefordert_hk]]]
        type = num
        visu = yes
        waterkotte = temp_gefordert_hk
    Ich werde demnächst mit Sicherheit noch einiges am Plugin erweitern, aber falls es jemand ausprobieren möchte -> bitteschön.

    Gruß,
    Thomas
    Angehängte Dateien

    #2
    Hallo Thomas,

    es freut mich immer ungemein, wenn Benutzer einfach so ein Plugin erstellen.
    Danke dafür.

    Wenn es aus Deiner Sicht ausgereift ist, dann können wir es ja gerne in github integrieren.

    Bis bald

    Marcus

    Kommentar


      #3
      Hallo Marcus,

      vielen Dank für Deine Rückmeldung. Ansonsten scheint sich das Interesse ja eher in Grenzen zu halten ;-)

      Ich habe das Plugin jetzt seit ca. drei Wochen im Dauereinsatz laufen, bisher ohne Code-Bereinigung ;-)
      Falls ein http-request in die Hose geht, kann mit dem Return-Wert "None" in der späteren Verarbeitung nix angefangen werden und so passiert es schlimmstenfalls, dass die Werte nicht aktualisiert werden. Das könnte man natürlich gezielt auswerten und schöner behandeln.

      Ansonsten läuft das Plugin bisher ohne Ausfälle oder Auffälligkeiten.

      "Bei Gelegenheit" (beim Hausbau ist das relativ, also eventuell in nem halben Jahr dann...) kann ich mir den Code nochmal ansehen und bereinigen. Solange nicht mehr Interesse besteht ist der Status erst mal "works for me".

      Gruß,
      Thomas

      Kommentar


        #4
        Endlich kann ich mal ein paar Werte aus der Ferne von meiner neuen EcoTouch auslesen. Das integrierte Webinterface ist ja ein Witz.

        Mangels Linux-Kenntnisse und derzeit viel zu wenig Zeit kann ich mir leider keinen SmartHomy.py-Server aufsetzen.

        Ich würde die Werte aber gerne irgendwie über Windows abfragen können. Vielleicht auch mittels einer kleinen HTML-Seite?


        Kannst du mir da etwas weiterhelfen? Durch Eingabe der Werte in die Browser-Zeile bekomme ich ja zumindest schon mal die Werte angezeigt

        Kommentar


          #5
          Hallo,

          erst mal Hut ab vor Deiner Arbeit! Ich würde das Plugin auch gerne mal ausprobieren, finde aber leider nur die beiden Screenshots als Anhänge.

          Bietest Du das Plugin noch an?

          Viele Grüße

          Kommentar


            #6
            Hallo,

            auch ich wäre an dem Plugin interessiert. Bietest du das noch an?

            MFG
            Tom

            Kommentar


              #7
              Hallo,

              ich hätte auch noch Interesse an dem Plugin, falls es das noch gibt.

              Gruß
              Marcus

              Kommentar


                #8
                Entschuldigung für die verspätete Rückmeldung, ich war hier eine Zeit lang nicht aktiv und habe offensichtlich keine Benachrichtigungen erhalten.

                Im Anhang nochmals das Plugin samt Config-Files (Auszug).

                Das Plugin selber muss unter smarthome nach /plugin/waterkotte kopiert werden und muss nicht angefasst werden.

                Unter /etc/plugin.conf wird das Plugin aktiviert, die IP-Adresse der WP eingestellt sowie der Update-Zyklus. Der steht bei mir momentan auf recht kurzen 60 Sekunden - das bedeutet, dass damit auch jede Minute eine Menge Readings in die smarthome-Datenbank kommen. Das kann man also durchaus auf deutlich weniger, z.B. 10 Minuten (=Wert 600) einstellen.

                Unter /etc/logic liegt ein kleines Zusatzskript (wp_oh.py), das die Umrechnung der Betriebsstunden vom IEEE-irgendwas-Datenformat in einen für smarthome brauchbaren Wert vornimmt. Kannst man sich sparen, wenn man die Funktion nicht nutzen will. Geht evtl. auch eleganter, aber ich bin mit Python nicht 100% firm und hab das halt so vor mich hinimprovisiert.

                Aktiviert wird das Skript in /etc/logic.conf, die Items müssen natürlich dazu passen.

                Aus diesem Grund hab ich auch mal meine Gesamt-Items für die WP (/items/wp.conf) beigefügt, als Referenz.

                Viel Spaß damit (natürlich auf eigene Verantwortung)!

                P.S.: Gegen Geld- und/oder Sachspenden setze ich mich natürlich auch nicht ernsthaft zur Wehr ;-)

                Angehängte Dateien
                Zuletzt geändert von blobo; 06.10.2015, 17:48.

                Kommentar


                  #9
                  Also, für Foto und Datei anhängen gleichzeitig bin ich wohl zu blöd. Plugin gibts jetzt (mehrfach) im vorherigen Beitrag und hier ein Foto, wie das bei mir aktuell in Smartvisu aussieht:

                  wp_screen.png

                  Kommentar


                    #10
                    Hi,

                    irgendwie scheint bei mir der Download nicht zu funktionieren.

                    MFG
                    Tom

                    Kommentar


                      #11
                      Hallo miteinander,

                      nachdem das Plugin bei mir nun seit zwei Jahren im Dauerbetrieb problemlos funktioniert, würde ich es gerne zu smarthome NG beisteuern.

                      Ich bin zwar schon ewig bei github angemeldet, habe aber die letzten zehn Jahre nur mit SVN gearbeitet. Wie läuft das grundsätzlich ab?
                      Branch vom Master ziehen, das Plugin einpflegen und pull request erstellen?

                      Review schadet sicherlich nicht, da das mein erstes Python-Projekt war und ich's nie wirklich gelernt habe, sondern mir die Syntax abgeschaut und ausprobiert habe :-)
                      Wie gesagt, funktioniert bei mir im Dauerbetrieb und ich würde den Code gerne der Community zur Verfügung stellen.

                      Gruß,
                      Thomas

                      Kommentar


                        #12
                        blobo eher vom DEV und dann dort als PR.

                        Toll wäre, wenn Du es vorher noch SmartPlugin-fähig machst... Das multiinstance-handling kannst Du ja weglassen, macht in dem Fall wohl sowieso keinen Sinn
                        https://github.com/smarthomeNG/smart...ki/SmartPlugin

                        Kommentar


                          #13
                          Zitat von psilo Beitrag anzeigen
                          Toll wäre, wenn Du es vorher noch SmartPlugin-fähig machst...
                          Danke für die Antwort. Das SmartPlugin-Thema muss ich mir erst mal ansehen. Muss mich eh mal tiefergehend mit smarthomeNG beschäftigen, nachdem meine Visualisierung noch unter einer verfrickelten smartVISU 2.7 und smarthome.py 1.1 läuft.

                          Schau ich mir demnächst mal an.

                          Kommentar


                            #14
                            So. Aus "demnächst" wurden dann doch 5 Jahre ;-)

                            Ich habe nun mittlerweile auf SmartHomeNG 1.8.2 und smartVISU 3.1 aktualisiert und in diesem Zusammenhang das Plugin auch grundlegend in ein SmartPlugin umgewandelt, also zugehörige .yaml-Datei erstellt und den Code angepasst.

                            Weiterhin gibt es ein paar kleinere Anpassungen - Nutzername/Passwort können jetzt als Plugin-Parameter übergeben werden, da dies bei Waterkotte mit neuerer Firmware nun endlich nicht mehr hardcoded ist.

                            Bei neuerer Waterkotte-Firmware wird scheinbar leider bei jedem Wärmepumpen-Neustart das Flag D634 zurückgesetzt, das umschaltet, ob die Gesamt- oder nur Jahresbetriebsstunden ausgegeben werden. Um den Datensprung am 1.1. oder bei einem Neustart zu vermeiden prüft das Plugin nun bei jedem Durchlauf, ob das Flag gesetzt ist. Falls nicht, wird es gesetzt und ein Zyklus ausgesetzt, um dann im nächsten Durchlauf "richtige" Daten zu bekommen.

                            Das Plugin wurde in der Zwischenzeit um weitere Tags erweitert. Es können z.B. auch Betriebsstunden ausgelesen werden - diese Werte sind allerdings nach IEEE754 kodiert. Nachdem ich das Plugin "dumm" und ein 1:1 Mapping zwischen Plugin-Item und Regler-Tag beibehalten wollte, reche ich die Stunden derzeit mittels Logik um, ebenfalls als Referenz angehängt.

                            Ich würde das Plugin gerne zu SmartHomeNG beisteuern, und es läuft bei mir seit 2014 robust im Dauereinsatz. Wäre natürlich gut, wenn sich hier jemand zum Testen findet.

                            Gruß,
                            Thomas
                            Angehängte Dateien

                            Kommentar

                            Lädt...
                            X