erst einmal vielen dank an die Entwickler, Codeschreiber und alle anderen Mitwirkenden ... FHEM ist dank Euch super geworden und begleitet mich schon fast 2 Jahre problemlos durch den Alltag.
ich habe foögendes Problem:
ich frage 3 Raumthermostate über einen HM-SCI-3-FM Schlisserkontakt ab. Das funktioniert auch super auf allen 3 Kanälen.
Sobald einer der Thermostate schliesst wird die Heizung eingeschaltet:
define Thermostat_WZ_On notify wz_Thermostat:closed set Heizung,Thermostat_WZ on
define Thermostat_Bad_On notify bad_Thermostat:closed set Heizung,Thermostat_Bad on
define Thermostat_KZ_On notify kz_Thermostat:closed set Heizung,Thermostat_KZ o
klappt auch alles super.
und jetzt kommt das eigentliche Problem:
Die Heizung soll natürlich auch wieder ausgehen, allerdings erst dann wenn wirklich alle 3 Thermostate (Thermostat_WZ,Thermostat_Bad,Thermostat_KZ) wieder in der Stellung "off" sind.
probiert habe ich es folgendermassen, was aber nicht klappt:
define HeizungAus (wz_Thermostat|bad_Thermostat|kz_Thermostat) {
my $r1 = $value{"wz_Thermostat"};;
my $r2 = $value{"bad_Thermostat"};;
my $r3 = $value{"kz_Thermostat"};;
if ($r1 eq "open" && $r2 eq "open" && $r3 eq "open") {
fhem "Heizung off"
}
}
attr HeizungAus room Heizung
vielleicht sieht ja einer von euch den Fehler oder ist mein kompletter Ansatz Quatsch?
Gruss
Stephan
macht nicht genau DAS, das MOdul HCS?
ja, das ist die aufgabenstellung, die das modul hcs adressiert.
nur dass man dort noch eine temperaturbereich-hystese definieren kann und zb auch sagen, dass min. kummulierte 20 % stellantrieb öffnung für heizung an von den stellantrieben geliefert werden müssen etc.
Ich empfehle ein structure mit clientstate_behavior relative anzulegen (siehe http://fhem.de/commandref_DE.html#clientstate_priority (//fhem.de/commandref_DE.html#clientstate_priority) fuer details), und auf die Aenderungen von diesen structure zu reagieren.
Sonst:
- in der o.g. definition fehlt ein typ (notify?)
- $value{x} is deprecated, use Value("x")
- warum es nicht funktioniert kriegt man relativ leicht raus mit einem zusaetzlichen
Log 1, "$r1 $r2 $r3";
super, mit structure clientstate_behavior klappt es.
Damit bin ich ja schon mal einen Meilenstein weiter.
define Heizung_Aus structure Thermostate Thermostat_WZ Thermostat_Bad Thermostat_KZ
attr Heizung_Aus room Heizung
attr Heizung_Aus clientstate_behavior relative
attr Heizung_Aus clientstate_priority on off
@Tobias
das ist richtig, mir ist allerdings das Modul HCS viel zu kompliziert ... liegt bestimmt nicht an dem Modul sondern eher an mir.
Da ich aber keine Zeitsteuerung (finde ich bei fb-heizung eh Quatsch) brauche und die Stellmotoren nur auf/zu können reicht diese einfach simple Steuerung. Die Temperatur sowie auch Zeiten kann ich ausserdem eh über die vorhanden Thermostate ganz herkömmlich einstellen.
Vielen Dank und ein schönes Rest-Wochenende.