Guten Tag
Ich möchte wenn mein Feutigkeitssensor > H65% meine Fritzbox Steckdose einschaltet wo mein Entfeuchter dran ist.
Und bei einen Wert H55% wieder ausschalt.
Hier meine beiden Listen von Sensor und der Steckdose
Von Hand kann ich in Fhem die Steckdose schalten. Möchte das aber jetzt automatisch über den Sensor schalten lassen.
Danke schon mal im vorraus
Internals:
CFGFN
DEF sensor 23 IODev=deconz
FUUID 620423bf-f33f-cdd4-344f-798294a579fa0b49
FVERSION 31_HUEDevice.pm:0.252700/2021-11-28
ID S23
INTERVAL
IODev deconz
NAME Multisensor4
NR 78899
STATE H: 60.7 %
TYPE HUEDevice
lastupdated 2022-02-10 15:09:14
lastupdated_local 2022-02-10 16:09:14
manufacturername LUMI
modelid lumi.weather
name Keller Temperatur
on 1
reachable 1
swversion 20191205
type ZHAHumidity
uniqueid 00:15:8d:00:07:53:bc:db-01-0405
READINGS:
2022-02-09 21:27:43 IODev deconz
2022-02-10 15:20:19 battery 100
2022-02-10 15:20:19 batteryPercent 100
2022-02-10 16:09:14 humidity 60.7
2022-02-09 21:21:11 lastseen 2022-02-09T20:21Z
2022-02-10 15:20:19 reachable 1
helper:
devtype S
reachable 0
update_timeout 1
configList:
json:
ep 1
etag fc321e3926a0453530403429d2db21b9
lastannounced
lastseen 2022-02-10T15:08Z
manufacturername LUMI
modelid lumi.weather
name Keller Temperatur
swversion 20191205
type ZHAHumidity
uniqueid 00:15:8d:00:07:53:bc:db-01-0405
config:
battery 100
offset 0
state:
humidity 6070
lastupdated 2022-02-10T15:09:14.106
setList:
Attributes:
group Keller
icon xiaomi_multi
model lumi.weather
room Keller
stateFormat H: humidity %
Internals:
DEF fritzbox_Wohnzimmer:11657_0511892 switch,powerMeter,switch
FUUID 61c62a18-f33f-cdd4-6f7b-ba7169bb8824af22
IODev fritzbox_Wohnzimmer
LASTInputDev fritzbox_Wohnzimmer
MSGCNT 52933
NAME Kellersteckdose
NR 377
STATE Schaltzustand:Aus
<br>
Temperatur:18.0 C (measured)
<br>
Spannung:230.707 V
<br>
Verbrauch:6294 Wh
<br>
Tastensperre aktiv:Ja
TYPE FBDECT
fritzbox_Wohnzimmer_MSGCNT 52933
fritzbox_Wohnzimmer_TIME 2022-02-10 16:16:14
id 11657_0511892
props microphone,switch,powerMeter,tempSensor,switch
READINGS:
2022-02-10 16:16:14 AIN 11657 0511892
2022-02-10 16:16:14 FBNAME Kellersteckdose
2022-02-10 16:16:14 FBPROP microphone,switch,powerMeter,tempSensor,switch
2022-02-10 16:16:14 FBTYPE FRITZ!DECT 210
2022-02-10 16:16:14 ID 20017
2022-02-07 14:17:43 IODev fritzbox_Wohnzimmer
2022-02-10 16:16:14 devicelock yes
2022-02-10 16:16:14 energy 6294 Wh
2022-02-10 16:16:14 fwversion 04.17
2022-02-10 16:16:14 locked no
2022-02-10 16:16:14 mode auto
2022-02-10 16:16:14 power 0.00 W
2022-02-10 16:16:14 present yes
2022-02-10 16:16:14 state off
2022-02-10 16:16:14 tempadjust 1.5 C
2022-02-10 16:16:14 temperature 18.0 C (measured)
2022-02-10 16:16:14 voltage 230.707 V
Attributes:
devStateIcon .*An:on .*Aus:off
event-min-interval power:120
event-on-change-reading .*
eventMap yes:Ja off:Aus on:An no:Nein
group Keller
icon ge_wht_steckdose
room Keller,FBDECT
stateFormat Schaltzustand:state
<br>
Temperatur:temperature
<br>
Spannung:voltage
<br>
Verbrauch:energy
<br>
Tastensperre aktiv:devicelock
Hi,
es gibt dafür mehrere Möglichkeiten, ich hab emir dafür mal ein DOIF gebaut was den Status anzeigt und eine konfigurierbare "Bedienung" hat:
Der Code ist für die Raw Definition
defmod di_humidity_GZ DOIF ([23:00-08:00] or ([SensorGZ_Climate:humidity]<([$SELF:desired]-[$SELF:hysterese]/2) and [?PSD2_Sw:state] ne "off")) \
(set PSD2_Sw off) \
DOELSEIF ([SensorGZ_Climate:humidity]>([$SELF:desired]+[$SELF:hysterese]/2) and [?PSD2_Sw:state] ne "on") \
(set PSD2_Sw on)
attr di_humidity_GZ cmdState off|on
attr di_humidity_GZ readingList desired,hysterese
attr di_humidity_GZ setList desired:56,58,60,62,64,66,68,70 hysterese:2,5,10
attr di_humidity_GZ webCmd desired:hysterese
Musst Du bloß für deine Geräte übersetzen :)
Sensor SensorGZ_Climate
Steckdose PSD2_Sw
Gruß Otto
habe ich probiert. geht leider nicht.
defmod di_humidity_GZ DOIF ([23:00-08:00] or ([Multisensor4:humidity]<([$SELF:desired]-[$SELF:hysterese]/2) and [?Kellersteckdose:state] ne "off")) \
(set Kellersteckdose off) \
DOELSEIF ([Multisensor4:humidity]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Kellersteckdose:state] ne "on") \
(set Kellersteckdose on)
attr di_humidity_GZ cmdState off|on
attr di_humidity_GZ readingList desired,hysterese
attr di_humidity_GZ setList desired:56,58,60,62,64,66,68,70 hysterese:2,5,10
attr di_humidity_GZ webCmd desired:hysterese
hab meine Sensoren eingetrage. On und Off steht auch in mein Sensor .
Aber ich bekomme das in Fhem nicht eingegeben.
Ich schetze ich hab da noch einiges falsch
Hier ist beschrieben wie es geht.
https://wiki.fhem.de/wiki/Import_von_Code_Snippets#Wie_finde_ich_Raw_definition.3F
Also Raw Definition auf und alles auf einmal kopieren und reinwerfen.
Zitatgeht leider nicht.
ist leider eine völlig unzureichende Fehlerbeschreibung :)
für genau diesen Zweck gibt es aber schon ein Modul .... THRESHOLD ....
https://fhem.de/commandref.html#THRESHOLD
Save config
anyViews
0_System
1_UG
2_EG
3_1.OG
4_2.OG
Wecker.Aus 5_Klingel
6_Heizung
7_Muelltonne
8_Zuhause
9_Batterie
FBDECT
Garten
HUEDevice
ge_wht_steckdose Keller
Plots
Unsorted
icoEverything Everything
Commandref
Remote doc
Edit files
Select style
Event monitor
Internals:
CFGFN
DEF Multisensor4:humidity:3:60 Kellersteckdose|set @ off|set @ on
FUUID 62057c57-f33f-cdd4-ee82-ca22b00aae0df16f
NAME Hygrostat
NR 114654
NTFY_ORDER 50-Hygrostat
STATE active 60.0
TYPE THRESHOLD
cmd1_gt set Kellersteckdose off
cmd2_lt set Kellersteckdose on
cmd_default 0
hysteresis 3
init_desired_value 60
offset 0
sensor Multisensor4
sensor_reading humidity
READINGS:
2022-02-10 22:16:15 cmd cmd1_gt
2022-02-10 22:14:39 desired_value 60
2022-02-10 22:16:15 mode active
2022-02-10 22:05:50 sensor_value 62.1
2022-02-10 22:16:15 state active 60.0
2022-02-10 22:14:39 threshold_max 60
2022-02-10 22:14:39 threshold_min 57
Attributes:
number_format %.1f
room Keller
state_format _m _dv
v
Ich hab das jetzt darüber probiert.
Aber die Steckdose schaltet sich nicht an.
ich denke deine Kommandos sind fürs Heizen :)
Mein humidity THRESHOLD sieht so aus:
defmod DE_GZ THRESHOLD SensorGZ_Weather:humidity PSD2_Sw |set @ on|set @ off|1
@bartman121 hast ja Recht, aber einfacher ist das deswegen nicht ;D
Ich hab das jetzt genau so gemacht.
Wenn ich in fhem auf cmd1_gt von Hand kann ich die Kellersteckdose darüber an und über cmd2_lt ausschalten
Aber was muss ich da noch einstellen das ab 70% automatisch angeht und ab 65% wieder aus geht?
Internals:
CFGFN
DEF Multisensor4:humidity Kellersteckdose |set @ on|set @ off|1
FUUID 6205d6e0-f33f-cdd4-a0d7-77f6047c6685b00f
NAME DE_GZ
NR 124759
NTFY_ORDER 50-DE_GZ
STATE H:
TYPE THRESHOLD
cmd1_gt set Kellersteckdose on
cmd2_lt set Kellersteckdose off
cmd_default 1
hysteresis 10
offset 0
sensor Multisensor4
sensor_reading humidity
READINGS:
2022-02-11 04:59:21 cmd cmd2_lt
2022-02-11 04:58:38 state H:
Attributes:
number_format %.1f
state_cmd1_gt off|on
state_format H:65%
Zitat von: Sebastian84 am 11 Februar 2022, 07:52:24
Aber was muss ich da noch einstellen das ab 70% automatisch angeht und ab 65% wieder aus geht?
Internals:
DEF Multisensor4:humidity Kellersteckdose |set @ on|set @ off|1
FUUID 6205d6e0-f33f-cdd4-a0d7-77f6047c6685b00f
NAME DE_GZ
Siehe commandref: https://fhem.de/commandref_DE.html#THRESHOLD (https://fhem.de/commandref_DE.html#THRESHOLD)
ZitatBeispiele für Belüftungssteuerung:
Einfache Belüftung anhand der Luftfeuchtigkeit:
Es soll gelüftet werden, wenn die Feuchtigkeit im Zimmer über 70 % ist; bei 60 % geht der Lüfter wieder aus.
define TH_hum THRESHOLD sens:humidity:10:70 ventilator|set @ on|set @ off|1
Die def ändern in:
defmod DE_GZ THRESHOLD Multisensor4:humidity:5:70 Kellersteckdose |set @ on|set @ off|1
Edit: falsche Bezeichnung im device geändert
Dann kommt die Fehlermeldung wenn ich das in Fhem eingeben
DE_GZ: Unknown actor device Kabelsteckdose specified
Zitat von: Sebastian84 am 11 Februar 2022, 08:49:59
Dann kommt die Fehlermeldung wenn ich das in Fhem eingeben
DE_GZ: Unknown actor device Kabelsteckdose specified
Soviel Intelligenz um zu erkennen, dass ich ein falsches device angegeben habe, hätte ich schon erwartet....
Es muss natürlich Kellersteckdose heißen und nicht Kabelsteckdose!
Zitat von: Sebastian84 am 11 Februar 2022, 07:52:24
Aber was muss ich da noch einstellen das ab 70% automatisch angeht und ab 65% wieder aus geht?
Einfach die set Befehle verwenden?
set ... desired 70
set ... hysteresis 5
btw:
help threshold hilft auch weiter, da steht in wenigen Schritten wie es geht :)
Zitat von: Otto123 am 11 Februar 2022, 09:01:46
Einfach die set Befehle verwenden?
Auch eine Möglichkeit.
Hallo,
ich schalten meinen Entfeuchter im Keller mit einer Funksteckdose wie folgt:
# #################################################################
# Entfeuchter schalten im Keller
# #################################################################
#
# on-for-Timer der Funksteckdose beibringen, setExtensions nachruesten
#
define Entfeuchter readingsProxy Steckdose_BS7
attr Entfeuchter group Entfeuchter
attr Entfeuchter room Keller
attr Entfeuchter setList on off
attr Entfeuchter valueFn {$LASTCMD}
#
# Entfeuchter 1800sec.=30min. an bei mehr als 56% Rel. Feuchtigkeit
# Pause zwischen Aus und An 1800sec.=30,0min.
#
define Entfeuchter_Automatik DOIF (([08:30-20:30] and [SensorKeller:humidity] > 56.0) or ([20:31-08:29] and [SensorKeller:humidity] > 70.0)) (set Entfeuchter on-for-timer 1800)
attr Entfeuchter_Automatik cmdpause 1000
attr Entfeuchter_Automatik do always
attr Entfeuchter_Automatik room hidden
attr Entfeuchter_Automatik group Entfeuchter
#
# Not-Aus fuer Entfeuchter jeden Abend, falls Funkbefehl nicht angekommen
# https://forum.fhem.de/index.php?topic=56057.0
#
define Entfeuchter_NotAus at *21:16:00 define Entfeuchter_NotAusDummy at +*{3}00:00:11 set Entfeuchter off
attr Entfeuchter_NotAus room hidden
attr Entfeuchter_NotAus group Entfeuchter
#
Gruß Bracew
Bracew, natürlich kann man das auch mit x-devices lösen. Dass das ein ziemlich wackliges Konstrukt ist, dass sollte dir klar sein. Selbst wenn du nur ein Gerät umbenennst, dann knallt es.
Ich muss aber noch Klugscheißen:
- das direkte Editieren des fhem.cfg ist nicht empfohlen und birgt lustige Gefahren, versuche andere Wege zu finden. Es gibt beispielsweise auch ein attribut "comment" um Kommentare zu einem Device zu hinterlegen
- Wer hat sich eigentlich die Force-Off-Funktion überlegt? Der Name NotAus ist im technischen Content definitiv anders zu verwenden. Insbesondere folgende Themen sind bei NotAus extrem wichtig: Notaus versetzt das angeschlossene Gerät (SICHER und Zuverlässig!) in einen sicheren Zustand (üblicherweise auch spannungsfrei) und noch wichtiger NotAus muss nach Auslösung verriegeln, d.h. man muss ihn manuell (üblicherweise und technisch richtig, natürlich vor Ort am Gerät) zurücksetzen
Natürlich ist auch ein Doif eine schlanke Lösung, aber THRESHOLD hat mal Jemand, mit viel Gehirnschmalz, genau für den hier geforderten Anwendungsfall entwickelt.
Hallo bartman121,
dann will ich auch mal Klugscheißen:
- das "wackelige Konstrukt" funktioniert seit Jahren wunderbar!
- das direkte Editieren des fhem.cfg funktioniert ebenfalls seit Jahren wunderbar und ist meine Empfehlung!
Die Diskussion darüber führen wir hier im Forum an anderen Stellen immer wieder, dennoch bin ich immer noch ein Fan vom direkten editieren. Ich bin mir dessen bewusst, dass es andere Meinungen gibt. Aber, lasst mir doch meine Meinung dazu. Ich lass Dir ja auch Deine! - ich benenne mein "NotAus" so wie ich es verstehe und wie die Namen zu mir sprechen. Wie andere ihre Namen gestalten ist mir egal. Aber, ich bin mir sicher, dass der Sinn von "NotAus" auch in Jahren in meiner FHEM Programmierung von mir und ggf. auch von anderen verstanden wird.
- ich möchte dem Ursprungsfragesteller (Sebastian84) nur ein Beispiel zeigen, wie andere (ich z.B.) es lösen. Ob er es verwendet, nachbaut oder andere Namen, anderes Edit oder Lösungen verwendet, kann er entscheiden, wie er will. Eine Off-Topic Diskussion bringt ihn nicht weiter.
Zitat
das direkte Editieren des fhem.cfg funktioniert ebenfalls seit Jahren wunderbar und ist meine Empfehlung!
Solange du keine Module verwendest/verwenden willst, die mit rereadcfg Probleme haben (denn das wird beim manuellen editieren aufgerufen): mache es einfach
Aber: empfehlen würde ich das KEINESFALLS!
Gruß, Joachim
Guten Abend
Danke für die super Hilfe.
Hat alles super THRESHOLD geklappt.
Da hat sich jemand was richtig gutes einfallen lassen
Zitat von: Sebastian84 am 12 Februar 2022, 22:52:37
Guten Abend
Danke für die super Hilfe.
Hat alles super THRESHOLD geklappt.
Da hat sich jemand was richtig gutes einfallen lassen
Danke :D
Hallo Sebastian84,
prima, dass es nun funktioniert.
Es wäre schön, wenn Du Deine Lösung hier veröffentlichen könntest.
Vielleicht kann ich dann noch etwas lernen ;)
Gruß Bracew
So sieht bei mir aus.
Save config
anyViews
0_System
1_UG
2_EG
3_1.OG
4_2.OG
Wecker.Aus 5_Klingel
6_Heizung
7_Muelltonne
8_Zuhause
9_Batterie
FBDECT
Garten
HUEDevice
ge_wht_steckdose Keller
Plots
Unsorted
icoEverything Everything
Commandref
Remote doc
Edit files
Select style
Event monitor
Internals:
DEF Multisensor4:humidity:5:70 Kellersteckdose |set @ on|set @ off|1
FUUID 620625b1-f33f-cdd4-da34-ff76c2658438799c
NAME DE_GZ
NR 393
NTFY_ORDER 50-DE_GZ
STATE active 70.0
TYPE THRESHOLD
cmd1_gt set Kellersteckdose on
cmd2_lt set Kellersteckdose off
cmd_default 1
hysteresis 5
init_desired_value 70
offset 0
sensor Multisensor4
sensor_reading humidity
READINGS:
2022-02-13 20:27:28 cmd cmd2_lt
2022-02-13 19:02:15 desired_value 70
2022-02-13 19:02:15 mode active
2022-02-13 21:32:06 sensor_value 62.09
2022-02-11 10:02:42 state active 70.0
2022-02-13 19:02:15 threshold_max 70
2022-02-13 19:02:15 threshold_min 65
Attributes:
number_format %.1f
room Keller
state_format _m _dv
Ab wieviel % Luftfeuchtigkeit schaltet ihr im Keller den Entfeucher an und aus.
Ich muss dazu sagen das ich den Keller als Wäscheraum und Lager benutze. Ich habe da auch eine Heizung die auf 18 Grad am Tag und 17 Grad in der Nacht eingestellt ist.
Hallo Sebastian84,
eine Frage hinter vorgehaltener Hand (...weil meine Liebe zum direkte Editieren der fhem.cfg hier ja als verpönt angesehen wird...), könntest Du auch einen Auszug aus der fhem.cfg einstellen? Danke!
Bezüglich der "...% Luftfeuchtigkeit..." streiten sich die (Schimmelpilz-)Gelehrten. Auch hier im Forum gibt es Diskussionen dazu. Als Bauingenieur habe ich einmal in Kurzfassung pi mal Daumen (ohne Rechtsanspruch) gelernt, dass eine Wand(!)temperatur über 17°C bei eine Luftfeuchte unter 65% relative Luftfeuchte auf der sicheren Seite liegen soll um Schimmelpilze an Wänden zu vermeiden. Je höher die Wandtemperatur und je tiefer die relative Luftfeuchte, desto sicherer wird es keinen Schimmelpilzbefall zu bekommen. Dafür wird aber der Energieeinsatz deines Luftentfeuchters und deiner Heizung umso höher und teurer.
Zitat von: Bracew am 14 Februar 2022, 09:28:40
eine Frage hinter vorgehaltener Hand (...weil meine Liebe zum direkte Editieren der fhem.cfg hier ja als verpönt angesehen wird...), könntest Du auch einen Auszug aus der fhem.cfg einstellen? Danke!
:o
Dann frage doch ganz unverfänglich nach einer Kopie aus der Raw Definition, der ist identisch ... ;)
Zitat von: Otto123 am 14 Februar 2022, 10:00:16
:o
Dann frage doch ganz unverfänglich nach einer Kopie aus der Raw Definition, der ist identisch ... ;)
Ok, gerne, danke!
Hiermit frage ich "....ganz unverfänglich nach einer Kopie aus der Raw Definition"
defmod DE_GZ THRESHOLD Multisensor4:humidity:5:70 Kellersteckdose |set @ on|set @ off|1
attr DE_GZ number_format %.1f
attr DE_GZ room Keller
attr DE_GZ state_format _m _dv
setstate DE_GZ active 70.0
setstate DE_GZ 2022-02-13 20:27:28 cmd cmd2_lt
setstate DE_GZ 2022-02-13 19:02:15 desired_value 70
setstate DE_GZ 2022-02-13 19:02:15 mode active
setstate DE_GZ 2022-02-14 11:23:56 sensor_value 55.1
setstate DE_GZ 2022-02-11 10:02:42 state active 70.0
setstate DE_GZ 2022-02-13 19:02:15 threshold_max 70
setstate DE_GZ 2022-02-13 19:02:15 threshold_min 65
Wir schlafen im Keller! Besonders kritisch ist der Sommer, bei einer rel. Feuchte von über 75% wird es grenzwertig für Material und Mensch. Deswegen lassen wir insb. im Sommer das Wasser der Fußbodenheizung durchgehend zirklulieren. Das erhöht die Raumtemperatur im Keller, senkt gleichzeitig die relative Luftfeuchte und kühlt ein wenig die oberen Etagen. An heißen feuchten Tagen im Sommer - muss das Fenster zubleiben und zur Not muss der Luftentfeuchter aushelfen.
Soweit läuft alles super. Aber da ich immer Wäsche im Keller aufhänge schaltet sich der Entfeuchter oft ein. Kann mann
Mehrere Sachen einstellen?
Wie Zeiten und Mehrere Luftfeuchtigkeit Werte in den device
threshold
Zitat von: Sebastian84 am 18 Februar 2022, 16:44:18
Soweit läuft alles super. Aber da ich immer Wäsche im Keller aufhänge schaltet sich der Entfeuchter oft ein. Kann mann
Mehrere Sachen einstellen?
Wie Zeiten und Mehrere Luftfeuchtigkeit Werte in den device
threshold
Du kannst THRESHOLD mit DOIF gut kombinieren. Im DOIF definierst du die Zeiten und Schwellenwerte, die du per set <mythreshold> desired setzt.
Zitat von: Sebastian84 am 18 Februar 2022, 16:44:18
Soweit läuft alles super. Aber da ich immer Wäsche im Keller aufhänge schaltet sich der Entfeuchter oft ein. Kann mann
Mehrere Sachen einstellen?
Wie Zeiten und Mehrere Luftfeuchtigkeit Werte in den device
threshold
Oder Du nimmst meinen Vorschlag aus Antwort #1 ;D
Wie kann ich raw definition speichern
Zitat von: Sebastian84 am 18 Februar 2022, 17:38:28
Wie kann ich raw definition speichern
Wenn du links oben das "grüne Plus" hast, dann darüber...
...ansonsten: einfach irgendein Device wählen (Detailansicht) ganz unten dann "Raw definition" klicken, den Inhalt löschen (keine Angst du löschst damit NICHT das Device das du ausgewählt hast) und dann die RawDef einfügen uns "execute"...
https://wiki.fhem.de/wiki/Import_von_Code_Snippets
Gruß, Joachim
Dann kommt das und er speichert es nicht
defmod di_humidity_GZ DOIF ([23:00-08:00] or ([Multisensor4:humidity]<([$SELF:desired]-[$SELF:hysterese]/2) and [?Kellersteckdose:state] ne "off")) \
(set Kellersteckdose off) \
DOELSEIF ([Multisensor4:humidity]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Kellersteckdose:state] ne "on") \
(set Kellersteckdose on)
attr di_humidity_GZ cmdState off|on
attr di_humidity_GZ readingList desired,hysterese
attr di_humidity_GZ setList desired:56,58,60,62,64,66,68,70 hysterese:2,5,10
attr di_humidity_GZ webCmd desired:hysterese
v
Das habe ich eingefügt
wieso meinst Du das?
mach mal list di_humidity_GZ
Es wird ja auch nichts gespeichert...
Oben links sollte aber das rote Fragezeichen sein.
Die Maske ist ja nur für die Eingabe.
Die Dialogbox zeigt dir, dass alles i.O. war und in der Konfiguration drin ist (sein sollte)...
Gruß, Joachim
Ja hat geklappt
Aber ich bekomme ne Warnmeldung
Save config
anyViews
0_System
1_UG
2_EG
3_1.OG
4_2.OG
Wecker.Aus 5_Klingel
6_Heizung
7_Muelltonne
8_Zuhause
9_Batterie
FBDECT
Garten
HUEDevice
ge_wht_steckdose Keller
Plots
Unsorted
icoEverything Everything
Commandref
Remote doc
Edit files
Select style
Event monitor
Internals:
CFGFN
DEF ([23:00-08:00] or ([Multisensor4:humidity]<([$SELF:desired]-[$SELF:hysterese]/2) and [?Kellersteckdose:state] ne "off"))
(set Kellersteckdose off)
DOELSEIF ([Multisensor4:humidity]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Kellersteckdose:state] ne "on")
(set Kellersteckdose on)
FUUID 620fd583-f33f-cdd4-d638-f8aabcf0541fb691
MODEL FHEM
NAME di_humidity_GZ
NOTIFYDEV global,Multisensor4,di_humidity_GZ
NR 168812
NTFY_ORDER 50-di_humidity_GZ
STATE on
TYPE DOIF
VERSION 25295 2021-12-04 18:13:39
READINGS:
2022-02-18 18:28:31 Device Multisensor4
2022-02-18 18:28:08 cmd 2
2022-02-18 18:28:08 cmd_event di_humidity_GZ
2022-02-18 18:28:08 cmd_nr 2
2022-02-18 18:28:08 desired 64
2022-02-18 18:28:31 e_Multisensor4_humidity 65.55
2022-02-18 18:28:08 e_di_humidity_GZ_desired 64
2022-02-18 18:21:07 mode enabled
2022-02-18 18:28:08 state on
2022-02-18 18:21:07 timer_01_c01 18.02.2022 23:00:00
2022-02-18 18:21:07 timer_02_c01 19.02.2022 08:00:00
2022-02-18 18:28:31 warning condition c02: Argument "" isn't numeric in division (/)
Regex:
accu:
collect:
cond:
Multisensor4:
0:
humidity ^Multisensor4$:^humidity:
1:
humidity ^Multisensor4$:^humidity:
di_humidity_GZ:
0:
desired ^di_humidity_GZ$:^desired:
hysterese ^di_humidity_GZ$:^hysterese:
1:
desired ^di_humidity_GZ$:^desired:
hysterese ^di_humidity_GZ$:^hysterese:
attr:
cmdState:
0:
off
1:
on
wait:
waitdel:
condition:
0 ::DOIF_time($hash,0,1,$wday,$hms) or (::ReadingValDoIf($hash,'Multisensor4','humidity')<(::ReadingValDoIf($hash,'di_humidity_GZ','desired')-::ReadingValDoIf($hash,'di_humidity_GZ','hysterese')/2) and ::ReadingValDoIf($hash,'Kellersteckdose','state') ne "off")
1 ::ReadingValDoIf($hash,'Multisensor4','humidity')>(::ReadingValDoIf($hash,'di_humidity_GZ','desired')+::ReadingValDoIf($hash,'di_humidity_GZ','hysterese')/2) and ::ReadingValDoIf($hash,'Kellersteckdose','state') ne "on"
days:
do:
0:
0 set Kellersteckdose off
1:
0 set Kellersteckdose on
2:
helper:
DEVFILTER ^global$|^di_humidity_GZ$|^Multisensor4$
NOTIFYDEV global|di_humidity_GZ|Multisensor4
event humidity: 65.55
globalinit 1
last_timer 2
sleeptimer -1
timerdev di_humidity_GZ
timerevent desired: 64
triggerDev Multisensor4
timerevents:
desired: 64
e_di_humidity_GZ_desired: 64
warning: condition c01: Argument "" isn't numeric in division (/)
warning: condition c02: Argument "" isn't numeric in division (/)
cmd_nr: 2
cmd: 2
cmd_event: di_humidity_GZ
on
timereventsState:
desired: 64
e_di_humidity_GZ_desired: 64
warning: condition c01: Argument "" isn't numeric in division (/)
warning: condition c02: Argument "" isn't numeric in division (/)
cmd_nr: 2
cmd: 2
cmd_event: di_humidity_GZ
on
triggerEvents:
humidity: 65.55
triggerEventsState:
humidity: 65.55
internals:
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1645221600
1 1645254000
readings:
all Multisensor4:humidity di_humidity_GZ:desired di_humidity_GZ:hysterese
realtime:
0 23:00:00
1 08:00:00
time:
0 23:00:00
1 08:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1645221600:
localtime 1645221600
hash:
1645254000:
localtime 1645254000
hash:
uiState:
uiTable:
Attributes:
cmdState off|on
readingList desired,hysterese
room Keller
setList desired:56,58,60,62,64,66,68,70 hysterese:2,5,10
webCmd desired:hysterese
warning: condition c01: Argument "" isn't numeric in division (/)
Und meine Zweite Frage ist die Schaltzeit mit Uhrzeiten zu
Hinterlegen. Die sind zwar drin aber er schaltet obwohl er zu der Zeit nicht darf.
Du hast die Hysterese nicht gesetzt
derzeit ist zwischen 23:00 und 8:00 ausgeschaltet - sonst schaltet der Regler
Du kannst die Zeiten ja anpassen oder weitere einfügen
Das erste habe ich gemacht.
Heißt das jetzt das zwischen 23 und 8 Uhr egal ob zu feucht ist der Lüfter (die Steckdose nicht an geht?) Oder geht die zu der Zeit an?
das DOIF hat doch nur zwei Zweige:
Der Erste schaltet aus wenn die Bedingung wahr ist: die Zeitspanne ist mit oder verknüpft, in der Zeitspanne ist die Bedingung wahr.
Der Zweite schaltet ein: Wenn der eingestellte Wert überschritten und die Steckdose nicht schon an ist.
Der zweite Zweig wird nur evaluiert wenn der Erste nicht schon wahr ist.
Ich persönlich würde es in zwei Module unterteilen, dann ist die Logik einfacher nachvollziehbar.
Das eine Modul DOIF oder THRESHOLD hält die Temperatur, das andere Modul z. B. DOIF gibt zeitabhängig die Temperatur vor.
Ich wollt nur mal erwähnen, dass bei meinem Lösungsansatz mit DOIF zu vor:
- in der Zeit zwischen 08:30-20:30 (Tags) der Entfeuchter bei mehr als 56.0% rel. Luftfeuchte angeht.
- in der restlichen Zeit 20:31-08:29 (Nachts) der Entfeuchter nur bei mehr als 70% rel. Luftfeuchte angeht.
so läuft der Entfeuchter am Tag im Regelbetrieb je 30 Minuten lang. Falls es danach immer noch zu feucht ist, geht er wieder an. In der Nacht ist der Entfeuchter in der Regel aus und damit lautlos.
Ja das klappt super.
Wie bekomme ich da eine Pause rein. Nachdem der Entfeuchter gelaufen ist. Soll sich die Feuchtigkeit erstmal wieder sammeln und nach 30 Min wieder schalten.?
Die Pause kommt von allein.
Sollte nach 30 Minuten die Feuchtigkeit im "Grünen" Bereich (in meinem Beispiel kleiner 56.0% rel. Luftfeuchte) sein, bleibt der Entfeuchter aus (Pause).
Ist die Feuchtigkeit im "Roten" Bereich, geht der Entfeuchter wieder für 1800 Sekunden=30 Minuten (in meinem Beispiel) an.
Dieses Spiel geht den ganzen Tag über. Nachts liegt die Feuchtigkeits-Schwelle höher für mehr Ruhe.
Bei mir ging die Luftfeuchte bisher nie über 70%. Der Entfeuchter hat es tagsüber geschaft.
Im Winter läuft der Entfeuchter bei mir fast nie, meist nur während der wärmeren Jahreszeit.
Deshalb würde eine Be- oder Entlüftung meiner Meinung nach keinen Sinn machen, sondern nur eine Entfeuchtung. Eine Be- oder Entlüftung würde nur warme und feuchte Luft ins Haus holen.
Ich hab das ausprobiert. Es kommen aber Fehler
Save config
anyViews
0_System
1_UG
2_EG
3_1.OG
4_2.OG
Wecker.Aus 5_Klingel
6_Heizung
7_Muelltonne
8_Zuhause
9_Batterie
FBDECT
Garten
HUEDevice
ge_wht_steckdose Keller
Plots
Unsorted
icoEverything Everything
Commandref
Remote doc
Edit files
Select style
Event monitor
Internals:
CFGFN
DEF (([08:30-20:30] and [Multisensor4 humidity] > 62.0) or ([20:31-08:29] and [Multisensor4 humidity] > 70.0)) (set Kellersteckdose on-for-timer 1800)
FUUID 621147e9-f33f-cdd4-2671-d472386eb9566452
MODEL FHEM
NAME Entfeuchter_Automatik
NOTIFYDEV global
NR 27556
NTFY_ORDER 50-Entfeuchter_Automatik
STATE initialized
TYPE DOIF
VERSION 25295 2021-12-04 18:13:39
READINGS:
2022-02-19 20:41:29 cmd 0
2022-02-19 20:41:29 mode enabled
2022-02-19 20:41:29 state initialized
2022-02-19 20:41:29 timer_01_c01 20.02.2022 08:30:00
2022-02-19 20:41:29 timer_02_c01 20.02.2022 20:30:00
2022-02-19 20:41:29 timer_03_c01 error: Wrong timespec Multisensor4humidity: either HH:MM:SS or {perlcode}
2022-02-19 20:41:29 timer_04_c01 20.02.2022 20:31:00
2022-02-19 20:41:29 timer_05_c01 20.02.2022 08:29:00
2022-02-19 20:41:29 timer_06_c01 error: Wrong timespec Multisensor4humidity: either HH:MM:SS or {perlcode}
Regex:
accu:
collect:
attr:
cmdpause:
1000
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms) and ::DOIF_time_once($hash,2,$wday) > 62.0) or (::DOIF_time($hash,3,4,$wday,$hms) and ::DOIF_time_once($hash,5,$wday) > 70.0)
days:
do:
0:
0 set Kellersteckdose on-for-timer 1800
1:
helper:
DEVFILTER ^global$
NOTIFYDEV global
globalinit 1
last_timer 6
sleeptimer -1
interval:
0 -1
1 0
3 -1
4 3
intervalfunc:
localtime:
0 1645342200
1 1645385400
3 1645385460
4 1645342140
realtime:
0 08:30:00
1 20:30:00
3 20:31:00
4 08:29:00
time:
0 08:30:00
1 20:30:00
2 Multisensor4humidity
3 20:31:00
4 08:29:00
5 Multisensor4humidity
timeCond:
0 0
1 0
2 0
3 0
4 0
5 0
timer:
0 0
1 0
2 0
3 0
4 0
5 0
timers:
0 0 1 2 3 4 5
triggertime:
1645342140:
localtime 1645342140
hash:
1645342200:
localtime 1645342200
hash:
1645385400:
localtime 1645385400
hash:
1645385460:
localtime 1645385460
hash:
uiState:
uiTable:
Attributes:
cmdpause 1000
do always
group Entfeuchter
room Keller
Oder kann man über cmdpause:1000 im Betrieb eine Pausen länge erzwingen
ZitatEs kommen aber Fehler
bisschen besser auf die Grammatik achten:
Zitat[Multisensor4 humidity]
sollte
Zitat[Multisensor4:humidity]
sein.
Gruß