Hauptmenü

DOIF Frage ???

Begonnen von derNeue, 24 November 2016, 19:46:53

Vorheriges Thema - Nächstes Thema

derNeue

Hallo, habe heute meine Lacrosse Temp. mit meinem Eigenbau Jeelink installiert und Laufen sehr gut. :-)

Nun habe ich eine DOIf fürs Bad geschrieben.....

define HeizungBZAn DOIF ([19:00-21:00] and [Temp1:temperature] <21) (set SteckdoseBad on)
define HeizungBZAus DOIF ([19:00-21:00] and [Temp1:temperature] >22.5)(set SteckdoseBad off)

Ich möchte das zwischen der Uhrzeit wenn die Temp unter 21 ist die Heizung anschalten
und wieder  bei 22.5 aus.....

1. Das geht ja bestimmt auch noch kürzer (ich möchte das lernen)
2. das attribut  attr HeizungBZAn do always kann ich ja nicht schreiben habe ja 2 define ???

Otto123

#1
Ganz anderer Ansatz:
define HeizungBZ THRESHOLD Temp1:temperature:1.5:21.75 SteckdoseBad
define HeizungBZTime DOIF ([19:00-21:00]) (set HeizungBZ active,save) DOELSE (set HeizungBZ deactivated,save)


Oder so wie hier

Die Frage versteh ich nicht: 2. das attribut  attr HeizungBZAn do always kann ich ja nicht schreiben habe ja 2 define ???
Du musst doch attr HeizungBZAn do always und attr HeizungBZAus do always schreiben!?

Und lerne bitte Code Tags  ???

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

derNeue

erst einmal Danke Otte....ja ich lerne hier jeden Tag, aber Arbeiten, Familie und mein ALter und noch  Fhem...ich glaube das ist zur Zeit etwas zu viel. Werde aber aber auf jeden Fall reinlesen und versuchen zu verstehen...Danke

l2r

du hast 2 DOIFs definiert, anstatt ein DOIF mit 2 Bedingungen. Ich glaube das hattest du in deinem ersten Post nicht ganz auf dem Schirm und warst deshalb ein bisschen verwirrt.
Wissen ist Macht.
Ich weiß nix.
Macht nix.

derNeue

define HeizungBZ THRESHOLD Temp1:temperature:1.5:21.75 SteckdoseBad
define HeizungBZTime DOIF ([19:00-21:00]) (set HeizungBZ active,save) DOELSE (set HeizungBZ deactivated,save)


noch einmal Danke,

Ich define Heizung BZ mit dem Modul THRESHOLD mit dem Sensor und Aktor und gebe dann die Temperatur an . Aber wie verstehe ich jetzt 1.5;21,75 ???
und dann wird der Aktor SteckdoseBad Ohne on oder off geschrieben warum ???
zweite define ist mir klar....zwischen 19-21 Uhr Heizung BZ active und speichern und wenn das nicht zutrift dann HeizungBZ deactivated, save

ist beim Modul THRESHOLD active = on und deactivated =off ???


Otto123

Hier wäre die Doku

THRESHOLD weiß, dass es on und off setzen muss, das ist default. Wenn nicht müsste man es angeben.
21.75 ist der Mittelwert aus Deinen 22.5 und 21.0 Der ist die Solltemeperatur, wie bei Dir.
1.5 ist die Hysterese, also die Differenz aus Deinen Werten 22.5 minus 21.0
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

derNeue

muss ich noch do always schreiben, die Heizung ist einmal an und ausgegangen und dann nicht mehr, habe auch bis 23:oo Uhr verlängert ?

Otto123

THRESHOLD läuft autark. do always ist was DOIF spezifisches. Und für die Zeitsteuerung braucht es kein do always.

