Hallo Matthias,
bei deinem Vorhaben treten gleich mehrere Schwierigkeiten auf:
-
Selbst wenn du noch ein HM-CC-VD hättest, wäre in Verbindung mit dem HM-CFG-LAN das Timing nicht genau genug, um das Ventil steuern zu können. Siehe auch https://www.homegear.eu/index.php/HM-CFG-LAN .
-
Der Datenpunkt VALVE_STATE des HM-CC-RT-DN ist laut eq3-Dokumentation und xml-Datei nicht schreibbar.
-
Soweit ich weiß, regelt das HM-CC-RT-DN in jedem Betriebsmodus eigenständig die Ventilstellung. Mir ist keine Möglichkeit bekannt, dies zu unterbinden.
Es gibt aber dennoch eine Möglichkeit.
Hierzu muss das HM-CC-RT-DN ständig mit so hoher Solltemperatur betrieben werden, dass das Ventil von der internen Regelung weit geöffnet wird.
In diesem Betriebszustand lässt sich dann die Ventilstellung über den schreibbaren Parameter VALVE_MAXIMUM_POSITION von 0 - 100 % kontrollieren. Da sich über den HM-CFG-LAN auch andere Parameter schreiben lassen, vermute ich, dass es hierbei nicht zu Timingproblemen kommen wird.
Um die Ventilstellung über openHab kontrollieren zu können muss man:
- Eine Systemvariable in Homegear anlegen, die den Wert der Ventilstellung repräsentiert. Hierzu folgendes Script in /var/lib/homegear/scripts anlegen, gegebenenfalls anpassen und ausführen.
[code]#!/usr/bin/env php
<?php
include_once("Connect.php");
$Client->send("setSystemVariable",array("maxVentilstellungKueche",0));
//hg_set_system("maxVentilstellungKueche",0);
?>
[/code]
- Ein Event definieren, dass bei Veränderung der eben erstellten Systemvariablen ein Script aufruft.
[code]#!/usr/bin/env php
<?php
include_once("Connect.php");
print_r($Client->send("addEvent", array(
"TYPE" => 0,
"ID" => "setValveMaxPosKueche",
"VARIABLE" => "maxVentilstellungKueche",
"TRIGGER" => 2,
"EVENTMETHOD" => "runScript",
"EVENTMETHODPARAMS" => Array("setValveMaxPos.php"))
));
// "PEERID" => 0,
// "PEERCHANNEL" => -1,
?>
[/code]
3. Das Script setValveMaxPos.php erstellen, dass den Wert der Systemvariablen auf den Parameter VALVE_MAXIMUM_POSITION überträgt.
[code]#!/usr/bin/env php
<?php
include_once("Connect.php");
$maxValvePos = $Client->send("getSystemVariable",array("maxVentilstellungKueche"));
$Client->send("putParamset", array([ID DES HM-CC-RT-DN],-1,"MASTER",array("VALVE_MAXIMUM_POSITION"=>$maxValvePos)));
?>
[/code]
4. In openHab ein Item anlegen, über welches auf die Systemvariable zugegriffen werden kann.
Fertig.
Nun kann man über einen selbst erstellten Regelalgorithmus das Ventil ansteuern.
Bei mir funktioniert das wie beschrieben. Eine Haftung für eventuelle Schäden wie hohe Heizkosten, verbrannte Fußsohlen, etc. übernehme ich natürlich nicht. Ich gehe davon aus, dass in der Heizungsanlage Sicherheitseinrichtungen vorhanden sind, die eine zu hohe Temperatur der Fußbodenheizung verhindern. Ohne zusätzliche Sicherheitseinrichtungen würde ich eine solche Steuerung nicht aufbauen.
Gruß
Ralf