Modbus TCP mit Waterkotte

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • loxvip
    Extension Master
    • 12.07.2016
    • 101

    #31
    Die PHP Scripte können bereits genutzt werden. Ich habe das bei mir auf dem Loxberry unter /opt/loxberry/webfrontend/html abgelegt. Danach config.php anpassen und per http://loxberry/ecotouch2lox-php/ aufrufen. Schreiben kann man z.B. per HTTP Befehl: http://loxberry/ecotouch2lox-php/?wr...1&t1=A95&v1=30 wobei t1=TAG und v1=Wert. In diesem Beispiel regele ich darüber die maximale Vorlauftemperatur der Wärmepumpe (kommt aus dem Intelligenten Temperaturregler). Betriebsmodi zeige ich per Statusbaustein an.

    uli die Tags habe ich z.T. noch erweitern müssen bzw. überarbeitet. schau bitte nochmal drüber. auch wegen Anzeigewerten (°C etc.). Kann man den Templates eigentlich auch Validierungsregeln mitgeben?

    Kommentar


    • uli
      uli kommentierte
      Kommentar bearbeiten
      Das mit der Abfrage der deaktivierten Dienste wäre natürlich klasse.
      Was meinst Du mit Webconsole? Die normale Seite bei Aufruf der IP oder den Aufruf über /cgi/readTags?

    • loxvip
      loxvip kommentierte
      Kommentar bearbeiten
      Den Aufruf über die IP der WP. Wenn man sich dann den Quellcode anschaut sieht man gut alle Tags und die Beschreibung hat man ja im Frontend.

    • kofi1990
      kofi1990 kommentierte
      Kommentar bearbeiten
      Es ist zwar schon etwas her, aber was nutzt du jetzt für die Vorlauftemperatur? A95 oder A32?
  • uli
    LoxBus Spammer
    • 30.08.2015
    • 225

    #32
    Ja, Validierungen kann man mit definieren. In der Datei ist für die jeweilige Zeile dann MinVal und Maxval anzupassen.

    Kommentar


    • loxvip
      loxvip kommentierte
      Kommentar bearbeiten
      Für Druck und Temperaturen sowie Stati (Betriebsmodus 0,1,2) macht das ja durchaus Sinn oder?

    • uli
      uli kommentierte
      Kommentar bearbeiten
      Weiß ich nicht. Wenn da z.B. ein anderer Wert als 0,1 oder 2 geliefert wird, muss ja eigentlich zwangsläufig irgendwo anders noch ein Fehler liegen.

      Nicht dass man sich durch die Validierung den Fehler dann verschleiert. Würde es denke ich eher weglassen.
  • uli
    LoxBus Spammer
    • 30.08.2015
    • 225

    #33
    Habe das Skript nun erfolgreich am Laufen. Die Ausführung erfolgt richtig flott! Vielen Dank dafür...

    Lediglich beim ersten Start im Browser erhielt ich eine Fehlermeldung, dass die "ecotouch2lox-php-token.txt" in diesem Verzeichnis nicht erstellt werden kann. Diese war danach aber weg.
    Als nächstes werde ich mich mal ans Schreiben machen inklusive passendem Template.

    Eine blöde Frage: Haben wir in der Vorlage nun Parameter drin, die man nur schreiben und nicht lesen kann?

    Kommentar

    • pioneersteffen
      Smart Home'r
      • 10.12.2016
      • 57

      #34
      Hallo Zusammen,

      ich habe seit heute das von euch erstelle PHP Script auf meinen LoxBerry laufen und auch in Loxone über die virtuellen Eingänge schon eingebunden, funktioniert auf dem ersten Blick schon super! Vielen Dank für eure Arbeit die ihr reingesteckt habt!

      Jetzt würde ich gern die auch folgende Sache per Miniserver an die Wärmepumpe vorgeben:

      Vorlauftemperatur
      Heizkreispumpe ein bzw. ausschalten
      Handmodus Heizen ein bzw. ausschalten
      Handmodus Warmwasser ein bzw. ausschalten
      Warmwassertemperatur vorgeben

      Habt ihr dafür schon eine Idee bzw. könnt ihr mir damit weiterhelfen, wie das jeweils gesendet werden müsste?

      Würde mich im Gegenzug dann auch ran machen und die Vorlage für Loxone (Ausgänge) erstellen.

      Vielen Dank für die Hilfe.

      Viele Grüße
      Steffen

      Kommentar


      • uli
        uli kommentierte
        Kommentar bearbeiten
        Hallo Steffen,

        das wäre klasse, ich komme momentan nicht dazu. Schau mal hier, da kannst Du alle Werte mit Attribut "Write" übernehmen: https://github.com/openhab/openhab1-...t-Pump-Binding

        Am besten in der Loxone Config eingeben, in dem Fall mit Validierung und Langname unter Beschreibung, dann kannst Du die Datei einfach über "Als Vorlage speichern" exportieren.
    • uli
      LoxBus Spammer
      • 30.08.2015
      • 225

      #35
      Hallo Steffen,

      bist Du schon weiter mit der Vorlage für die Ausgänge? Ich wollte diese jetzt auch mal einbinden und muss mir ja nicht die Arbeit machen, wenn Du es schon fertig hast.

      Viele Grüße

      Kommentar


      • pioneersteffen
        pioneersteffen kommentierte
        Kommentar bearbeiten
        Hi Uli,

        Ich war leider die letzten Wochen beruflich viel unterwegs und bin nicht dazu gekommen.
        Zwischen den Feiertagen geht’s endlich weiter!

        Viele Grüße
        Steffen
    • pioneersteffen
      Smart Home'r
      • 10.12.2016
      • 57

      #36
      Hallo uli,
      hallo loxvip ,

      ich habe es endlich geschafft die EcoTouchClass Datei mit allen "Write" Tags zu erweitern. Überall wo ich ich etwas geändert habe steht "(Write)" im Titelkommentar. Ich habe die Datei angehängt. Die Originaldatei konnte ich leider wegen der Dateinamenbeschränkung nicht hier hochladen.

      Das Schreiben funktioniert grundsätzlich aber scheinbar wird der Wert nicht richtig übertragen:

      Ein Beispiel:

      Über http://loxberry/ecotouch2lox-php/?wr...1&t1=I263&v1=8 wollte ich die Vorlauftemperatur anheben. Nach Eingabe kommt die Rückmeldung: "#I263 S_OK 192 0" und an der Wärmepumpe ist der Temperaturoffset maximal negativ.

      Das ganze habe ich auch mit der Warmwassertemperatur probiert, gleiches verhalten, der Wert scheint nicht richtig geschrieben zu werden und statt 40°C habe ich danach 10°C, dass scheint der negative Anschlag zu sein.

      Habt ihr eine Idee woran das liegen kann? Ich finde die Ursache bisher einfach nicht.

      Vielen Dank für die Hilfe.

      Viele Grüße
      Steffen

      Angehängte Dateien

      Kommentar


      • pioneersteffen
        pioneersteffen kommentierte
        Kommentar bearbeiten
        Habe den Fehler gefunden, der 'divisor' hat gefehlt. =))

        Wie macht ihr jetzt die Regelung der Wärmepumpe? Was wollt bzw. was habt ihr von Loxone an die Wärmepumpe gesendet?
    • uli
      LoxBus Spammer
      • 30.08.2015
      • 225

      #37
      Danke für Deine Mühe!

      Was heißt der Divisor hat gefehlt? Der übergebene Wert war falsch oder in Deiner Datei?

      Ich habe bisher noch keine Werte zum Schreiben eingerichtet. Am meisten interessiert mich erst mal die Warmwassertemperatur zur Regulierung in Nicht-Last-Zeiten und zur einmaligen Warmwasseranforderung z.B. für die Badewanne. Eventuell ist auch die Naturkühlungstemperatur im Sommer von Interesse.

      Hast Du eigentlich alle schreibenden Werte in Deiner Config und könntest diese ev. noch exportieren?

      Kommentar

      • pioneersteffen
        Smart Home'r
        • 10.12.2016
        • 57

        #38
        Hallo Uli,

        in der EcoTouchClass Datei muss nach meiner Erkenntnis bei allen Write Parameter der “Divisor” definiert sein. Ist das nicht der Fall, wird eine “Null” geschrieben.
        Ich korrigiere das hoffentlich heute noch und teste es an ein paar Werten.
        Wenn ihr mich für Github freischaltet, würde ich es auch direkt hochladen und kommentieren.

        Die Loxone Ausgänge lege ich dann auch spätestens morgen noch vollständig an.

        Viele Grüße
        Steffen

        Kommentar

        • pioneersteffen
          Smart Home'r
          • 10.12.2016
          • 57

          #39
          Hallo Zusammen,

          so habe jetzt die Sachen nach besten Wissen ausgiebig getestet und seit 2 Tagen ohne Probleme am Laufen. Im Anhang mein aktueller Arbeitsstand.

          Bei Fragen bitte melden.

          Viele Grüße
          Steffen
          Angehängte Dateien

          Kommentar

          • uli
            LoxBus Spammer
            • 30.08.2015
            • 225

            #40
            Super, Danke! Werde ich mal ausprobieren...

            Wofür ist der neue virtuelle Eingang "Befehl VCI1" Comment="" Check=" ? Oder war das nur ein Test?

            Kommentar


            • pioneersteffen
              pioneersteffen kommentierte
              Kommentar bearbeiten
              Das war nur ein Test. Probiere es mal aus, bisher läuft es bei mir sehr stabil.
          • uli
            LoxBus Spammer
            • 30.08.2015
            • 225

            #41
            Bin gerade dabei mir für die einmalige Warmwasseranforderung mit Hilfe der Sollwertvorgabe etwas zu programmieren.
            Wesentlich einfacher wäre allerdings den Betriebsmodus von "Auto" auf "Manuell" zu stellen und danach wieder zurück.

            Habt Ihr hierfür ein Register entdeckt oder eine Idee für die Umsetzung?

            Kommentar


            • loxvip
              loxvip kommentierte
              Kommentar bearbeiten
              Also für die Heizung habe ich Sollwertvorgabe BMS und übergebe direkt die Temperatur vom Heizungsmischer Baustein (noch ohne int. Heizkurve). Für Warmwasser werd ich das wohl auch per Sollwertvorgabe BMS machen. Warum willst du den Betriebsmodus ändern? Gehen tut das meine ich mit dem Register WARMWATER_MODE. Einfach duplizieren und als WARMWATER_MODE_SET anlegen. Das sollte m.E. funktionieren.

            • loxvip
              loxvip kommentierte
              Kommentar bearbeiten
              I32 ist wichtig. Das sieht man übrigens in der Waterkotte Weboberfläche. Einfach den Chrome Debugger aktivieren und über die Schaltflächen scrollen. Dann sieht man die Tags/Register. Bei Manuell muss I32 mit 2 beschrieben werden. Auto ist 1.

              const WARMWATER_MODE_SET = array('tagName' => 'I32', 'name' => "warmwater_mode", 'class' => 'switch', 'divisor' => 10);
          • uli
            LoxBus Spammer
            • 30.08.2015
            • 225

            #42
            Danke für die Tipps, in der Anleitung stand nicht, dass man den Warmwassermodus auch auf 2 setzen kann.

            Etwas anderes: Eben habe ich mal per Browser rumprobiert die Warmwassertemperatur zu ändern und es hat alles funktioniert. Ein paar Minuten später bekomme ich mit dem gleichen Kommando die Meldung: "unable to write EcoTouch tag." Woran könnte das liegen?

            Kommentar

            • loxvip
              Extension Master
              • 12.07.2016
              • 101

              #43
              Das kann an der Session liegen. Wenn man parallel mit dem gleichen User die Weboberfläche aufruft wird eine neue Session erzeugt bzw. darf man sich mit einem User nur ein mal einloggen. Der vom PHP gecachte Token ist dann nicht mehr gültig. Beim Lesen von Tags wird in so einem Fall automatisch eine neue Session generiert.

              Kommentar

              • uli
                LoxBus Spammer
                • 30.08.2015
                • 225

                #44
                Macht Sinn, das wird es gewesen sein! Kurz darauf ging es nämlich wieder...

                Übrigens mache ich die Warmwasserregelung nun doch über die Temperatur. Der manuelle Modus stellt sich immer wieder zurück auf Auto, selbst wenn ich es über das Display an der Wärmepumpe versuche zu ändern. Ich denke mal da müsste man sich mit der Administrator-Pin einloggen, was ja auch nicht Sinn der Sache ist.

                Kommentar

                • pioneersteffen
                  Smart Home'r
                  • 10.12.2016
                  • 57

                  #45
                  Den manuellen Modus kann man nur im Service Modus aufrufen, hatte ich schon getestet.

                  Kommentar

                  Lädt...