mach mal ein list HeizungBZ und poste das Ergebnis in Code tags (# Taste über den Smilies)

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

derNeue

Internals:
   DEF        Temp1:temperature:1.5:21.75 SteckdoseBad
   NAME       HeizungBZ
   NR         310
   NTFY_ORDER 50-HeizungBZ
   STATE      disabled
   TYPE       THRESHOLD
   cmd1_gt    set SteckdoseBad off
   cmd2_lt    set SteckdoseBad on
   cmd_default 2
   hysteresis 1.5
   init_desired_value 21.75
   offset     0
   sensor     Temp1
   sensor_reading temperature
   Readings:
     2016-11-24 21:47:08   cmd             wait for next cmd
     2016-11-24 21:47:08   desired_value   21.75
     2016-11-24 21:47:08   mode            deactivated
     2016-11-24 20:58:36   sensor_value    20.9
     2016-11-24 21:47:08   state           disabled
     2016-11-24 21:47:08   threshold_max   21.75
     2016-11-24 21:47:08   threshold_min   20.25
Attributes:
   disable    1
   number_format %.1f
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc


Vielen Dank

Otto123

Naja, da habe ich die Doku nicht bis zu Ende gelesen.  :-X
THRESHOLD sieht das anders als ich:
     2016-11-24 20:58:36   sensor_value    20.9
     2016-11-24 21:47:08   threshold_max   21.75
     2016-11-24 21:47:08   threshold_min   20.25

Er nimmt die Temperatur nicht als Mittelwert sondern als Maximum.
Er wartet jetzt das die Temperatur auf 20.25 sinkt und schaltet dann wieder ein.

Du gibst folgendes in die Kommandozeile ein:
set HeizungBZ offset 0.75

Damit bekommt er noch einen Offset von 0.75. Die Temperatur ist dann der Mittelwert wie ich es erklärt habe. Du wirst sehen das sich die Werte für max und min verändern.

Alternativ gibst Du set HeizungBZ desired 22.5 ein.
Damit setzt Du die obere Temperatur einfach wie bei in Deinem Ansatz auf 22.5°.

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

derNeue

Internals:
   DEF        Temp1:temperature:1.5:21.75 SteckdoseBad
   NAME       HeizungBZ
   NR         310
   NTFY_ORDER 50-HeizungBZ
   STATE      disabled
   TYPE       THRESHOLD
   cmd1_gt    set SteckdoseBad off
   cmd2_lt    set SteckdoseBad on
   cmd_default 2
   hysteresis 1.5
   init_desired_value 21.75
   offset     0.75
   sensor     Temp1
   sensor_reading temperature
   Readings:
     2016-11-24 22:04:44   cmd             wait for next cmd
     2016-11-24 21:47:08   desired_value   21.75
     2016-11-24 21:47:08   mode            deactivated
     [u][b]2016-11-24 20:58:36   sensor_value    20.9 [/b][/u]
     2016-11-24 21:47:08   state           disabled
     2016-11-24 22:04:44   threshold_max   22.5
     2016-11-24 22:04:44   threshold_min   21
Attributes:
   disable    1
   number_format %.1f
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc


geht immer noch nicht an.....und ich bin auf T: 20.2 H: 47


Otto123

Aber das Modul ist deaktiviert -->      2016-11-24 21:47:08   state           disabled

Gib set HeizungBZ active ein und er wird loswurzeln. Es dauert immer eine Minute oder so
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

derNeue

#12
define HeizungBZ THRESHOLD Temp1:temperature:1.5:21.75 SteckdoseBad
attr HeizungBZ disable 1
attr HeizungBZ number_format %.1f
attr HeizungBZ state_cmd1_gt off
attr HeizungBZ state_cmd2_lt on
attr HeizungBZ state_format _m _dv _sc
define HeizungBZTime DOIF ([19:00-23:00]) (set HeizungBZ active,save) DOELSE (set HeizungBZ deactivated,save)


meine Config.....ich habe aber nichts deaktiviert....

habe attr HeizungBZ disable 1 einmal geblockt....und schon ging die Heizung an...

kumue

siehst du im Eventmonitor Events von deinem Temperaturfühler ?
Irgendwelche event-Atrribute beim Fühler gesetzt ?

Otto123

Zitat von: derNeue am 24 November 2016, 22:19:45
habe attr HeizungBZ disable 1 einmal geblockt....und schon ging die Heizung an...
Wie meinst Du das? geblockt?

Ich war aber auch nicht bei Dir und hab es deaktiviert! Ich meine im list stand es drin! Dein Pumuckl macht auch FHEM?  :o

Warum hast Du nicht set HeizungBZ active gemacht?
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