[Gelöst]Feuchtigkeitssensor soll fritzbox steckdose schalten

Begonnen von Sebastian84, 10 Februar 2022, 16:18:15

Vorheriges Thema - Nächstes Thema

Sebastian84

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
   

Otto123

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
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

Sebastian84

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

Otto123

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 :)
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

bartman121


Sebastian84

 
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.

Otto123

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
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

Sebastian84

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%
   

Nobbynews

#8
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
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

Sebastian84

Dann kommt die Fehlermeldung wenn ich das in Fhem eingeben
DE_GZ: Unknown actor device Kabelsteckdose specified

Nobbynews

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!

Otto123

#11
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 :)
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

Nobbynews


Bracew

#13
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
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

bartman121

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.