FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: Tobias am 15 März 2013, 13:58:24

Titel: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Tobias am 15 März 2013, 13:58:24
Hi,
ich bediene mittels FakeWallThermostat alle Heizkörperthermostate in jedem Raum mit dem im jeweiligen Raum vorhandenen externen Temperatursensor.
Solange ich nur ein Raum damit bediene ist alles i.o. Sobald ich aber mehr als ein Raum damit steuern möchte, wirbeln alle DesiredTemp Werte durcheinander.
Mittels:
set CULMAX0 fakeWT Kueche_Heizung 15.5 18.0
setze ich desiredTemp und Aktuelle Temp in der Küche. Das Heizkörperthermostet bestätigt dies und schickt ggf ca 60sek später eine Nachricht raus über die aktuelle Valveposition etc. Und genau auf diese Nachricht reagieren alle anderen Thermostate die ich ebenfalls mit dem FakeWallThermostat ansteuere. Auf einmal habe ich im Wohnzimmer, Kinderzimmer,Bad ebenfalls eine DesiredTemp von 15,5°C.
Erst wenn ich wieder ein Deassociate vom FakeWallThermostat durchführe ist wieder alles io, allerdings auch ohne externen TempSensor :(

Ich denke das ist das "Feature" von MAX mit dem Raumthermostat mehrere HeizThermostate anzusteuern. Schön und gut, aber bei einem CUL nicht wirklich immer nutzbar.
Ich denke man muss die Möglcihkeit haben X-Verschiedene FakeWallThermostate definieren zu können. Ev. einen neuen Typ deklarieren??

Edit: leider hilft´s auch nicht jedem HeizThermostat eine andere groupid (1,2,3,etc..) zu geben
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Matthias Gehre am 15 März 2013, 14:55:01
Hast du groupId's gesetzt?
Hast du ein richtiges Wandthermostat, sodass du die Pakete vergleichen kannst?
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Matthias Gehre am 15 März 2013, 14:58:52
Sonst mal mit gesetzter groupid
in Zeile 204 in 14_CUL_MAX.pm
return CUL_MAX_Send($hash,"WallThermostatControl",$dest,
        sprintf("%02x%02x",$arg1,$arg2),flags => "04", src => CUL_MAX_fakeWTaddr($hash))
mit dem groupid ergänzen (genauso wie in 10_MAX für set desiredTemperature).
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Tobias am 15 März 2013, 15:27:11
ich probiers aus.
Groupid hatte ich bei jedem Thermostat verschieden gesetzt, allerdings taucht die groupid nicht in den Readings auf. Demzufolge kann man sie auch nicht auslesen wie in 10:MAX.pm:  
my $groupid = MAX_ReadingsVal($hash,"groupid");

Ein echtes Wandthermostat habe ich nicht.
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Matthias Gehre am 15 März 2013, 15:52:52
Nach dem Update mit dem groupid handling muss man dire groupid nochmal setzen, damit FHEM sich das merkt. (Stand im Changelog)
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Tobias am 15 März 2013, 18:13:24
stimmt, nach dem 2ten set groupid kams auch in die Readings ;)
Ich teste sobald als möglich die codeänderung...
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Tobias am 15 März 2013, 18:47:37
auf diesen Code habe ich es geändert:
my $groupid = ReadingsVal($hash,"groupid",0);

      return CUL_MAX_Send($hash,"WallThermostatControl",$dest,
        sprintf("%02x%02x",$arg1,$arg2), groupId => sprintf("%02x",$groupid), flags => ( $groupid ? "04" : "00" ), src => CUL_MAX_fakeWTaddr($hash));


nach dem ersten Test schauts erstmal gut aus, muss es aber einen Tag beobachten.

Könnte es bei der Ermittlung der Groupid eine Schwachstelle geben? Wenn nach einem fhem-Neustart die groupid nicht vom Thermostat mitgeteilt wird und somit fehlt, wird 0 stattdessen genommen. Eine potentielle Fehlerquelle bei den wieder alle DesiredTemp durcheinander geraten??
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Matthias Gehre am 15 März 2013, 20:56:42
Die groupId wie viele Dinge (ecoTemperature, weekProfile, ...) werden uns nie mitgeteilt, also hilft nur "merken", nachdem wir neu gesetzt haben
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Tobias am 16 März 2013, 06:38:00
es funktioniert, du kannst die codeänderung einchecken :)
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Tobias am 17 März 2013, 07:10:06
habs gerade im Log gefunden:
Use of uninitialized value $groupid in sprintf at ./FHEM/14_CUL_MAX.pm line 206.
Versteh ich nur nicht da es in Zeile 204 definiert wird.... hmm
Edit: nach einem Reload war´s komischerweise weg :)
Titel: Aw: FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Matthias Gehre am 21 März 2013, 16:19:51
Committed
Titel: Antw:FakeWallThermostat beeinflusst alle(!) HeizkörperThermostate im Haus
Beitrag von: Shadow3561 am 29 November 2015, 12:40:55
Hallo,
Ich muss diesen Fred noch einmal pushen.

Ich habe mehrer Räume mit Max Themostaten ausgestattet.
Im Wohnzimmer habe ich alle mit einem FakeWallThermostat gekoppelt.
Dies funktioniert soweit ganz gut, bis auf eine Sache.

Ich muss bei jedem Neustart von FHEM die Thermostate erneut mit dem FakeWT assozieren.

1.  Gibt es eine Möglichkeit dies automatisch ablaufen zu lassen?

2.  Wie kann ich ,z.B. die Thermostate aus dem Schlafzimmer, einen zweiten FakeWT zuordnen in weiteren Räumen.

Habe in diesem Threat gedacht die Antwort zu finden, jedoch verstehe ich es nicht ganz mit dem bearbeiten der Dateien und weiß auch nicht ob es überhaupt noch möglich ist.

Habe bereits die GroupID's im Wohnzimmer auf 1 und im Schlafzimer auf 2 gesetzt.

Wäre schön wenn mir jemand erklären könnte wie ich weiter verfahren muss (bitte für dummies)

Mit freundlichen Grüßen