Hauptmenü

Probleme mit notifi

Begonnen von Markus, 16 Januar 2013, 16:31:04

Vorheriges Thema - Nächstes Thema

Markus

Hallo
Ich ärgere mich schon seit Tagen mit dieser blöden Abfrage herum und Finde den Fehler nicht!
es zünden immer alle notifys und die Heizung reagiert trotzdem nicht!
Was mache ich Falsch?

Hier meine .cfg


define Heizung FS20 0714 32
attr Heizung dummy 1
define Heizung_Ein at *07:00:00 set Heizung on
define Heizung_Aus at *20:00:00 set Heizung off
define FileLog_Heizung FileLog ./log/Heizung-%Y.log Heizung
attr FileLog_Heizung logtype text
attr FileLog_Heizung room Logs

define Heizen FS20 0714 31
attr Heizen dummy 1
#attr Heizen setList Aus Kuhl Normal Warm Heis
attr Heizen eventMap off:Aus dim18%:Kuhl dim50%:Normal dim75%:Warm on:Heis
attr Heizen webCmd Aus:Kuhl:Normal:Warm:Heis

define Thermostat_Wohnzimmer_Soll dummy
define ThermostatBad_Soll dummy
define ThermostatSchlaf_Soll dummy
define Thermostat_Vorraum_Soll dummy



# Aus
define Heizen_Aus notify Heizen:off \
set Thermostat_Wohnzimmer desired-temp 6.0;;set Thermostat_Wohnzimmer_Soll 6.0;;\
set ThermostatBad desired-temp 6.0;;set ThermostatBad_Soll 6.0;;\
set ThermostatSchlaf desired-temp 6.0;;set ThermostatSchlaf_Soll 6.0;;\
set Thermostat_Vorraum desired-temp 6.0;;set Thermostat_Vorraum_Soll 6.0

# Nachtabsenkung
define Heizen_Nacht notify Heizung:off \
set Thermostat_Wohnzimmer desired-temp 17.0;;set Thermostat_Wohnzimmer_Soll 17.0;;\
set ThermostatBad desired-temp 17.0;;set ThermostatBad_Soll 17.0;;\
set ThermostatSchlaf desired-temp 17.0;;set ThermostatSchlaf_Soll 17.0;;\
set Thermostat_Vorraum desired-temp 17.0;;set Thermostat_Vorraum_Soll 17.0

# Kuhl
define Heizen_Kuhl notify Heizen.* {if (Value("Heizen") eq "dim18%" \
&& Value("Heizung") eq "on") \
{fhem "set Thermostat_Wohnzimmer desired-temp 17.5"} \
{fhem "set Thermostat_Wohnzimmer_Soll 17.5"} \
{fhem "set ThermostatBad desired-temp 17.0"} \
{fhem "set ThermostatBad_Soll 17.0"} \
{fhem "set ThermostatSchlaf desired-temp 18.0"} \
{fhem "set ThermostatSchlaf_Soll 18.0"} \
{fhem "set Thermostat_Vorraum desired-temp 17.0"} \
{fhem "set Thermostat_Vorraum_Soll 17.0"} \
}

# Normal
define Heizen_Normal notify Heizen.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \
{fhem "set Thermostat_Wohnzimmer desired-temp 22.0"} \
{fhem "set Thermostat_Wohnzimmer_Soll 22.0"} \
{fhem "set ThermostatBad desired-temp 19.0"} \
{fhem "set ThermostatBad_Soll 19.0"} \
{fhem "set ThermostatSchlaf desired-temp 19.0"} \
{fhem "set ThermostatSchlaf_Soll 19.0"} \
{fhem "set Thermostat_Vorraum desired-temp 20.0"} \
{fhem "set Thermostat_Vorraum_Soll 20.0"} \
}

