FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: accessburn am 03 Februar 2016, 12:58:30

Titel: Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 03 Februar 2016, 12:58:30
Hallo,
ich habe einen Cube und in einem Raum zwei Heizkörper. So ganz steig ich da bei der Gruppierung nicht durch.

Ich habe den Fensterkontakt jetzt mit beiden verbunden, die schalten auch brav runter beim öffnen. Was ich jetzt noch gerne hätte wäre ein Regler in fhem und ftui für beide HEizungen zugleich und das wenn mein Frauchen an einem manuel dreht der zweite das selbe tut.

mit Homematic scheint das relativ einfach zu gehen, aber wie denn nun beim Cube?
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: mahowi am 03 Februar 2016, 13:49:14
Meines Wissens nach kannst Du das beim Cube nur über ein Wandthermostat, bei dem beide Thermostate angemeldet sind.

Du könntest aber sicher ein notify basteln, daß beim Ändern eines Thermostats die Werte an den anderen überträgt.
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 03 Februar 2016, 13:59:34
Okay, nicht toll, aber immerhin ne Antwort :-)

Müsste ich mal schauen wie sowas geht...
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: bartman121 am 04 Februar 2016, 11:18:56
ich glaube du musst die beiden Thermostate mittels "associate" verbinden ...wie beim Fensterkontakt ....

Dann habe ich noch die gleiche GroupId-vergeben, aber ich glaube es ist das Associate ....

Bei mir funktioniert es .....
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 04 Februar 2016, 18:12:56
naja, stimmt, getestet hatte ich es nicht... ich versuch es mal!

edit:

Ist das nur für Manuel? Wenn ich es nun über das ftui Widget probiere passiert nix.
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: bartman121 am 05 Februar 2016, 09:35:54
ja, ist nur manuell .....

Ich verwende zur Temperatursteuerung dummies und notifys.

Das liegt auch daran, dass bei der Android-App (andFhem) häufig die MAX-Thermostate nicht steuerbar sind .... über den Dummy geht es natürlich ....
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 06 Februar 2016, 09:54:31
Okay, das associate ging wohl nach hinten los. Ich hab Heizung 1 mit Heizung 2 verbunden und anschließend die 2 mit der 1.
Das Resultat war das man sie nicht mehr verstellen kann weil sich der eine sofort an den anderen wieder anpasst :D

Also was haben wir gelernt?
Nur 1 mit 2 verbinden... anschließend nicht umgekehrt!


Aber wie mach ich das wieder rückgängig? ich kann das associate nicht in der Detailansicht finden um es zu löschen.
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: mahowi am 06 Februar 2016, 10:13:32
Dafür gibt's deassociate. Funktioniert genauso.
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 06 Februar 2016, 10:39:45
Verständnisfrage:

set associate Heiz1 Heiz2

Wer passt sich dann an wen an?
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: bartman121 am 06 Februar 2016, 11:13:18
Also bei mir funktioniert es, ich weiß nur nicht ob es nun associate oder die gleiche groupid ist.


Im Zweifel zieh doch per notify das zweite thermostat nach.

Grüße
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 06 Februar 2016, 13:19:58
Okay ich gebs entgültig auf mit dem (de)associate-kram. Es will nicht funktionieren.

Kann mir jemand diese Notify-Methode basteln? Das übersteigt wohl meinen Wissensstand.

Der Heizthermostat1 soll manuell geregelt werden. Der Heizthermostat2 soll sich dann an den 1er anpassen.
Mehr nicht.

Erbitte Hilfe  :D
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: bartman121 am 08 Februar 2016, 16:29:36
also grundsätzlich finde ich es nicht sinnvoll, dass du einfach nach einem sehr sehr einfachen Codeschnipsel fragt.

Wenn man keine Ahnung beim Notify hat, dann muss man halt erstmal:

define testnotify notify a b

machen ....dann hat man ein Dummy Notify ... dann kann man mittels "RegExp Wizard", prima die Bedingung festlegen die zum auslösen genutzt werden soll, danach einfach noch den/die Befehl(e) hinterlegen und fertig ....


aber wenn es für dich zu schwer ist:
define n_Heizung2_nach_Heizung1_nachziehen notify  Heizthermostat1:desiredTemperature.* { fhem("set Heizthermostat2 desiredTemperature $EVTPART1"); }

im übrigen sind fast alle Dinge im Wiki bzw. der Comandref sehr gut beschrieben.

Grüße
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: accessburn am 08 Februar 2016, 17:54:38
Learning by doing :-)

Ne das ist jetzt ziemlich gut, denn ich waage es zu bezweifeln das ich das in irgendeiner form schon mal gemacht/gesehen habe.
Ich weiß jetzt halt nicht, willst du mich jetzt ins Wiki abschieben oder darf ich den Code jetzt auseinander nehmen und fragen stellen?

Wenn das Okay ist, und ich dir nicht deine Wervolle Zeit klaue, erklärst mir kurz n den String kommst und ich dachte zum auslesen brauche ich ReadingsVal.
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: willyk am 09 Februar 2016, 08:03:27
Zitat von: accessburn am 06 Februar 2016, 13:19:58
Okay ich gebs entgültig auf mit dem (de)associate-kram. Es will nicht funktionieren.

Du hast einen Cube? Warum machst Du das pairing nicht über die Cube-Software? Ich kann zwar nicht sagen was dort anders ist als das pairing mit fhem, aber es funktioniert.

Die beiden HTs zurücksetzen, mit dem Cube verbinden. Dann die beiden HTs in den gleichen Raum reindefinieren - fertig.

Gruss + lass dich nicht entmutigen
willyk
Titel: Antw:Zwei Thermostate zusammen steuern
Beitrag von: bartman121 am 09 Februar 2016, 11:38:45
nunja, ein Notify reagiert im wesentlichen auf Events, diese kann man im Event-Montior einsehen. Einfach öffnen und mal eine Weile zuschauen ....


fhem("set Heizthermostat2 desiredTemperature $EVTPART1");

dieser Befehl setzt eine gewünschte desiredTemp, hier wird $EVTPART1 (Variable, wird durch den auslösenden Event geliefert)

Jedesmal (wegen dem *), wenn das Hiezungsthermostat1 seine desiredTemp meldet, dann wird das notify ausgelöst.

Events haben verschiedene Variablen. Man kann komplett $EVENT nehmen, das klappt meist nicht, weil Einheiten oder Zeug noch mitgesendet werden, dafür benutzt man $EVTPART1,$EVTPART2,.... das sind halt die einzelnen Parts des Events ....

Man kann jetzt auch noch mit mittels ReadingsVal optimieren, aber

Dem Kenner wird schnell auffallen, dass das notify zwar geht, aber eine kleine ungenehme Nebenwirkung hat. JEDESMAL, wenn Heizungsthermostat1 seine desiredTemperature übermittelt wird der Befehl zu Setzen am Thermaostat 2 ausgführt, ungeachtet ob sich die Temperatur überhaupt geändert hat. Das verballert sinnlos credits.

Aber du willst ja was lernen, daher mal ein Verweis aufs Wiki