Hallo,
ich habe den beigefügten dummy erfolgreich am laufen.
Nun hätte ich aber noch gerne folgende Funktion..
Wenn ich z.B. das device "MAX_074ca1" mit einer festen Temperatur (z.B. 21.0) einstelle, steht das state auf 21.0. (logisch)
Mein Wochenprogramm senkt dann wie gewünscht "MAX_074ca1" um 19:00 Uhr auf 18.0 Grad C ab. Das state im dummy bleibt aber immer noch auf 21.0 stehen.
Wie kann ich den dummy "HA_Heizung_Modus" dazu bringen, dass sich das state automatisch mit dem device MAX_074ca1 mitändert?
#--Dummy für die Schnell-Einstellung der Temperatur bis zum nächsten automatischen Schaltzeitpunkt-----------
define HA_Heizung_Modus dummy
attr HA_Heizung_Modus devStateIcon 21.0:set_on:17.0 17.0:set_off:21.0
attr HA_Heizung_Modus fp_Grundriss 500,250,1,
attr HA_Heizung_Modus group dummy
attr HA_Heizung_Modus icon heizung.0
attr HA_Heizung_Modus room Heizung OG.
attr HA_Heizung_Modus setList state:17.0,21.0
attr HA_Heizung_Modus webCmd state
define HA_Heizung_Modus.ntfy notify HA_Heizung_Modus.* {\
my $valtemp = "$EVENT";;\
my $device = "MAX_074ca1";;\
my $cmd = 'set '.$device.' desiredTemperature auto '.$valtemp;;\
fhem($cmd);;\
}
Hallo,
Lass doch das Wochenprogramm den Dummy ändern. Das Notify greift ja auch dann.
Gruß
Hans
Man kann das regexp im notify auch erweitern und dann in einem notify mehrere Prüfungen durchführen lassen.
(HA_Heizung_Modus|MAX_074ca1).*
Allerdings sollte man
a) den Devices sinnvolle Namen geben - Geschmackssache erleichtert das Coden aber
b) das Reading noch ins regexp mit aufnehmen da das notify so jedesmal ausgeführt wird wenn MAX_074ca1 irgendwas sendet.
Danke für Euere Antworten,
habe das notify abgändert (siehe beigefügten Code)
ich habe erwartet, dass bei einer Status-Änderung (entweder über das Wochenprogramm oder Händisch)
sich der status vom "HA_Heizung_Modus dummy" mit ändert.
Aber...der status ändert sich nicht mit..
Wer kann weiterhelfen.
PS: Bei MAX_074ca1 handelt es sich um einen Zwischenstecker. Im Event-Monitor ändert sich im Device "MAX_074ca1" lediglich die Valveposition von 0 -->100 bzw. 100 -->0
define HA_Heizung_Modus.ntfy notify (HA_Heizung_Modus|MAX_074ca1).* {\
my $valtemp = "$EVENT";;\
my $device = "MAX_074ca1";;\
my $cmd = 'set '.$device.' desiredTemperature auto '.$valtemp;;\
fhem($cmd);;\
}
Versuch mal
(HA_Heizung_Modus|MAX_074ca1).*:.*
und zeig mal aus dem EventMonitor einen Ausschnitt des MAX_074ca1
Edith: Meine Codebeispiele sind für das DEF und nicht für die fhem.cfg gedacht ;)
Ich gehe davon aus, dass der Status des Dummy aktualisiert werden soll. Wenn das im Notify gemacht wird (die Zeile fehlt noch) triggert das aber wiederum das Notify. Da das dummy nur ein Reading hat, kann es auch nicht per regex eingeschränkt werden.
Einfacher wäre es, wie schon vorgeschlagen, per Wochenprogram den state des Dummy zu ändern und das Notify im ursprünglichen Zustand (horcht auf Dummy) zu belassen.
Keep it simple :)
Gruß
Hans
Ein set triggert - ein setreading nicht.
Und hier würde ein setreading genügen aber ja, der Code ist noch nicht fertig.
Ich biete auch nur Hilfe zur Selbsthilfe ;)
Aber du darfst gerne für deine Idee einen Codevorschlag bringen.
Bist Du Dir sicher?
Aus der Doku von setreading:
http://fhem.de/commandref.html#setreading (http://fhem.de/commandref.html#setreading)
ZitatSet the reading <reading> for the device <name> to <value> without sending out commands to the device, but triggering events and eventMap/stateFormat transformations as usual. See the set command documentation for replacement description.
Hmmm, das hatte ich aber noch anders im Kopf ???
Grad ausprobiert und stimmt mit der commandref überein - Mist.
Edith: Was aber auch nicht weiter schlimm ist.
Man darf einem Dummy ja auch ein Reading spendieren ;D
Was aber auch nicht nötig ist da man den Wert ja nur setzen braucht wenn er != ist
Danke dass da jetzt mehrere mitmachen..
Es ist ja eigentlich simpel. Mit dem dummy schalte ich den Zwischenstecker (MAX_074ca1) unabhängig vom Wochenprogramm ein/aus.
(bei mir das state zwischen 17.0 und 21.0.) Schaltet das Wochenprogramm oder der ECO-Taster soll sich das state des dummy mit ändern.
Gruß Himi
Auszug aus dem Event-Monitor.
22 15:53:45 readingsGroup rg_Heating MAX_074ca1.valveposition: 100 %
2015-12-22 15:53:45 MAX MAX_074ca1 valveposition: 100
Ich verstehe immer noch nicht, warum Du nicht in Deinem Wochenprogramm auch denn Dummy mitänderst ...
Mein Wochenprogramm ist im MAX-Cube hinterlegt. Habe bis heute noch keinen CUL..
Mit den speziellen MAX-interna kenn ich mich leider nicht aus und kann dahingehend auch nicht behilflich sein.
Wenn man an das Wochenprogramm im CUBE irgendwie rankommt lässt sich da sicher was machen.
Sonst kann man immer noch das notify passend erweitern.