# Warm
define Heizen_Warm notify Heizen.* {if (Value("Heizen") eq "dim75%" \
&& Value("Heizung") eq "on") \
{fhem "set Thermostat_Wohnzimmer desired-temp 23.0"} \
{fhem "set Thermostat_Wohnzimmer_Soll 23.0"} \
{fhem "set ThermostatBad desired-temp 23.0"} \
{fhem "set ThermostatBad_Soll 23.0"} \
{fhem "set ThermostatSchlaf desired-temp 20.0"} \
{fhem "set ThermostatSchlaf_Soll 20.0"} \
{fhem "set Thermostat_Vorraum desired-temp 21.0"} \
{fhem "set Thermostat_Vorraum_Soll 21.0"} \
}

# Heis
define Heizen_Heis notify Heizen.* {if (Value("Heizen") eq "on" \
&& Value("Heizung") eq "on") \
{fhem "set Thermostat_Wohnzimmer desired-temp 25.0"} \
{fhem "set Thermostat_Wohnzimmer_Soll 25.0"} \
{fhem "set ThermostatBad desired-temp 25.0"} \
{fhem "set ThermostatBad_Soll 25.0"} \
{fhem "set ThermostatSchlaf desired-temp 23.0"} \
{fhem "set ThermostatSchlaf_Soll 23.0"} \
{fhem "set Thermostat_Vorraum desired-temp 22.0"} \
{fhem "set Thermostat_Vorraum_Soll 22.0"} \
}

define w_Thermostat_Wohnzimmer watchdog Thermostat_Wohnzimmer:\
set_desired-temp.* 00:02:20 Thermostat_Wohnzimmer_Climate:CommandAccepted:.yes { \
      Log 1, ">>>>>>>>> w_Thermostat_Wohnzimmer desired temp - missing response.";;\
      fhem("set Thermostat_Wohnzimmer desired-temp ".Value("Thermostat_Wohnzimmer_Soll"));;\
}
define n_Thermostat_Wohnzimmer_err notify Thermostat_Wohnzimmer:(MISSING.ACK.*|.*NACK.*) {\
      Log 1, ">>>>>>>>> n_Thermostat_Wohnzimmer desired temp - missing ack/nack.\n";;\
      fhem ("set Thermostat_Wohnzimmer desired-temp ".Value("Thermostat_Wohnzimmer_Soll"));;\
}

define w_ThermostatBad watchdog ThermostatBad:set_desired-temp.* 00:02:30 ThermostatBad_Climate:CommandAccepted:.yes { \
      Log 1, ">>>>>>>>> w_ThermostatBad desired temp - missing response.";;\
      fhem("set ThermostatBad desired-temp ".Value("ThermostatBad_Soll"));;\
}
define n_ThermostatBad_err notify ThermostatBad:(MISSING.ACK.*|.*NACK.*) {\
      Log 1, ">>>>>>>>> n_ThermostatBad desired temp - missing ack/nack.\n";;\
      fhem ("set ThermostatBad desired-temp ".Value("ThermostatBad_Soll"));;\
}

define w_ThermostatSchlaf watchdog ThermostatSchlaf:set_desired-temp.* 00:02:40 ThermostatSchlaf_Climate:CommandAccepted:.yes { \
      Log 1, ">>>>>>>>> w_ThermostatSchlaf desired temp - missing response.";;\
      fhem("set ThermostatSchlaf desired-temp ".Value("Thermostat_Schlaf_Soll"));;\
}
define n_ThermostatSchlaf_err notify ThermostatSchlaf:(MISSING.ACK.*|.*NACK.*) {\
      Log 1, ">>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.\n";;\
      fhem ("set ThermostatSchlaf desired-temp ".Value("ThermostatSchlaf_Soll"));;\
}

define w_Thermostat_Vorraum watchdog Thermostat_Vorraum:set_desired-temp.* 00:02:50 Thermostat_Vorraum_Climate:CommandAccepted:.yes { \
      Log 1, ">>>>>>>>> w_Thermostat_Vorraum desired temp - missing response.";;\
      fhem("set Thermostat_Vorraum desired-temp ".Value("Thermostat_Vorraum_Soll"));;\
}
define n_Thermostat_Vorraum_err notify Thermostat_Vorraum:(MISSING.ACK.*|.*NACK.*) {\
      Log 1, ">>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.\n";;\
      fhem ("set Thermostat_Vorraum desired-temp ".Value("Thermostat_Vorraum_Soll"));;\
}


und die Meldung im Log


2013.01.16 16:00:22 2: FS20 set Heizen dim50%
2013.01.16 16:00:22 2: dummy set Thermostat_Wohnzimmer_Soll 25.0
2013.01.16 16:00:22 2: CUL_HM set ThermostatBad desired-temp 25.0 rxt:12
2013.01.16 16:00:22 2: dummy set ThermostatBad_Soll 25.0
2013.01.16 16:00:22 2: CUL_HM set ThermostatSchlaf desired-temp 23.0 rxt:12
2013.01.16 16:00:22 2: dummy set ThermostatSchlaf_Soll 23.0
2013.01.16 16:00:22 2: CUL_HM set Thermostat_Vorraum desired-temp 22.0 rxt:12
2013.01.16 16:00:22 2: dummy set Thermostat_Vorraum_Soll 22.0
2013.01.16 16:00:22 2: dummy set Thermostat_Wohnzimmer_Soll 17.5
2013.01.16 16:00:23 2: CUL_HM set ThermostatBad desired-temp 17.0 rxt:12
2013.01.16 16:00:23 2: dummy set ThermostatBad_Soll 17.0
2013.01.16 16:00:23 2: CUL_HM set ThermostatSchlaf desired-temp 18.0 rxt:12
2013.01.16 16:00:23 2: dummy set ThermostatSchlaf_Soll 18.0
2013.01.16 16:00:23 2: CUL_HM set Thermostat_Vorraum desired-temp 17.0 rxt:12
2013.01.16 16:00:23 2: dummy set Thermostat_Vorraum_Soll 17.0
2013.01.16 16:00:23 2: dummy set Thermostat_Wohnzimmer_Soll 22.0
2013.01.16 16:00:23 2: CUL_HM set ThermostatBad desired-temp 19.0 rxt:12
2013.01.16 16:00:23 2: dummy set ThermostatBad_Soll 19.0
2013.01.16 16:00:23 2: CUL_HM set ThermostatSchlaf desired-temp 19.0 rxt:12
2013.01.16 16:00:23 2: dummy set ThermostatSchlaf_Soll 19.0
2013.01.16 16:00:23 2: CUL_HM set Thermostat_Vorraum desired-temp 20.0 rxt:12
2013.01.16 16:00:23 2: dummy set Thermostat_Vorraum_Soll 20.0
2013.01.16 16:00:23 2: dummy set Thermostat_Wohnzimmer_Soll 23.0
2013.01.16 16:00:24 2: CUL_HM set ThermostatBad desired-temp 23.0 rxt:12
2013.01.16 16:00:24 2: dummy set ThermostatBad_Soll 23.0
2013.01.16 16:00:24 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12
2013.01.16 16:00:24 2: dummy set ThermostatSchlaf_Soll 20.0
2013.01.16 16:00:24 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12
2013.01.16 16:00:24 2: dummy set Thermostat_Vorraum_Soll 21.0
date: invalid date '+%d.%m.%y 0:00'
Use of uninitialized value $TelNewMessages in concatenation (.) or string at ./FHEM/99_ShowFritzBoxUtils.pm line 89.
Use of uninitialized value $FritzLANActiveDevices in concatenation (.) or string at ./FHEM/99_ShowFritzBoxUtils.pm line 103.
2013.01.16 16:01:04 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:01:04 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12

2013.01.16 16:02:55 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.

2013.01.16 16:02:55 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12
2013.01.16 16:03:10 2: dummy set Markus_Handy Anwesend
2013.01.16 16:03:10 2: dummy set Markus on
2013.01.16 16:03:11 2: dummy set Kleiner_Touch_PC Anwesend
2013.01.16 16:03:11 2: dummy set Nas Anwesend
2013.01.16 16:03:16 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:03:16 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12

