THRESHOLD mit variablen Werten(gelöst)

Begonnen von kvo1, 04 März 2017, 01:28:24

Vorheriges Thema - Nächstes Thema

kvo1

Hallo Zusammen

ich möchte eine Dachsteuerung per THRESHOLD steuern und dabei die Werte für <hysteresis> und <target_value> variabel (aals Dummy) gestalten.
Ziel / Aufgabe:
Wenn die Höchtemp.(WG_Dach_TempA) überschritten ist soll Fenster(WG_Dach_Fenster) auffahren und bei Unterschreitung der hysteresis(WG_Dach_TempH) zufahren - aber nur wenn Automatikbetrieb (WG_Dach_Modus:AUTO) steht.

define WG_Dach_Modus dummy
attr WG_Dach_Modus devStateIcon AUTO:fts_shutter_automatic@green HAND:fts_shutter_manual@red
attr WG_Dach_Modus group Steuerung
attr WG_Dach_Modus icon fts_window_roof_open_1@orange
attr WG_Dach_Modus room EG_Wintergarten
attr WG_Dach_Modus setList state:HAND,AUTO
attr WG_Dach_Modus webCmd state
# Dummy Fester AUF (Maximaltemp)
define WG_Dach_TempA dummy
attr WG_Dach_TempA group Steuerung
attr WG_Dach_TempA icon temp_temperature_max@orange
attr WG_Dach_TempA room EG_Wintergarten
attr WG_Dach_TempA setList state:slider,20,1,35,1
attr WG_Dach_TempA webCmd state
# Dummy Fenster Hysteresis
define WG_Dach_TempH dummy
attr WG_Dach_TempH group Steuerung
attr WG_Dach_TempH room EG_Wintergarten
attr WG_Dach_TempH setList state:2,3,4,5,6,7,8,9,10
attr WG_Dach_TempH webCmd state

define WG_Dach_auto THRESHOLD WG_Sensor_TH:humidity:WG_Dach_TempH:WG_Dach_TempA AND WG_Dach_Modus:state:AUTO WG_Dach_Fenster|set @ pct 100|set @ pct 0|1


Leider ändert sich beim Ändern der Dummy´s nichts!

Hat wer ne Idee , geht das überhaupt so ?

danke
kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Damian

Hysterese kann man nur als Zahl angeben oder per set setzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kvo1

Hallo Damian,
Danke für die schnelle Antwort.
Hysterese Kann demnach nicht variabel sein, als ganze Zahl.

Das dummy WG_Dach_TempH kann doch nur ganze Zahlen annehmen!

Per set setzen würde ja bedeuten ich bräuchte ein notify welches auslöst wenn sich das dummy ändert um dann die Hysterese zu setzen?

Oder wie würde man das machen?
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Damian

Zitat von: kvo1 am 04 März 2017, 11:19:37
Hallo Damian,
Danke für die schnelle Antwort.
Hysterese Kann demnach nicht variabel sein, als ganze Zahl.

Das dummy WG_Dach_TempH kann doch nur ganze Zahlen annehmen!

Per set setzen würde ja bedeuten ich bräuchte ein notify welches auslöst wenn sich das dummy ändert um dann die Hysterese zu setzen?

Oder wie würde man das machen?

Auch so. Wahrscheinlich aber ein komplexes THRESHOLD durch ein DOIF ersetzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kvo1

Sooooo komplex find ich das eigentlich garnicht nur das ich halt hyterese und target_value Variable einstellbar / änderbar haben möchte.....WAF  :)
Das mus doch damit gehen?
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Damian

klar nicht, aber du brauchst wegen der Hysterese ein weiteres Modul.

Hier ist beschrieben, wie du auch die Hysterese variable halten kannst: https://fhem.de/commandref_DE.html#DOIF_Weitere_Anwendungsbeispiele

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

kvo1

Zitatklar nicht, aber du brauchst wegen der Hysterese ein weiteres Modul.

war/bin eigentlich wild entschlossen, das mit THRESHOLD zu lösen  ;D

wenn ich im FHEM - Dialog   set WG_Dach_auto desired 28   bzw  set WG_Dach_auto hysteresis 2   eingebe,
dann ändern sich die Werte.

