Hallo,
brauche mal wieder Eure Hilfe! :-)
Ich habe ein Dummy "Heizungssteuerung" erzeugt. Diesem Dummy habe ich mit
setreadings Heizungssteuerung TagTemp 21.0
ein Parameter im Reading erzeugt.
Jezte will ich mit einem DOIF nur dann nur dann eine Heizung einschalten, wenn die Termperatur vom einem "Wohnzimmerthermostat" < 2 Grad unterhalb dieser TagTemp ist.
Da ich bereits mit "STATE" Parametern rechne:
{fhem("set SollTemp " . (Value("SollTemp") -1.5))}
habe ich es mal mit :
define HeizON DOIF (Wohnzimmerthermostat < {fhem(Value("Heizungssteuerung:TagTemp") -2)}) (Set Heizung ON)
versucht.
Leider ohne Erfolg.
Hoffe Ich habe mein Problem einigermaßen verständlich erklärt und Ihr könnt mir Helfen?
DANKE!!!
Gruß
Gonzolo
Zitat von: Gonzolo am 17 April 2017, 12:35:02
DANKE!!!
BITTE!!!
https://fhem.de/commandref_DE.html#DOIF
Danke Franz für Deine Antwort.
ABER mir geht es nicht um den DOIF-Befehl. Den verstehe ich. Mir geht es draum wie die Syntax ist, um mit Parametern aus einem Reading zu rechnen. :-)
Danke!!!!!!!! ;)
ZitatDanke!!!!!!!!
Bitte!!!!!!!!
https://fhem.de/commandref_DE.html#DOIF_Berechnungen_im_Ausfuehrungsteil (https://fhem.de/commandref_DE.html#DOIF_Berechnungen_im_Ausfuehrungsteil)
Bevor sich noch jemand bedankt: ;)
Wenn Wohnzimmerthermostat im Status die Temperatur beinhaltet, dann kannst du es so definieren:
define HeizON DOIF ([Wohnzimmerthermostat] < ([Heizungssteuerung:TagTemp] -2)) (Set Heizung ON)
dann sage ich mal artig .... DANKE!!!! ;)
DANKE!!!!!!!! Damian, aber ob Gonzola das mit den []-Klammern vor lauter !!!!!!!!!!! verstanden hat?????
Frohe Ostergrüße
Franz
Hallo Franz. Ich habe es verstanden. Danke für Deine Führsorge! ;)
Ich heiße GonzolO und nicht GonzolA ;D
Und guck dir mal ReadingsVal und ReadingsNum an, falls du mal nicht mit DOIF unterwegs bist.
Wenn man es nicht immer gleich ausprobiert?!
Was ist an dieser DOIF Abfrage falsch?? :-[
DOELSEIF ([Steuerung] eq "TempTag" and
[TempWohnzimmer] < ([Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
(set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)
Ich bekomme immer so ne doofe Fehlermeldung und es tut sich nix...
2017.05.10 17:33:00 1: HMCCUDEV: Heizung_Wohnzimmer Execution of CCU script or command failed
2017.05.10 17:33:00 2: Heizung_Wohnzimmer_SetTemp: set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE 21.0: HMCCUDEV: Heizung_Wohnzimmer Execution of CCU script or command failed
Danke für Euere Hilfe...
Beste Grüße
Gonzolo
Mir scheint das weniger am DOIF zu liegen und mehr am set Befehl. Was bringt denn ein
set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE 21.0
im Kommandofeld als Ergebnis?
Hallo KernSani,
danke für Deine Hilfe!
der Befehlt
set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMOERATURE 21.0
macht das was er soll :-) Er schaltet die Heizung auf 21C
Habe mal folgendes probiert:
define test Dummy
set test ([Steuerung:TempTag]-2.0)
... das Ergebnis ist, dass er test:state mit "(20.5-2.0)" füllt.
Der will einfach nicht rechnen! :-( Hast Du vielleicht noch eine Idee, woran es liegen könnte?! Danke!
Viele Grüße
Gonzolo
Zitat von: Gonzolo am 12 Mai 2017, 07:19:50
Hallo KernSani,
danke für Deine Hilfe!
der Befehlt
set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMOERATURE 21.0
macht das was er soll :-) Er schaltet die Heizung auf 21C
Habe mal folgendes probiert:
define test Dummy
set test ([Steuerung:TempTag]-2.0)
... das Ergebnis ist, dass er test:state mit "(20.5-2.0)" füllt.
Der will einfach nicht rechnen! :-( Hast Du vielleicht noch eine Idee, woran es liegen könnte?! Danke!
Viele Grüße
Gonzolo
Du sagtest weiter oben das Du das mit dem DOIF verstanden hast, NEIN hast Du nicht. Bitte bitte tue den Helfenden einen gefallen und lese Dich erstmal ein.
Als erstes das Einsteiger PDF und danach die Commandref zu den von Dir verwendeten Modulen.
Ein einfacher set Befehl in der Konsole eingegeben kann nicht rechnen, zu mindest nicht so. der FHEM Befehl set hat eine solche Funktion nicht. Ein DOIF hingegen hat eine solche Funktion. Was set kann, im Zuge der Einführung von set Magic, ist das auslesen eines Reading Wertes innerhalb eines set Kommandos. (ja es gehen auch andere Werte, Attribut und so)
set ThermostatWohnzimmer desired-temp [dummyNachtTemp:state]
Dieser set Befehl schaltet die desired-temp vom ThermostatWohnzimmer auf den Wert welchen der Dummy dummyNachtTemp im Reading state zu stehen hat.
Bitte lese, lese und noch mal lese.
Grüße
Hallo CoolTux,
danke für Deine Nachricht. Ich werde Deinen Rat hinsichtlich des "Lesens" beherzigen. Glaube aber bitte nicht, dass ich nicht schon einiges gelesen habe, bevor ich mich an Euch wende! Ich gebe zu, dass ich nicht alles verstehe was geschrieben wird! Deswegen meine Fragen.
Dachte genau für solle Fälle gibt es die Rubrik "Anfänger"?!
Wenn nicht, dann muss ich mich in Zukunft zurückhalten und mich mit dem begnügen was ich in dem geschriebenen verstehe. :-[ Wenn jedoch die Anderen hier, meiner Meinung sind, dann bitte ich Dich meine Beiträge zukünftig zu ignorieren. Mir liegt nichts ferner als jemanden mit meinen Fragen zu nerven!
Gruß
Gonzolo
Zitat von: Gonzolo am 12 Mai 2017, 10:10:03
Hallo CoolTux,
danke für Deine Nachricht. Ich werde Deinen Rat hinsichtlich des "Lesens" beherzigen. Glaube aber bitte nicht, dass ich nicht schon einiges gelesen habe, bevor ich mich an Euch wende! Ich gebe zu, dass ich nicht alles verstehe was geschrieben wird! Deswegen meine Fragen.
Dachte genau für solle Fälle gibt es die Rubrik "Anfänger"?!
Wenn nicht, dann muss ich mich in Zukunft zurückhalten und mich mit dem begnügen was ich in dem geschriebenen verstehe. :-[ Wenn jedoch die Anderen hier, meiner Meinung sind, dann bitte ich Dich meine Beiträge zukünftig zu ignorieren. Mir liegt nichts ferner als jemanden mit meinen Fragen zu nerven!
Gruß
Gonzolo
Auch hier noch mal der Vorschlag genau zu erklären was Du möchtest wo Du hin willst und dann nimmt EIN Helfender Dich an die Hand. Ich denke auch das Deine beiden Beiträge eigentlich zusammen gehören. Sieht für mich so aus das der Readings Rechnen Beitrag also dieser hier auf den Beitrag auslesen eines Dummys auf baut.
... bedingt hängen meine beiden Beiträge zusammen, da hast du recht. Beide haben was mit meiner Heizungssteuerung zu tun. Aber vergesse mal den anderen Beitrag. Ich habe mich entscheide den anderen zu schließen um Eure Nerven zu schonen. ;)
Also nun zu dem Problem mit "Rechnen mit Readings"...
Bei dem hier beschriebenen Problem geht es darum, dass ich mit einem DOIF nur dann eine Heizung einschalten will, wenn die Termperatur vom einem "Wohnzimmerthermostat" < 2 Grad unterhalb einer vorgegebenen Tag Temperatur ist. Wie hoch diese Tag Temperatur ist, steht in einem Reading eines Dummy-Parameter namens [Steuerung:TempTag].
Am 17 April 2017, 17:39:22 hat mir Damian bereits eine Lösung präsentiert ... dachte ich ...
Zitat
Wenn Wohnzimmerthermostat im Status die Temperatur beinhaltet, dann kannst du es so definieren:
Code: [Auswählen]
define HeizON DOIF ([Wohnzimmerthermostat] < ([Heizungssteuerung:TagTemp] -2)) (Set Heizung ON)
Ich habe es dann wie folgt umgesetzt:
...
DOELSEIF
([TempWohnzimmer] < ([Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Steuerung:TempTag])
Leder funktionier das nicht und ich habe nach langen lesen ;) nicht herausgefunden, wie hier die richtige Syntax ist. :-[
DANKE!
Beste Grüße
Gonzolo
Ok ich versuche mal einen Testaufbau bei mir. Von Dir benötige ich bitte einmal ein list vom DIOF
Also oben in der Kommandozeile von FHEM Web eingeben
list DOIFNAME
Also statt DOIFNAME den Namen von Deinem DOIF
Zitat von: Gonzolo am 12 Mai 2017, 11:26:23
Am 17 April 2017, 17:39:22 hat mir Damian bereits eine Lösung präsentiert ... dachte ich ...
Damian hatte doch
heute nochmal einen kompletten code (https://forum.fhem.de/index.php/topic,71798.msg634168.html#msg634168) geliefert.
Warum schaust Du Dir das nicht nochmal genauer an?
Was Du mit den -2 Grad willst, ist doch eine Hysterese, richtig? Das ist genau der Zweck von THRESHOLD, Du solltest Dir also die Mühe machen, die Modulbeschriebung in der commandref mal anzuschauen.
Und btw.: Wenn Du eine Zeitschaltuhr suchst, mit der Du die Solltemperatur jeweils verändern kannst, schau Dir mal bei Gelegenheit weekdaytimer an (ich will aber die sowieso vorhandene Verwirrung hier nicht noch vergrößern, also vertage das erst mal).
Gruß, Beta-User
Thorsten... das brauchst Du?
Internals:
DEF ###### ------------------------Tag mit Boost
([Steuerung] eq "TempTag" and
[TempWohnzimmer] < ([Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
(set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)
###### ------------------------Nacht
DOELSEIF
([Steuerung] eq "TempNacht")
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempNacht])
###### ------------------------Off
DOELSEIF
([Steuerung] eq "OFF")
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE 2.0)
NAME Heizung_Wohnzimmer_SetTemp
NR 100
NTFY_ORDER 50-Heizung_Wohnzimmer_SetTemp
STATE initialized
TYPE DOIF
Readings:
2017-05-12 11:48:10 cmd 0
2017-05-12 11:48:10 state initialized
Condition:
0 InternalDoIf($hash,'Steuerung','STATE') eq "TempTag" and InternalDoIf($hash,'TempWohnzimmer','STATE') < (ReadingValDoIf($hash,'Steuerung','TempTag')-2.0)
1 InternalDoIf($hash,'Steuerung','STATE') eq "TempNacht"
2 InternalDoIf($hash,'Steuerung','STATE') eq "OFF"
Devices:
0 Steuerung TempWohnzimmer
1 Steuerung
2 Steuerung
all Steuerung TempWohnzimmer
Do:
0:
0 set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag]
1 set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true
1:
0 set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempNacht]
2:
0 set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE 2.0
3:
Helper:
globalinit 1
last_timer 0
sleeptimer -1
Internals:
0 Steuerung:STATE TempWohnzimmer:STATE
1 Steuerung:STATE
2 Steuerung:STATE
all Steuerung:STATE TempWohnzimmer:STATE
Itimer:
Readings:
0 Steuerung:TempTag
all Steuerung:TempTag
Regexp:
All:
State:
Attributes:
do always
group Neu
Beta-User...
Warum denken hier eigentlich alle, dass ich mir die Sachen nicht anschaue/durchlese/ausprobiere???? ::)
Ja man kann es anders bauen! Vielleicht tue ich das auch?! Trotzdem will ich verstehen wo HIER mein Fehler ist!
Oder habt Ihr es lieber, dass ich ein Thema öffne, und eine andere Methode finde, dass ich sofort das ding hier wieder zumache? Denke doch, dass es auch für andere interessant ist, wie man mit Readings rechen kann???
Aber auch Dir danke für Deinen Antwort und deine Mühe!
Viele Grüße
Gonzolo
Also
Internals:
CFGFN
DEF ([dummyTempSensorWZ] and ([?dummyTempSensorWZ] < [?dummyHzSteuerung:tempTag] - 2) ) ( set dummyThermostat on) DOELSE ()
NAME doifSetThermostat
NR 69
NTFY_ORDER 50-doifSetThermostat
STATE cmd_1
TYPE DOIF
Readings:
2017-05-12 12:03:15 Device dummyTempSensorWZ
2017-05-12 12:03:15 cmd 1
2017-05-12 12:03:15 cmd_event dummyTempSensorWZ
2017-05-12 12:03:15 cmd_nr 1
2017-05-12 12:03:15 e_dummyTempSensorWZ_STATE 13
2017-05-12 12:03:15 state cmd_1
So geht es bei mir. Ich schaue mir Dein list jetzt mal in Ruhe an
([?Steuerung] eq "TempTag" and
([TempWohnzimmer] < [?Steuerung:TempTag]-2.0) )
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
(set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)
So sollte es dann auch klappen.
Und nimm mal das do always raus bitte
Danke!!! Werde ich nachher ausprobieren! Muss leider noch ein wenig Arbeiten! :-)
ABER Vielen Dank!!!
Gonzolo
das ? in [?Steuerung] bewirkt nun was?? :)
Wenn Du noch Fragen hast einfach noch mal nachfragen.
https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger
DANKE!!! ... Was ne Schwergeburt!! ;)
ES SCHEINT ZU GEHEN!!!
Gruß
Gonzolo
Sehr schön.
Kleine Prüfungsfrage. Warum haben wir eigentlich die (?) verwendet, was wollen wir damit bezwecken?
Das gilt nicht... das habe ich schon gefragt... ABER
... ich vermute stark, dass ich damit FHEM zwinge, den Parameter auszulesen?
Ich habe es nämlich nun so gebaut:
###### ------------------------Tag mit Boost
([Steuerung] eq "TempTag" and
[TempWohnzimmer] < ([?Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
(set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)
###### ------------------------Tag ohne Boost
DOELSEIF
([Steuerung] eq "TempTag" and
[TempWohnzimmer] >= ([?Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
FHEM soll nur dann die Abfrage starten, wenn STEUERUNG auf "TempTag" umgeschaltet wird.
Denke mal ich habe die Prüfung bestanden, und gleich in der Praxis umgesetzt! :-)
Gruß
Gonzolo
Zitat von: CoolTux am 12 Mai 2017, 12:45:55
Wenn Du noch Fragen hast einfach noch mal nachfragen.
https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger (https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger)
..er hat die Doku nicht gelesen...
*duck und weg*
Oder nicht verstanden. Aber dann hätte er fragen sollen
Zitat von: Gonzolo am 12 Mai 2017, 12:54:57
Das gilt nicht... das habe ich schon gefragt... ABER
... ich vermute stark, dass ich damit FHEM zwinge, den Parameter auszulesen?
Ich habe es nämlich nun so gebaut:
###### ------------------------Tag mit Boost
([Steuerung] eq "TempTag" and
[TempWohnzimmer] < ([?Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
(set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)
###### ------------------------Tag ohne Boost
DOELSEIF
([Steuerung] eq "TempTag" and
[TempWohnzimmer] >= ([?Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
FHEM soll nur dann die Abfrage starten, wenn STEUERUNG auf "TempTag" umgeschaltet wird.
Denke mal ich habe die Prüfung bestanden, und gleich in der Praxis umgesetzt! :-)
Gruß
Gonzolo
Naja fast. FHEM arbeitet Event basiert. Du kannst Dir alle Events welche Deine Devices auslösen im Eventmonitor anschauen.
Auf ein Event kann man triggern, das tun Notify oder DOIF und lösen dann aus. Das Fragezeichen vor dem Device im DOIF sorgt dafür das auf das Event nicht getriggert wird. Es macht wenig Sinn das Dein DOIF auslöst wenn Du den Dummy Tag Nacht änderst, auch macht es wenig Sinn wenn Dein DOIF auf verändern der Soll Temperaturen für Tag Nacht reagiert. Auslöser soll einzig und allein die gemessene IST Temperatur sein und nur die löst auch nur das DOIF aus. Also zu mindest was diesen DOELSEIF Zweig an geht.
Grüße
Zitat von: CoolTux am 12 Mai 2017, 13:03:25
Oder nicht verstanden. Aber dann hätte er fragen sollen
...ich hoffe nur, dass er nunmehr die essenzielle Frage verstanden hat, was ein Trigger (bzw. Event) ist ::) .
Danke, dass Du Dir die Mühe machst, das so geduldig zu erklären ;) .
@Gonzolo: Nix für ungut, ich weiß nur zu gut, wie einfach es ist, den Wald vor lauter Bäumen nicht mehr zu sehen.
Zitat von: CoolTux am 12 Mai 2017, 13:03:25
Naja fast. FHEM arbeitet Event basiert. Du kannst Dir alle Events welche Deine Devices auslösen im Eventmonitor anschauen.
Auf ein Event kann man triggern, das tun Notify oder DOIF und lösen dann aus. Das Fragezeichen vor dem Device im DOIF sorgt dafür das auf das Event nicht getriggert wird. Es macht wenig Sinn das Dein DOIF auslöst wenn Du den Dummy Tag Nacht änderst, auch macht es wenig Sinn wenn Dein DOIF auf verändern der Soll Temperaturen für Tag Nacht reagiert. Auslöser soll einzig und allein die gemessene IST Temperatur sein und nur die löst auch nur das DOIF aus. Also zu mindest was diesen DOELSEIF Zweig an geht.
Um den Begriff "Event" und Eventbasierte Steuerung noch ein wenig "anschaulicher" zu Beschreiben:
Event = Ereignis --> Der Kaffee ist fertig geworden (Zeitpunkt)
State = Zustand --> Der Kaffee ist fertig
Jedes Event wird von FHEM ausgewertet und dadurch Aktionen gestartet (intern von FHEM und vom Anwender definierte)
im obigen Beispiel wird der Event "Kaffee ist fertig geworden" getriggert und die FHEM interne Routine setzt den Status von Brühvorgang auf fertig.
Der Event ist dann vergessen und kann nicht mehr abgefragt werden! Übrig bleibt nur der neue Zustand als Ergebnis des getriggerten Events.
Konsequenz:
- Einen Status kann ich nur Abfragen (Pollen = zyklisch Abfragen)
- Einen Event bekomme ich mitgeteilt (notify als "Empfänger" Routine)
- Ein Statuswechsel muss einen (Informations) Event erzeugen, dass sich der Status geändert hat
Konsequenz innerhalb Deiner FHEM Automation:
Ein nacktes Basis FHEM kann nicht auf Zustände reagieren. DOIF ist ein Erweiterungsmodul, welches automatisch mit installiert ist und die "Brücke" zwischen Event und Zustandsbasierter Logik schlägt
@Leon und Beta-User: nehmt das nur als Zusatz und nicht als Kritik auf ;-) Ich habe das Gefühl die Saat könnte Früchte bringen
Zitat
Es macht wenig Sinn das Dein DOIF auslöst wenn Du den Dummy Tag Nacht änderst
Genau das will ich aber!
Der [Steuerung] wird morgens auf "TempTag" umgestellt und Abends auf "TempNacht" ... Daher soll FHEM genau dann auf das EVENT reagieren und fragen wie die Temperatur ist.
Ist die Temp < als 2C unter der Soll Temperatur, dann soll die Heizung BOOSTEN. Wenn nicht (also wenn die Temperatur nur ein bissen unter dem Soll Temperatur ist) soll er einfach "normal" heizen.
Also habe ich es richtig gemacht!
@Beate-Use: Events kenne ich!! ;-)
@Gonzolo,
auch wenn Du Events kennst, hast Du die Doku nicht gelesen, weil sonst wüßtest Du, dass das "?" dafür steht, ob das Event nun triggern soll oder nicht.
Da Du triggern willst, muß also das "?" doch wieder raus.
Bloß ist damit noch nicht geklärt, wie der BOOST_MODE wieder ausgeschaltet werden soll. Also sollte in Deinen Code in den 2. Zweig noch ein BOOST_MODE false rein, oder machst Du das dann woanders?
gez.
Puh der Bär
Ich kenne Events... habe aber dazu nicht explizit die Doku gelesen (ertappt... zufrieden?? ;) )
ABER jetzt hast du nicht richtig gelesen...
Wenn er BOOSTEN soll, dann
###### ------------------------Tag mit Boost
([Steuerung] eq "TempTag" and
[TempWohnzimmer] < ([?Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
(set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)
wenn er nicht BOOSTEN soll dann
###### ------------------------Tag ohne Boost
DOELSEIF
([Steuerung] eq "TempTag" and
[TempWohnzimmer] >= ([?Steuerung:TempTag]-2.0))
(set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
Dem aufmerksamen Leser fällt auf, ... einmal (set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true) und einmal ohne...
Habe Homematic Heizungsthermostate. Mit (set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true) bringt man diese ein paar Minuten zum BOOSTEN ;-)
Jetzt bin ich zufrieden ;) , wenn man von dem Punkt absieht, ich hätte nicht richtig gelesen. Oder stand irgendwo, dass der Boost-Mode automatisch ausgeht (ok, das kann man vermuten, da HM, aber sicher ist das nicht (und viel bringen dürfte die Vorgehensweise auch nicht, weil die HM-Thermostate sowieso wissen, wie weit sie aufgehen sollen, damit es halbwegs zügig warm wird ::) . Das ist aber wieder ein ganz anderes Thema)).
Zitat von: Wuppi68 am 12 Mai 2017, 13:32:52
Um den Begriff "Event" und Eventbasierte Steuerung noch ein wenig "anschaulicher" zu Beschreiben:
Event = Ereignis --> Der Kaffee ist fertig geworden (Zeitpunkt)
State = Zustand --> Der Kaffee ist fertig
Jedes Event wird von FHEM ausgewertet und dadurch Aktionen gestartet (intern von FHEM und vom Anwender definierte)
im obigen Beispiel wird der Event "Kaffee ist fertig geworden" getriggert und die FHEM interne Routine setzt den Status von Brühvorgang auf fertig.
Der Event ist dann vergessen und kann nicht mehr abgefragt werden! Übrig bleibt nur der neue Zustand als Ergebnis des getriggerten Events.
Konsequenz:
- Einen Status kann ich nur Abfragen (Pollen = zyklisch Abfragen)
- Einen Event bekomme ich mitgeteilt (notify als "Empfänger" Routine)
- Ein Statuswechsel muss einen (Informations) Event erzeugen, dass sich der Status geändert hat
Und was für ein aktuelles Beispiel. Wo doch das Kaffeemaschinen Modul gerade interessant diskutiert wird ;D
Man könnte jetzt noch damit anfangen, dass in zeitgemäß gedämmten Häusern die Nachtabsenkung im besten Fall kosten- und CO2-neutral ist gegenüber "immer 22°". Es kann auch vorkommen, dass es teurer wird, da das Aufheizen mehr Energie verbrät als das Absenken.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 12 Mai 2017, 14:25:45
Man könnte jetzt noch damit anfangen, dass in zeitgemäß gedämmten Häusern die Nachtabsenkung im besten Fall kosten- und CO2-neutral ist gegenüber "immer 22°". Es kann auch vorkommen, dass es teurer wird, da das Aufheizen mehr Energie verbrät als das Absenken.
Gruß,
Thorsten
Aber das Thema hatten wir ja nun schon des öfteren diskutiert. Am Ende muß jeder, auf Basis der gesammelten Daten und Fakten, selber wissen wie er seine Steuerung machen will.
@Thorsten...
Zitat
in zeitgemäß gedämmten Häusern die Nachtabsenkung im besten Fall kosten- und CO2-neutral ist gegenüber "immer 22°". Es kann auch vorkommen, dass es teurer wird, da das Aufheizen mehr Energie verbrät als das Absenken.
GENAU deswegen mach ich ja den Mist!!! Wohne mit nur Rentner im Haus. Da herrscht die Meinung, dass wir nicht dämmen müssen, weil die Alten Leute garnicht mehr soviel Heizkosten sparen können in ihrem restlichen Leben, dass sich das lohnt! :-)
@Beta-User
Zitatweil die HM-Thermostate sowieso wissen, wie weit sie aufgehen sollen, damit es halbwegs zügig warm wird
Leider haben die HM-Thermostate genau da ihre Schwäche! Wenn ich 21C einstelle "ballern" die noch auch wenn es schon 23C in der Bude ist
@CoolTox
Kaffee ist ungesund! Grüner Tee ist da viel besser! :-)
DANKE IHR BUBEN!!! JETZT habe ich Euch alle wieder lieb!!! ;-)
Zitat von: CoolTux am 12 Mai 2017, 14:25:25
Und was für ein aktuelles Beispiel. Wo doch das Kaffeemaschinen Modul gerade interessant diskutiert wird ;D
wo Du ja auch im Thema bist :-)
Ich fand es halt einfacher plastischer als so abstrakte Begriffe wie Event, Trigger, Zustand so im Raum stehen zu lassen und dabei zu denken, dass der Empfänger der Botschaft dieses auch so wie ich versteht
Zitat von: Gonzolo am 12 Mai 2017, 14:34:07
Leider haben die HM-Thermostate genau da ihre Schwäche! Wenn ich 21C einstelle "ballern" die noch auch wenn es schon 23C in der Bude ist
Das ist ein bekanntes Verhalten, aber läßt sich das mit dem BOOST-Mode überlisten ??? ?!?
Mit BOOST nicht... da bin ich einfach ungeduldig und der soll WARM machen. Und das geht tatsächlich.
Zitat von: Gonzolo am 12 Mai 2017, 14:34:07
@Thorsten...
GENAU deswegen mach ich ja den Mist!!! Wohne mit nur Rentner im Haus. Da herrscht die Meinung, dass wir nicht dämmen müssen, weil die Alten Leute garnicht mehr soviel Heizkosten sparen können in ihrem restlichen Leben, dass sich das lohnt! :-)
@Beta-User
Leider haben die HM-Thermostate genau da ihre Schwäche! Wenn ich 21C einstelle "ballern" die noch auch wenn es schon 23C in der Bude ist
@CoolTox
Kaffee ist ungesund! Grüner Tee ist da viel besser! :-)
DANKE IHR BUBEN!!! JETZT habe ich Euch alle wieder lieb!!! ;-)
Coole Argumentation mit der Sanierung - nicht Diskussionsfördernd aber stimmig
Wenn der Vorlauf zu den HM Thermostaten in Grenzen konstant bleibt lernen diese auch relativ schnell wie der Raum entsprechend reagiert und überheizen dann nicht mehr
und grüner Tee ist auch nur nicht fermentierter schwarzer Tee :-)
Danke Wuppi für Deinen Einwand!! ;D
Einen noch:
Zitat von: Gonzolo am 12 Mai 2017, 13:44:07
@Beate-Use:
Wo waren da deine Gedanken? :-D
Zitat von: Wuppi68 am 12 Mai 2017, 14:41:52
Coole Argumentation mit der Sanierung - nicht Diskussionsfördernd aber stimmig
Wenn man dann noch die Nebenwirkungen mancher Dämm-Maßnahmen kennt, wird sogar ein richtiger Schuh draus...
Zitat
Wenn der Vorlauf zu den HM Thermostaten in Grenzen konstant bleibt lernen diese auch relativ schnell wie der Raum entsprechend reagiert und überheizen dann nicht mehr
...besonders iVm. einem Wandthermostat.
Btw. und wieder off-topic: warum schiebst Du nicht einfach passende Wochenprogramme auf die Thermostate? Ggf. kannst Du dann auch ganz einfach und komfortabel einzustellen eine Vorheizphase vorsehen... https://wiki.fhem.de/wiki/HomeMatic_Type_Thermostat#Templates
Sofern sich was ändert, kannst Du die dann jeweils wieder aktualisieren (für Schichtpläne, Ferien/Urlaubszeiten usw.). Reduziert den Funkverkehr und ist (nach Lektüre der Doku ;) ) einfach...
Ich fasse die Dinger jedenfalls nur noch dann an, wenn Ferien/Urlaub angesagt ist (mit einem notify, für DOIF bin ich nicht gemacht).
Zitat von: Gonzolo am 12 Mai 2017, 14:34:07
GENAU deswegen mach ich ja den Mist!!! Wohne mit nur Rentner im Haus.
Ok, dann stimmt das mit dem "zeitgemäß gedämmten Haus" halt nicht.
Zitat
Leider haben die HM-Thermostate genau da ihre Schwäche! Wenn ich 21C einstelle "ballern" die noch auch wenn es schon 23C in der Bude ist
Bei mir machen die das nicht.
Schau vielleicht mal hier: https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Der_Thermostat_heizt_.C3.BCber_die_Solltemperatur_hinaus
Zitat von: KernSani am 12 Mai 2017, 14:50:28
Einen noch:Wo waren da deine Gedanken? :-D
Die Frage ist, wo sind Deine? ...kann es sein, dass Dein Kopf da ein "h" sieht wo keins ist. Die Kunstflug-Pilotin schreibt man nämlich mit "h".
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 12 Mai 2017, 15:02:19
Die Kunstflug-Pilotin schreibt man nämlich mit "h".
Der gefällt mir ;D
Zitat von: Thorsten Pferdekaemper am 12 Mai 2017, 15:02:19
Die Frage ist, wo sind Deine? ...kann es sein, dass Dein Kopf da ein "h" sieht wo keins ist. Die Kunstflug-Pilotin schreibt man nämlich mit "h".
Kenne mich im Kunstflug nicht so gut aus ;-)
Zitat von: KernSani am 12 Mai 2017, 15:57:58
Kenne mich im Kunstflug nicht so gut aus ;-)
Aber Du hast Doch hoffentlich die verfügbare Doku zu dem Thema zur Kenntnis genommen, oder etwa nicht :o ?
Zitat von: Beta-User am 12 Mai 2017, 16:03:33
Aber Du hast Doch hoffentlich die verfügbare Doku zu dem Thema zur Kenntnis genommen, oder etwa nicht :o ?
Als Moderator muss ich die Gemeinde jetzt aber mal bitten wieder zur Sache zu kommen, bevor das hier ausartet :P (Und natürlich kenne ich Wiki und Commandref zu 69_KUNSTFLUG.pm)
off-topic an den Moderator:
Finde klasse, dass Du (und a.) den Job übernommen habt!
Vermutlich unbeabsichtigt wiederbelebt hat den Punkt jemand um 14:50:28 Uhr, vielleicht solltest Du den mal per PM zur Ordnung rufen ;) .
Gruß, Beta-User