2013.01.16 16:05:36 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.

2013.01.16 16:05:36 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12
2013.01.16 16:05:56 3: Watchdog w_ThermostatSchlaf triggered
2013.01.16 16:05:56 1: >>>>>>>>> w_ThermostatSchlaf desired temp - missing response.
2013.01.16 16:05:56 3: set ThermostatSchlaf desired-temp  : desired-temp requires parameter: temp

2013.01.16 16:06:16 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:06:16 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12

2013.01.16 16:08:02 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.


2013.01.16 16:09:01 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:09:01 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12

2013.01.16 16:10:13 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.

2013.01.16 16:10:13 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12

2013.01.16 16:11:33 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:11:33 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12

2013.01.16 16:13:03 3: Watchdog w_Thermostat_Vorraum triggered
2013.01.16 16:13:03 1: >>>>>>>>> w_Thermostat_Vorraum desired temp - missing response.
2013.01.16 16:13:03 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12

2013.01.16 16:13:15 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.

2013.01.16 16:13:15 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12
2013.01.16 16:13:50 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:13:50 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12

2013.01.16 16:15:52 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.

2013.01.16 16:15:52 2: CUL_HM set ThermostatSchlaf desired-temp 20.0 rxt:12
2013.01.16 16:16:01 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.

2013.01.16 16:16:01 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12

2013.01.16 16:18:34 1: >>>>>>>>> n_Thermostat_Vorraum desired temp - missing ack/nack.

2013.01.16 16:18:34 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Zrrronggg!

Du bis ja ein kleines bisschen unspezifisch, was dein Problem ist und überlässt uns durch lesen deiner Logfiles rauszufinden, was du überhaupt meinen könntest.

Das macht keiner gerne.


Auf den ersten blick sehe ich aber zumndest dieses Probem:

2013.01.16 16:10:13 2: CUL_HM set Thermostat_Vorraum desired-temp 21.0 rxt:12
2013.01.16 16:11:33 1: >>>>>>>>> n_ThermostatSchlaf desired temp - missing ack/nack.


Das ist ein Problem auf der Funkschicht, nicht in FHEM.
Konkret sind die HM-Termostate vielleicht nicht richtig gepaired oder ausserhalb der Funkreichweite.




FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Markus

@ Zrrronggg!
sorry so war das nicht gemeint! Dachte nur es wäre einfacher den Fehler zu identifizieren.

Also es geht mir um das Notify!
Konkret habe ich mir 5 Taster gebastelt: Heizen / Aus:Kuhl:Normal:Warm:Heis

Die Abfrage erfolgt mittels Notify.
Wenn ich aber jetzt einen Taster drücke werden immer alle zugehörigen Notifis ausgelöst und somit das falsche eingestellt

zb: Ich drücke auf Normal dann sollte das entsprechende Notify zünden aber nicht alle.

Auszug aus der .cfg

attr Heizen eventMap off:Aus dim18%:Kuhl dim50%:Normal dim75%:Warm on:Heis
attr Heizen webCmd Aus:Kuhl:Normal:Warm:Heis

# Normal
define Heizen_Normal notify Heizen.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \
{fhem "set Thermostat_Wohnzimmer desired-temp 22.0"} \
{fhem "set Thermostat_Wohnzimmer_Soll 22.0"} \
{fhem "set ThermostatBad desired-temp 19.0"} \
{fhem "set ThermostatBad_Soll 19.0"} \
{fhem "set ThermostatSchlaf desired-temp 19.0"} \
{fhem "set ThermostatSchlaf_Soll 19.0"} \
{fhem "set Thermostat_Vorraum desired-temp 20.0"} \
{fhem "set Thermostat_Vorraum_Soll 20.0"} \
}
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Puschel74

Nimmt Heizen den Wert dim50% an oder Normal oder Dim50% oder dim 50% oder Dim 50 %?
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

ERSTMAL machen wir was anderes:

define Heizen_Normal notify Heizen.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

macht höchstwahrscheinlich *nicht* was du meinst das es macht.