das müßte doch dann per .........  set WG_Dach_auto desired WG_Dach_TempA    (WG_Dach_TempA ist der Dummy mit dem Wert) genauso gehen, aber das wird scheinbar nicht "aufgelöst"...
Meldung: WG_Dach_auto: set desired value:WG_Dach_TempA, desired value needs a numeric parameter


RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

kvo1

Hallo Damian,

.....bin nun doch Deinem Vorschlag in Richtung DOIF gefolgt.  Für meinen Anforderungen brauchte ich da nicht mal ne Hysterese.
Habe dann den Modus noch eingebaut, Ergebnis (falls es mal wer braucht)...

Wenn Modus=AUTO fährt die Jalosie jetzt bei Überschreiten einer max. Temperatur (WG_Dach_TempA) auf und bei Unterschreiter einer
min. Temperatur(WG_Dach_TempZ) wieder zu.

define di_WG_Dach_auto DOIF ([WG_Dach_Modus] eq "AUTO" and [DWG_Sensor_TH]<[WG_Dach_TempZ]) (set WG_Dach_Oben pct 0) DOELSEIF ([WG_Dach_Modus] eq "AUTO" and [DWG_Sensor_TH]>[WG_Dach_TempA]) (set WG_Dach_Oben pct 100)

geht bestimmt noch eleganter aber tut erst mal   8)

......dennoch hätte ich gern mal THRESHOLD verwendet  ;D

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Damian

Zitat von: kvo1 am 05 März 2017, 22:06:17
Hallo Damian,

.....bin nun doch Deinem Vorschlag in Richtung DOIF gefolgt.  Für meinen Anforderungen brauchte ich da nicht mal ne Hysterese.
Habe dann den Modus noch eingebaut, Ergebnis (falls es mal wer braucht)...

Wenn Modus=AUTO fährt die Jalosie jetzt bei Überschreiten einer max. Temperatur (WG_Dach_TempA) auf und bei Unterschreiter einer
min. Temperatur(WG_Dach_TempZ) wieder zu.

define di_WG_Dach_auto DOIF ([WG_Dach_Modus] eq "AUTO" and [DWG_Sensor_TH]<[WG_Dach_TempZ]) (set WG_Dach_Oben pct 0) DOELSEIF ([WG_Dach_Modus] eq "AUTO" and [DWG_Sensor_TH]>[WG_Dach_TempA]) (set WG_Dach_Oben pct 100)

geht bestimmt noch eleganter aber tut erst mal   8)

......dennoch hätte ich gern mal THRESHOLD verwendet  ;D

Wenn du keine variable Hysterese brauchst, dann hättest du doch auch den THRESHOLD nehmen können.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kvo1

ZitatWenn du keine variable Hysterese brauchst, dann hättest du doch auch den THRESHOLD nehmen können.

Die Hysterese ist ja schon variabel, WG_Dach_TempA und WG_Dach_TempZ sind ja dummy´s die ich pwer WEB ändern kann

# Dummy fuer den Modus (Hand oder Automatik)
define WG_Dach_Modus dummy
attr WG_Dach_Modus devStateIcon AUTO:fts_shutter_automatic@green HAND:fts_shutter_manual@red
attr WG_Dach_Modus group Steuerung
attr WG_Dach_Modus icon status_automatic@orange
attr WG_Dach_Modus room EG_Wintergarten
attr WG_Dach_Modus setList state:HAND,AUTO
attr WG_Dach_Modus sortby 20
attr WG_Dach_Modus webCmd state
#
# Dummy Fester AUF, (Maximaltemperatur)
define WG_Dach_TempA dummy
attr WG_Dach_TempA group Steuerung
attr WG_Dach_TempA icon temp_temperature_max@orange
attr WG_Dach_TempA room EG_Wintergarten
attr WG_Dach_TempA setList state:25,26,27,28,29,30
attr WG_Dach_TempA sortby 30
attr WG_Dach_TempA webCmd state
# attr WG_Dach_TempA setList state:slider,15,0.5,35,1
#
# Dummy Fester ZU, (Mininaltemperatur)
define WG_Dach_TempZ dummy
attr WG_Dach_TempZ group Steuerung
attr WG_Dach_TempZ icon temp_temperature_min@orange
attr WG_Dach_TempZ room EG_Wintergarten
attr WG_Dach_TempZ setList state:20,21,22,23,24
attr WG_Dach_TempZ sortby 40
attr WG_Dach_TempZ webCmd state
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB