Threshold mit AND schaltet nicht

Begonnen von Michael70, 16 August 2015, 17:07:29

Vorheriges Thema - Nächstes Thema

Michael70

Hallo Zusammen :-)

Ich habe mir u.a. mit Hilfe dieses Forum Eintrags meine Belüftungssteuerung (Raspi + FHEM) zusammen gebaut.

http://forum.fhem.de/index.php?topic=20693.0

Nun habe ich noch das Problem das bei der Definition von Threshold KK_Fenster_Auf das schalten im Zusammenhang mit der AND Verknüfung
nicht funnktioniert. Ich habe mich soweit an den Ursprüngelichen Code gehalten.
Was ich festgestellt habe ist das das Structure einwandfrei funktioniert, auch ein einfaches Threshold ohne AND funktioniert und schaltet
den Ausgang (Relais) für den Fensteröffner (Pin26_KKR).
Sobald ich aber das AND hinzufüge bleibt der Schaltvorgang aus.

Auszug fhem.cfg: (OWM_KK ist der Innensensor und OWM_AS der Aussensensor)

define KK_Warm THRESHOLD OWM_KK:temperature:0:10||||on:off|_sc
attr KK_Warm userattr S_type S_type_map structexclude
attr KK_Warm S_type S_KK_Fenster_HW
attr KK_Warm room OWX
attr KK_Warm state_cmd1_gt on
attr KK_Warm state_cmd2_lt off
attr KK_Warm state_format _sc
define KK_Fenster_H THRESHOLD OWM_KK:humidity:0||||on:off|_sc
attr KK_Fenster_H userattr S_type S_type_map structexclude
attr KK_Fenster_H S_type S_KK_Fenster
attr KK_Fenster_H room OWX
attr KK_Fenster_H state_cmd1_gt on
attr KK_Fenster_H state_cmd2_lt off
attr KK_Fenster_H state_format _sc
define S_KK_Fenster_HW structure S_type KK_Fenster_H KK_Warm
attr S_KK_Fenster_HW clientstate_behavior relativeKnown
attr S_KK_Fenster_HW clientstate_priority off on
attr S_KK_Fenster_HW room OWX
define KK_Luftfeuchte Heating_Control KK_Fenster_H 06:00|65 23:59|100 set @ desired %
define KK_Fenster_Auf THRESHOLD OWM_AS:dewpoint:2:OWM_KK:dewpoint:-1 AND S_KK_Fenster_HW:state:on Pin26_KKR
attr KK_Fenster_Auf number_format %.1f
attr KK_Fenster_Auf room OWX
attr KK_Fenster_Auf state_cmd1_gt off
attr KK_Fenster_Auf state_cmd2_lt on
attr KK_Fenster_Auf state_format _m _dv _sc

ein List bringt folgendes:
Internals:
   DEF        OWM_AS:dewpoint:2:OWM_KK:dewpoint:-1 AND S_KK_Fenster_HW:state:on Pin26_KKR
   NAME       KK_Fenster_Auf
   NR         57
   NTFY_ORDER 50-KK_Fenster_Auf
   STATE      external 15.5 on
   TYPE       THRESHOLD
   cmd1_gt    set Pin26_KKR off
   cmd2_lt    set Pin26_KKR on
   cmd_default 2
   hysteresis 2
   offset     -1
   operator   AND
   sensor     OWM_AS
   sensor2    S_KK_Fenster_HW
   sensor2_reading state
   sensor2_state on
   sensor_reading dewpoint
   target_reading dewpoint
   target_sensor OWM_KK
   Readings:
     2015-08-16 16:50:27   cmd             cmd2_lt
     2015-08-16 16:55:50   desired_value   15.5
     2015-08-16 16:50:16   mode            external
     2015-08-16 16:59:58   sensor2_state   on
     2015-08-16 16:50:29   sensor_value    13.7
     2015-08-16 16:55:50   state           external 15.5 on
     2015-08-16 16:55:50   threshold_max   14.5
     2015-08-16 16:55:50   threshold_min   12.5
Attributes:
   number_format %.1f
   room       OWX
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc

Logeintrag dazu:
Events (Filter:.*):
2015-08-16 16:59:33 RPI_GPIO Pin26_KKR on
2015-08-16 16:59:41 RPI_GPIO Pin26_KKR off
2015-08-16 16:59:58 structure S_KK_Fenster_HW off
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H mode: active
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H cmd: wait for next cmd
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H threshold_min: 65
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H threshold_max: 65
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H desired_value: 65
2015-08-16 16:59:58 THRESHOLD KK_Fenster_Auf sensor2_state: on
2015-08-16 16:59:58 structure S_KK_Fenster_HW on
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H cmd: cmd1_gt
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H on

(Am Anfang hatte ich den Ausgang von Hand geschaltet und danach die desired H von 100 auf 65 gesetzt).

Leider kommt auch im Log kein Eintrag der mir den Ausgang schaltet.

Internals:
   DEF        7
   NAME       Pin26_KKR
   NR         45
   RPI_pin    7
   STATE      off
   TYPE       RPI_GPIO
   Readings:
     2015-08-16 17:05:48   Pinlevel        low
     2015-08-16 16:59:41   state           off
   Fhem:
     interfaces switch
Attributes:
   alias      Kaninchenkeller Fenster
   direction  output
   room       Keller

Ich Würde freuen wenn jemand eine Idee oder Lösung dazu hat, habe schon alles mögliche Probiert...

Vielen Dank, Michael

Raspberry Pi 4 (Raspberry OS Bullseye), FHEM 6.2, 1-Wire USB Busmaster. Anwendung: Kellerlüftung und Heizung Zirkulationspumpe, Balkon PV Überschuss Steuerung

Damian

Zitat von: Michael70 am 16 August 2015, 17:07:29
Hallo Zusammen :-)

Ich habe mir u.a. mit Hilfe dieses Forum Eintrags meine Belüftungssteuerung (Raspi + FHEM) zusammen gebaut.

http://forum.fhem.de/index.php?topic=20693.0

Nun habe ich noch das Problem das bei der Definition von Threshold KK_Fenster_Auf das schalten im Zusammenhang mit der AND Verknüfung
nicht funnktioniert. Ich habe mich soweit an den Ursprüngelichen Code gehalten.
Was ich festgestellt habe ist das das Structure einwandfrei funktioniert, auch ein einfaches Threshold ohne AND funktioniert und schaltet
den Ausgang (Relais) für den Fensteröffner (Pin26_KKR).
Sobald ich aber das AND hinzufüge bleibt der Schaltvorgang aus.

Auszug fhem.cfg: (OWM_KK ist der Innensensor und OWM_AS der Aussensensor)

define KK_Warm THRESHOLD OWM_KK:temperature:0:10||||on:off|_sc
attr KK_Warm userattr S_type S_type_map structexclude
attr KK_Warm S_type S_KK_Fenster_HW
attr KK_Warm room OWX
attr KK_Warm state_cmd1_gt on
attr KK_Warm state_cmd2_lt off
attr KK_Warm state_format _sc
define KK_Fenster_H THRESHOLD OWM_KK:humidity:0||||on:off|_sc
attr KK_Fenster_H userattr S_type S_type_map structexclude
attr KK_Fenster_H S_type S_KK_Fenster
attr KK_Fenster_H room OWX
attr KK_Fenster_H state_cmd1_gt on
attr KK_Fenster_H state_cmd2_lt off
attr KK_Fenster_H state_format _sc
define S_KK_Fenster_HW structure S_type KK_Fenster_H KK_Warm
attr S_KK_Fenster_HW clientstate_behavior relativeKnown
attr S_KK_Fenster_HW clientstate_priority off on
attr S_KK_Fenster_HW room OWX
define KK_Luftfeuchte Heating_Control KK_Fenster_H 06:00|65 23:59|100 set @ desired %
define KK_Fenster_Auf THRESHOLD OWM_AS:dewpoint:2:OWM_KK:dewpoint:-1 AND S_KK_Fenster_HW:state:on Pin26_KKR
attr KK_Fenster_Auf number_format %.1f
attr KK_Fenster_Auf room OWX
attr KK_Fenster_Auf state_cmd1_gt off
attr KK_Fenster_Auf state_cmd2_lt on
attr KK_Fenster_Auf state_format _m _dv _sc

ein List bringt folgendes:
Internals:
   DEF        OWM_AS:dewpoint:2:OWM_KK:dewpoint:-1 AND S_KK_Fenster_HW:state:on Pin26_KKR
   NAME       KK_Fenster_Auf
   NR         57
   NTFY_ORDER 50-KK_Fenster_Auf
   STATE      external 15.5 on
   TYPE       THRESHOLD
   cmd1_gt    set Pin26_KKR off
   cmd2_lt    set Pin26_KKR on
   cmd_default 2
   hysteresis 2
   offset     -1
   operator   AND
   sensor     OWM_AS
   sensor2    S_KK_Fenster_HW
   sensor2_reading state
   sensor2_state on
   sensor_reading dewpoint
   target_reading dewpoint
   target_sensor OWM_KK
   Readings:
     2015-08-16 16:50:27   cmd             cmd2_lt
     2015-08-16 16:55:50   desired_value   15.5
     2015-08-16 16:50:16   mode            external
     2015-08-16 16:59:58   sensor2_state   on
     2015-08-16 16:50:29   sensor_value    13.7
     2015-08-16 16:55:50   state           external 15.5 on
     2015-08-16 16:55:50   threshold_max   14.5
     2015-08-16 16:55:50   threshold_min   12.5
Attributes:
   number_format %.1f
   room       OWX
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc

Logeintrag dazu:
Events (Filter:.*):
2015-08-16 16:59:33 RPI_GPIO Pin26_KKR on
2015-08-16 16:59:41 RPI_GPIO Pin26_KKR off
2015-08-16 16:59:58 structure S_KK_Fenster_HW off
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H mode: active
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H cmd: wait for next cmd
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H threshold_min: 65
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H threshold_max: 65
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H desired_value: 65
2015-08-16 16:59:58 THRESHOLD KK_Fenster_Auf sensor2_state: on
2015-08-16 16:59:58 structure S_KK_Fenster_HW on
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H cmd: cmd1_gt
2015-08-16 16:59:58 THRESHOLD KK_Fenster_H on

(Am Anfang hatte ich den Ausgang von Hand geschaltet und danach die desired H von 100 auf 65 gesetzt).

Leider kommt auch im Log kein Eintrag der mir den Ausgang schaltet.

Internals:
   DEF        7
   NAME       Pin26_KKR
   NR         45
   RPI_pin    7
   STATE      off
   TYPE       RPI_GPIO
   Readings:
     2015-08-16 17:05:48   Pinlevel        low
     2015-08-16 16:59:41   state           off
   Fhem:
     interfaces switch
Attributes:
   alias      Kaninchenkeller Fenster
   direction  output
   room       Keller

Ich Würde freuen wenn jemand eine Idee oder Lösung dazu hat, habe schon alles mögliche Probiert...

Vielen Dank, Michael

Die logische Verknüpfung OR bzw. AND bezieht sich immer auf cmd1_gt-Kommando, hier also: set Pin26_KKR off

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Michael70

#2
Hallo Damian,

erstmal Danke für die schnelle Antwort.

Dann wäre klar warum es nicht funktioniert, dann wäre ja "off" and "on" = "off".
Ich habe zu Kontrolle immer die States hergenommen und da waren die Zustände ja "on".

D.h. also für mich ich muß meine Threshold Abfrage umdrehen ?

define KK_Fenster_Auf THRESHOLD OWM_KK:dewpoint:2:OWM_AS:dewpoint:1 AND S_KK_Fenster_HW:state:on Pin26_KKR
attr KK_Fenster_Auf state_cmd1_gt on
attr KK_Fenster_Auf state_cmd2_lt off

Mal schauen, ich probiere es heute evtl. noch aus.

Michael

Raspberry Pi 4 (Raspberry OS Bullseye), FHEM 6.2, 1-Wire USB Busmaster. Anwendung: Kellerlüftung und Heizung Zirkulationspumpe, Balkon PV Überschuss Steuerung

Otto123

Zitat von: Michael70 am 16 August 2015, 18:27:06
Dann wäre klar warum es nicht funktioniert, dann wäre ja "off" and "on" = "off".
Nicht "wäre" sondern ist!  -> kleines einmaleins der logischen Verküpfungen:
on = 1
off = 0

1 and 1 = 1
0 and 1 = 0
1 and 0 = 0
0 and 0 = 0

1 or 1 = 1
0 or 1 = 1
1 or 0 = 1
0 or 0 = 0

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

Michael70

Hallo,

ja das ist mir schon klar, ich meinte das bezogen auf den Cmd1_gt off Befehl, der hat mir dann meine Abfrage blockiert.
Ich dachte ja der state on wäre hier der logische Verknüpfer zu den AND.
Meine Abfrage habe ich nun geändert, allerdings haben sich die Cmd Befehle bei Internals nicht geändert ?
Geändert habe ich es bei/mit den Attributen.

Danke für eine Info, Michael

Internals:
   CHANGED
   DEF        OWM_KK:dewpoint:2:OWM_AS:dewpoint:1 AND S_KK_Fenster_HW:state:on Pin26_KKR
   NAME       KK_Fenster_Auf
   NR         57
   NTFY_ORDER 50-KK_Fenster_Auf
   STATE      external 13.7 on
   TYPE       THRESHOLD
   cmd1_gt    set Pin26_KKR off
   cmd2_lt    set Pin26_KKR on
   cmd_default 2
   hysteresis 2
   offset     1
   operator   AND
   sensor     OWM_KK
   sensor2    S_KK_Fenster_HW
   sensor2_reading state
   sensor2_state on
   sensor_reading dewpoint
   target_reading dewpoint
   target_sensor OWM_AS
   Readings:
     2015-08-16 20:52:15   cmd             cmd1_gt
     2015-08-16 20:57:50   desired_value   13.7
     2015-08-16 20:14:59   mode            external
     2015-08-16 20:52:15   sensor2_state   on
     2015-08-16 20:57:52   sensor_value    16.0
     2015-08-16 20:57:50   state           external 13.7 on
     2015-08-16 20:57:50   threshold_max   14.7
     2015-08-16 20:57:50   threshold_min   12.7
Attributes:
   number_format %.1f
   room       OWX
   state_cmd1_gt on
   state_cmd2_lt off
   state_format _m _dv _sc
Raspberry Pi 4 (Raspberry OS Bullseye), FHEM 6.2, 1-Wire USB Busmaster. Anwendung: Kellerlüftung und Heizung Zirkulationspumpe, Balkon PV Überschuss Steuerung

Michael70

oh, ich habe nochmal nachgelesen, die Werte bei Attribut state_cm1_gt dienen ja nur der Anzeige.
D.h. ich muß das nochmal neu definieren.
Ich werde es testen..
Raspberry Pi 4 (Raspberry OS Bullseye), FHEM 6.2, 1-Wire USB Busmaster. Anwendung: Kellerlüftung und Heizung Zirkulationspumpe, Balkon PV Überschuss Steuerung

Michael70

..ich habe nun mein Threshold wie folgt umgeschrieben und es funktioniert nun auf den ersten Blick :-)

define KK_Fenster_Auf THRESHOLD OWM_KK:dewpoint:2:OWM_AS:dewpoint:1 AND S_KK_Fenster_HW:state:on Pin26_KKR|set @ on|set @ off|2
attr KK_Fenster_Auf number_format %.1f
attr KK_Fenster_Auf room OWX
attr KK_Fenster_Auf state_format _m _dv _sc

Ich teste noch ein wenig und werde dann nochmal berichten.

Danke, Michael
Raspberry Pi 4 (Raspberry OS Bullseye), FHEM 6.2, 1-Wire USB Busmaster. Anwendung: Kellerlüftung und Heizung Zirkulationspumpe, Balkon PV Überschuss Steuerung

Otto123

Hallo Micha,

nimm bitte Code Tags zum posten von Code, sonst macht das Lesen keinen Spaß.

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

Michael70

Guten Morgen

..stimmt, habe ich leider nicht daran gedacht, so ist es besser:


define KK_Fenster_Auf THRESHOLD OWM_KK:dewpoint:2:OWM_AS:dewpoint:1 AND S_KK_Fenster_HW:state:on Pin26_KKR|set @ on|set @ off|2
attr KK_Fenster_Auf number_format %.1f
attr KK_Fenster_Auf room OWX
attr KK_Fenster_Auf state_format _m _dv _sc


Ich habe heute morgen die Schaltvorgänge überprüft, funktioniert nun einwandfrei, jetzt kann ich nun weitere Funktionen hinzufügen...

Vielen Dank an Alle  ;D
Raspberry Pi 4 (Raspberry OS Bullseye), FHEM 6.2, 1-Wire USB Busmaster. Anwendung: Kellerlüftung und Heizung Zirkulationspumpe, Balkon PV Überschuss Steuerung