Heizen.* löst nämlich bei allen Events aus die mit "Heizen" anfangen, und nicht etwa (wie du vermutlich willst) mit allen Werten, die "Heizen" annehmen kann.

notify Heizen.*

wird ausgelöst durch alle Werteänderungen in "Heizen" aber AUCH durch alle Werteänderungenen in "Heizen2" oder "Heizen_unten" oder "Heizen_heis"...

D.H.
define Heizen_Normal notify Heizen.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

Triggert sich sogar selbst (!)

denn Heizen.* wird auch durch Heizen_Normal ausgelöst.


Was du meinst ist:

define Heizen_Normal notify Heizen:.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

Das ist aber nicht nötig, da reicht

define Heizen_Normal notify Heizen {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

da das schon bei jeder Änderung auslöst.


Dieses kleine Problem sollte zu allerlei lustigen Auslösungskaskaden führen.

Zwar sollte
{if (Value("Heizen") eq "dim50%" && Value("Heizung") eq "on")
dann trotzdem noch verhindern, dass die Tempänderungen ausgeführt werden, aber mit dem Konstrukt wie du es jetzt hast
müssten wir die gegenseitigen Trigger komplett betrachten um zu verstehen was (der Geier) da alles passieren kann.

Die Mühe machen wir uns erstmal nicht.


Also
define Heizen_Normal notify Heizen.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

durch

define Heizen_Normal notify Heizen {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \


Ersetzen (und den anderen auch sinngemäss) und dann sehen wir mal weiter.






FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

No comment.
Right - geht schneller ;-)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

Ich hätte das auch übersehen, wenn ich nicht das Konstrukt

define act_on_Bewegung notify Bewegung.*:bewegung { if ("lalala

 in meiner Alarmanlage verwendet hätte, das eben bei Bewegung_WZ und Bewegung_Bad etc auslöst.

Nur EINEN Punkt vergessen und Vollchaos. :-)
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Markus

OK Danke erst mal!

Leider bin ich noch nicht weiter gekommen.

Also Heizen nimt den wert dim50% an.

2013.01.16 20:40:11 2: FS20 set Heizen dim50%

Diese zwei Möglichkeiten funktionieren beide nicht :-)

define Heizen_Normal notify Heizen:.* {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

define Heizen_Normal notify Heizen {if (Value("Heizen") eq "dim50%" \
&& Value("Heizung") eq "on") \

es lösen immer alle Notifis aus.
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Dietmar63

Ich habe keine Lösung für Dein Problem mit dem notifi.

ich wollte aber so wie Du verschiedene Temperaturen automatisch einstellen können.
Deshalb habe ich ein neues Modul Heating_Control erstellt mit dem das alles ganz einfach ist.
Wir sind noch nicht ganz fertig, Tobias hat mir geholfen - aber es wird ganz einfach funktionieren, trotzdem sehr flexibel sein:

Link

Dietmar
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Zrrronggg!

Du hast alle anderen notifys auch angepasst, also nicht nur

define Heizen_Normal

richtig?


Diese Konstrukte hier

define w_Thermostat_Wohnzimmer watchdog Thermostat_Wohnzimmer:\
set_desired-temp.* 00:02:20 Thermostat_Wohnzimmer_Climate:CommandAccepted:.yes { \
Log 1, ">>>>>>>>> w_Thermostat_Wohnzimmer desired temp - missing response.";;\
fhem("set Thermostat_Wohnzimmer desired-temp ".Value("Thermostat_Wohnzimmer_Soll"));;\
}

verstehe ich übrigens nicht. Wozu sollen die beiden Semikolons am Ende dienen und was macht das überhaupt?
Wenn das ACK nicht kommt in 2 Minuten die SOLL Temp nachstellen?

Weiter:

define Heizen_Warm notify Heizen.* {if (Value("Heizen") eq "dim75%" \
&& Value("Heizung") eq "on") \
{fhem "set Thermostat_Wohnzimmer desired-temp 23.0"} \
{fhem "set Thermostat_Wohnzimmer_Soll 23.0"} \
{fhem "set ThermostatBad desired-temp 23.0"} \
{fhem "set ThermostatBad_Soll 23.0"} \
{fhem "set ThermostatSchlaf desired-temp 20.0"} \
{fhem "set ThermostatSchlaf_Soll 20.0"} \
{fhem "set Thermostat_Vorraum desired-temp 21.0"} \
{fhem "set Thermostat_Vorraum_Soll 21.0"} \
}


ist auch noch überkompliziert.

Mal angenommen, die Thermostaten wie oben genannt sind alle, die du hast, und wenn du die "Soll"-dummies umbenennst nach Schema
ThermostatSollBad  anstatt   ThermostatBad_Soll

dann würde auch

define Heizen_Warm notify Heizen {if (Value("Heizen") eq "dim75%" && Value("Heizung") eq "on")  {fhem "set Thermostat.* desired-temp 23.0 ;; set ThermostatSoll 23.0 "} }

reichen.

Mit anderen Worten: Deine Sachen kommen mir an vielen Fällen übermässig komplex und aufwändig vor.
Das soll keine Vorwurf sein, kann man machen wie mal will und das hat sicher auch irgendwo Vorteile oder Gründe die ich nicht kenne.  
Nur macht das die Sache etwas unübersichtlich.


Ich müsste durchaus etwas Zeit investieren, um rauszufinden, was der ganze Kram macht und welche Zustände der annimmt.
So richtig habe ich da keine Lust zu (sei nicht böse bitte).

Ich möchte dir Vorschlagen, den Kram erstmal zu vereinfachen.

Kommentiere doch ein z.b. mal alles ausser "Warm" und "Normal" aus. Kommentier auch die SOLL-Geschichten aus und die ganzen Watchdogs .


Vereinfache "warm" und "Normal" zu

define Heizen_Warm notify Heizen {if (Value("Heizen") eq "dim75%" && Value("Heizung") eq "on")  {fhem "set Thermostat.* desired-temp 23.0"} }
und
define Heizen_Normal notify Heizen {if (Value("Heizen") eq "dim50%" && Value("Heizung") eq "on")  {fhem "set Thermostat.* desired-temp 22.0"} }


und probiere dann, ob dim75% beide auslöst oder nicht.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

Ich will mich ja nicht einmischen - was ich aber schon mache.

Ich würd nicht unbedingt reele FHT´s setzen damit sondern erstmal nen Dummy.
Wenn das regexp resp. der Vergleich wirklich beide auslöst und das einige Male so hin und her geht wird sich der CUx vermutlich schön bedanken und mit einem LOVF seinen Dienst erstmal
einstellen ;-)
Also nur so - kann jeder machen wie er will natürlich.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

define Heizen_Warm notify Heizen {if (Value("Heizen") eq "dim75%" && Value("Heizung") eq "on") {fhem ("set Thermostat.* desired-temp 23.0 ;; set ThermostatSoll.* 23.0 ") } }

natürlich.

Aber zum testen wie gesagt die SOLL-Geschichten ruhig erstmal weglassen, also:

define Heizen_Warm notify Heizen {if (Value("Heizen") eq "dim75%" && Value("Heizung") eq "on") {fhem ("set Thermostat.* desired-temp 23.0")} }
und
define Heizen_Normal notify Heizen {if (Value("Heizen") eq "dim50%" && Value("Heizung") eq "on") {fhem ("set Thermostat.* desired-temp 22.0")} }


Nochwas: Wenn du das nicht so wie ich vorschlug zusammenfassen willst oder kannst, z.B. weil es noch mehr Thermostaten gibt, dann verwende vielleicht anstatt

{fhem "set Thermostat_Wohnzimmer desired-temp 23.0"} \
{fhem "set Thermostat_Wohnzimmer_Soll 23.0"} \
{fhem "set ThermostatBad desired-temp 23.0"} \

kürzer

{fhem ("set Thermostat_Wohnzimmer desired-temp 23.0 ;; set Thermostat_Wohnzimmer_Soll 23.0 ;; set ThermostatBad desired-temp 23.0")}

Eigentlich müsste sogar gehen:

{fhem ("set Thermostat_Wohnzimmer desired-temp,Thermostat_Wohnzimmer_Soll,ThermostatBad desired-temp 23.0")}

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Zrrronggg!

Zitat von: Puschel74 schrieb am Mi, 16 Januar 2013 22:14Ich will mich ja nicht einmischen - was ich aber schon mache.

Ich würd nicht unbedingt reele FHT´s setzen damit sondern erstmal nen Dummy.
Wenn das regexp resp. der Vergleich wirklich beide auslöst und das einige Male so hin und her geht wird sich der CUx vermutlich schön bedanken und mit einem LOVF seinen Dienst erstmal
einstellen ;-)
Also nur so - kann jeder machen wie er will natürlich.

Grüße


Reale FHTs (flöt) hat er glaube ich nicht:

 CUL_HM set ThermostatBad desired-temp 25.0 rxt:12

Bei HM hat er zum Glück wesentlich mehr Zeit bis LOVF.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

Ah ok.
Wieder was gelernt dabei und auch was überlesen.
Aber besser ersteres ;-)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Markus

Hallo und Danke für die vielen Antworten!!

Das Funktioniert sehr gut!

define Heizen_Kuhl notify Heizen {if (Value("Heizen") eq "Kuhl" && Value("Heizung") eq "on") \
{fhem ("set Thermostat_Wohnzimmer desired-temp 17.0 ;; set Thermostat_Wohnzimmer_Soll 17.0")} }

Wie man sieht reagiert notify auf "Kuhl" hab gestern im log geschaut da steht "dim18%"

das Funktioniert leider nicht:
{fhem ("set Thermostat_Wohnzimmer desired-temp,Thermostat_Wohnzimmer_Soll,ThermostatBad desired-temp 23.0")}


Warum Kürzer? Nur wegen der Übersichtlichkeit oder wird fhem auch schneller?

ZitatDeine Sachen kommen mir an vielen Fällen übermässig komplex und aufwändig vor.
Das soll keine Vorwurf sein, kann man machen wie mal will und das hat sicher auch irgendwo Vorteile oder Gründe die ich nicht kenne.
Nur macht das die Sache etwas unübersichtlich.
Leider kann ich es nicht anders bin halt auch erst Anfänger :-(
Das ganze dient eigentlich dazu das es warm wird wen jemand Zuhause ist und Nachts oder wen niemand Zuhause ist soll es kühl werden. Und damit der WAF etwas steigt gibt es im Floorplan noch die Funktion Warm und Sehr warm einzustellen.

Ich weiß das ich Probleme mit dem Funk habe die HomeMatic Thermostate akzeptieren sehr oft die die Kommandos nicht und dann bleibt es Kalt. Sehr schlechter WAF.
Aber ich dachte das ist Normal und deshalb sende ich das Kommando öfters.

Diesen Code habe ich im Wiki Gefunden und soll einfach die Temperatur nochmals senden falls nicht angekommen.
define w_Thermostat_Wohnzimmer watchdog Thermostat_Wohnzimmer:\
set_desired-temp.* 00:02:20 Thermostat_Wohnzimmer_Climate:CommandAccepted:.yes { \
Log 1, ">>>>>>>>> w_Thermostat_Wohnzimmer desired temp - missing response.";;\
fhem("set Thermostat_Wohnzimmer desired-temp ".Value("Thermostat_Wohnzimmer_Soll"));;\
}
define n_Thermostat_Wohnzimmer_err notify Thermostat_Wohnzimmer:(MISSING.ACK.*|.*NACK.*) {\
Log 1, ">>>>>>>>> n_Thermostat_Wohnzimmer desired temp - missing ack/nack.\n";;\
fhem ("set Thermostat_Wohnzimmer desired-temp ".Value("Thermostat_Wohnzimmer_Soll"));;\
}


Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa