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
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
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
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
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
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..
..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
Hallo Micha,
nimm bitte Code Tags zum posten von Code, sonst macht das Lesen keinen Spaß.
Gruß Otto
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