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?
Modbus TCP mit Waterkotte
Einklappen
X
-
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? -
Ja, Validierungen kann man mit definieren. In der Datei ist für die jeweilige Zeile dann MinVal und Maxval anzupassen.Kommentar
-
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
-
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
SteffenKommentar
-
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.
-
-
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üßeKommentar
-
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 DateienKommentar
-
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
-
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
SteffenKommentar
-
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
SteffenAngehängte DateienKommentar
-
Super, Danke! Werde ich mal ausprobieren...
Wofür ist der neue virtuelle Eingang "Befehl VCI1" Comment="" Check=" ? Oder war das nur ein Test?
Kommentar
-
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
-
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. -
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);
-
-
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
-
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
-
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
-
Kommentar