DOIF - Holzkessel - Holz nachlegen nur beim Abkühlen nicht beim Aufheizen

Begonnen von Taasba, 30 Dezember 2017, 18:51:04

Vorheriges Thema - Nächstes Thema

Taasba

Hallo liebe Leute,

ich habe eine Heizungsanlage, die auch meine Wassertasche vom Kamin inkl. Pumpengruppe steuert (Solvis) - Hier kann ich auch die Temperatur der Wassertasche abfragen. Dise Werte werden alle 2 Minuten abgefragt.

Ich habe einen Temperaturbereich zwischen 68 und 69 Grad, bei dem ich über ein DOIF mit meinen MP3 Gong "Bitte Holz nachlegen" ausgebe. Das klappt wunderbar.

Jetzt zu dem Problem:

Die Meldung kommt sowohl beim Aufheizen als auch beim Abkühlen. Sinnvoll wäre es nur beim Abkühlen.
Mein Wunsch ist es, dass die Meldung nur kommt, wenn die Wassertasche von 70°C auf 69°C abkühlt. Also Beispielwerte 1. Wert 70°C, 2. Wert 69°C, 3. Wert  68°C.

Im Prinzip sollte es reichen, wenn man das vorherige Temperatur Reading in einen Dummy schreibt und mit dem aktuellen Reading vergleicht.

Leider fehlt mir die Erfahrung, wie ich das machen kann. Wie kann ich das umsetzen, bzw. nach was muss ich ggf. suchen?

Hier das RAW Beispiel meiner bisherigen Lösung: (verschiedene Uhrzeiten mit unterschiedlichen Laustärken der Sprachausgabe)

defmod DOIF_Holzkessel_nachlegen DOIF ([07:00-22:00] and [Solvis:S16.Holzkessel:d] >= 67.0 and [Solvis:S16.Holzkessel:d] <= 68.0) \
(set FL.Klingel_Mp3 playTone 040 01 08)\
DOELSEIF ([22:01-06:59] and [Solvis:S16.Holzkessel:d] >= 67.0 and [Solvis:S16.Holzkessel:d] <= 68.0) \
(set FL.Klingel_Mp3 playTone 040 01 05)
attr DOIF_Holzkessel_nachlegen do always
attr DOIF_Holzkessel_nachlegen room Heizung,Timer


Ich bedanke mich für Eure Tipps.

Nachtrag: so oder ähnlich?

Zeitaktuelles Readinguserreading1userreading2Aktion
00:0170°C70°C =aktuelles Readinguserreading2=vorheriges userreading1keine Aktion
00:0371°C71°C70°Cda 71°C>70°C keine Aktion
00:0570°C70°C71°Cda 70°C<71°C keine Aktion, da außerhalb Meldetemperatur
00:0769°C69°C70°Cda 69°C<70°C Aktion "Bitte Holz nachlegen"


LG Taasba
- fhem mit RasPi3 (debian-jessie) - HomeMatic (CCU2 - HMLAN-Adapter) und diverse HM Komponenten - 6 G-Tags (Anwesenheitserkennung) - SolVisMax Remotecontrol
- CUL 433 (Eigenbau - Arduino Nano C1101) - Alexa

Otto123

Hi,

als Idee: Schau Dir mal userReadings in der Doku an. Auszug:
ZitatuserReadings
Komma getrennte Liste von benutzerdefinierten Readings. Jede Definition hat folgendes Format:
<reading>[:<trigger>] [<modifier>] { <perl code> }
Diese benutzerdefinierte Readings werden bei jeder Aktualisierung der Gerätereadings
....
<modifier> kann die folgenden Werte haben:
...
difference: das Reading wird auf die Differenz zw. dem aktuellen und dem vorherigen Wert gesetzt.

Edit: Da hatten wir ja den gleichen Gedanken  ;D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Taasba

Hallo Otto,

warum habe ich das nur nicht gefunden  ::) - Super ich probiere das aus und gebe Rückmeldung.

Vorab lieben Dank :-)

Übrigends eine sehr gute Community hier - super schnelle Performance.

LG Taasba
- fhem mit RasPi3 (debian-jessie) - HomeMatic (CCU2 - HMLAN-Adapter) und diverse HM Komponenten - 6 G-Tags (Anwesenheitserkennung) - SolVisMax Remotecontrol
- CUL 433 (Eigenbau - Arduino Nano C1101) - Alexa

schwatter

Hallo Taasba,

ich habe mir auch ein DOIF gebaut. Mein Watchdog, für meine Kesseltemp funktioniert folgendermaßen.

Komme ich unter 48°C, schaltet sich eine Sonoff S20 mit einem kleinen roten Nachtlicht an, außerdem wird ein absteigender Ton über einen Lautsprecher
abgespielt. Komme ich über 48°C, passiert das umgedrehte. Die Lampe geht aus und ein aufsteigender Ton erklingt. Streich einfach das, was du nicht brauchst.


([Holzkessel:temperature:d] < 48.0) (set Firekeeper:FILTER=STATE=OFF ON ; "mpg321 /opt/fhem/audio/lotusfloete1.mp3") DOELSEIF ([Holzkessel:temperature:d] > 48.0) (set Firekeeper:FILTER=STATE=ON OFF ; "mpg321 /opt/fhem/audio/lotusfloete2.mp3")

Taasba

Hallo ertgwetz,

so geht es natürlich auch :-)

defmod DOIF_Holzkessel_nachlegen DOIF ([07:00-22:00] and [Solvis:S16.Holzkessel:d] < 69.0) \
(set FL.Klingel_Mp3 playTone 040 01 08)\
DOELSEIF ([22:01-06:59] and [Solvis:S16.Holzkessel:d] < 69.0) \
(set FL.Klingel_Mp3 playTone 040 01 05)
attr DOIF_Holzkessel_nachlegen room Heizung,Timer


Sobald die 69°C überschritten sind, wird das DOIF wieder aktiv und meldet, wenn die Temperatur wieder abfällt.

Wie war das mit den Bäumen und dem Wald...

Ich werde das Thema userreadings und difference aber noch an anderer Stelle brauchen. Also auch nochmals an Otto: "lieben Dank"

LG

Taasba
- fhem mit RasPi3 (debian-jessie) - HomeMatic (CCU2 - HMLAN-Adapter) und diverse HM Komponenten - 6 G-Tags (Anwesenheitserkennung) - SolVisMax Remotecontrol
- CUL 433 (Eigenbau - Arduino Nano C1101) - Alexa

Taasba

ok...ist doch nicht so einfach...

mit vorgenannter Lösung hatte ich Punkt 7Uhr einen Schwall von Meldungen, die nicht mehr aufhören wollten. Ergebnis ein Overflow beim Senden meiner HM-Komponenten.

Wenn ich also eine zeitgesteuerte Meldunghaben will, komme ich wohl um den Lösungsansatz von Otto nicht herum  ;) - Oder ich verstehe DOIF immer noch nicht  :o

LG Taasba
- fhem mit RasPi3 (debian-jessie) - HomeMatic (CCU2 - HMLAN-Adapter) und diverse HM Komponenten - 6 G-Tags (Anwesenheitserkennung) - SolVisMax Remotecontrol
- CUL 433 (Eigenbau - Arduino Nano C1101) - Alexa

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz