Neues Modul - Heating_Control, WeekdayTimer

Begonnen von Dietmar63, 04 Januar 2013, 19:42:26

Vorheriges Thema - Nächstes Thema

roman1528

Zitat von: Dietmar63 am 01 März 2016, 18:35:23
Sollte zwischen  Thermostat und Fensterkontakt automatisch laufen - Es gäbe noch die Möglichkeit das Attribute delayedExecutionCond zu nutzen.

Auch dies obliegt der Verbindung zwischen Thermostat und Fensterkontakt.

Ok. schau ich mir an...

Genau das habe ich abgestellt! Keine Ferbindung mehr zwischen HT <-> SC <-> WT.
Aus einem einfachen Grund: Wenn schon FHEM warum dann nicht richtig FHEM?!? Alles kontrollieren...
Außerdem lief das instabil. Wenn ich ein Fenster auf gemacht habe ist das HT erst auf die WindowOpenTemperature gegangen... Aber kurz drauf (teilweise 10 sek.) wieder auf die Wochenprogramm-Temperatur. Ob da FHEM oder das WT reingepfuscht haben kann ich leider nicht sagen. Auf jeden Fall habe ich regelmäßig für die Luftwaffe geheizt, was mir persönlich nicht so gefällt.
Deswegen lasse ich Fensteröffnungen jetzt von FHEM kontrollieren.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Dietmar63

Bei mir hat der FK in Verbindung mit dem Thermostat bisher gut funktioniert. HC verzögert in solch einem Fall eine anstehende Schaltung
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

tomspatz

ZitatVöllig richtig - und wenn nach dem setzen des dummys die Temperatur sofort geschaltet werden soll dann Heating_Control_SetAllTemps() aufrufen
Also wenn die Bude auf Heizung "aus", ist greift das HC_aus Profil. Ich setzte mit den dummy Heizung "an", dann würde dieses HC_an Profil erstmals nach der NÄCHSTEN eingestellten Zeit die neuen Temperaturen setzen? OK so?
Und mit Heating_Control_SetAllTemps() wird das dann JETZT übernommen?? OK so ?

Wo kommt das denn rein? das verstehe ich noch nicht. :-\ SORRY

Dietmar63

bei mir durch ein notify auf das dummy, bei mir Heizung:


define Heizung                dummy ;
attr   Heizung                webCmd Aus:Ueb:Ein ;
...
define HeizStatus2            notify Heizung:.*                          {Heating_Control_SetAllTemps()} ;
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

tomspatz

Hallo Dietmar
ich habe scheinbar noch irgendwo einen Wurm drin, ich poste erst mal Code:
Das sind die drei Zustände pro Raum:
# Heizungsstereurung Büro
# anwesend
define HeizungssteuerungBueroAnwesend Heating_Control HeizungBueroRegler So|09:30|20.00 Mo-Sa|07:30|20.00 22:30|19.00 (ReadingsVal("Heizungssteuerung", "state", "no") eq "anwesend")
attr HeizungssteuerungBueroAnwesend alias Heizungssteuerung Büro anwesend
attr HeizungssteuerungBueroAnwesend devStateIcon active:Restart inactive:StandBy
attr HeizungssteuerungBueroAnwesend icon sani_heating_automatic
attr HeizungssteuerungBueroAnwesend room Heizungssteuerung
attr HeizungssteuerungBueroAnwesend windowSensor FensterBuero
# abwesend
define HeizungssteuerungBueroAbwesend Heating_Control HeizungBueroRegler 07:30|19.00 (ReadingsVal("Heizungssteuerung", "state", "no") eq "abwesend")
attr HeizungssteuerungBueroAbwesend alias Heizungssteuerung Büro abwesend
attr HeizungssteuerungBueroAbwesend devStateIcon active:Restart inactive:StandBy
attr HeizungssteuerungBueroAbwesend icon sani_heating_automatic
attr HeizungssteuerungBueroAbwesend room Heizungssteuerung
attr HeizungssteuerungBueroAbwesend windowSensor FensterBuero
# aus
define HeizungssteuerungBueroAus Heating_Control HeizungBueroRegler 11:30|4.00 Sa|11:15|28 (ReadingsVal("Heizungssteuerung", "state", "no") eq "aus")
attr HeizungssteuerungBueroAus alias Heizungssteuerung Büro aus
attr HeizungssteuerungBueroAus devStateIcon active:Restart inactive:StandBy
attr HeizungssteuerungBueroAus icon sani_heating_automatic
attr HeizungssteuerungBueroAus room Heizungssteuerung
attr HeizungssteuerungBueroAus windowSensor FensterBuero


Dann kommt der dummy zum umschalten:
define Heizungssteuerung dummy
attr Heizungssteuerung alias Heizungssteuerung
attr Heizungssteuerung devStateIcon .*anwesend:status_available .*abwesend:status_away_1 .*aus:status_standby
attr Heizungssteuerung group Heizung und Temperatur
attr Heizungssteuerung icon sani_heating
attr Heizungssteuerung room Heizungssteuerung,Verwaltung
attr Heizungssteuerung setList state:anwesend,abwesend,aus
attr Heizungssteuerung webCmd state


Und letztendlich das notyfy das darauf horcht:
define HeizungsteuerungAenderung notify Heizungssteuerung:.* {Heating_Control_SetAllTemps()}

So nachdem ich den dummy um 16:23 Uhr setze auf abwesend passiert folgendes:
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAbwesend inactive
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAbwesend active
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAbwesend nextUpdate: 2016-03-07 07:30:00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAbwesend nextValue: 19.00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAbwesend currValue: 19.00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAnwesend inactive
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAnwesend nextUpdate: 2016-03-06 22:30:00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAnwesend nextValue: 19.00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAnwesend currValue: 20.00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAus inactive
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAus nextUpdate: 2016-03-07 11:30:00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAus nextValue: 4.00
2016-03-06 16:23:34 Heating_Control HeizungssteuerungBueroAus currValue: 4.00


Parallel dazu finde ich im log:
2016.03.06 16:23:35 3: Heating_Control_SetAllTemps() done on: HeizungssteuerungBadAbwesend HeizungssteuerungBadAnwesend HeizungssteuerungBadAus HeizungssteuerungBueroAbwesend HeizungssteuerungBueroAnwesend HeizungssteuerungBueroAus HeizungssteuerungKuecheAbwesend HeizungssteuerungKuecheAnwesend HeizungssteuerungKuecheAus HeizungssteuerungSchlafzimmerAbwesend HeizungssteuerungSchlafzimmerAnwesend HeizungssteuerungSchlafzimmerAus HeizungssteuerungWohnzimmerAbwesend HeizungssteuerungWohnzimmerAnwesend HeizungssteuerungWohnzimmerAus

Doch sollte doch jetzt das HC die Temperatur sofort auf die 19 Grad setzten, macht es aber nicht.
Hoffe das das genug Futter ist.
LG
Tom

Dietmar63

Wwelche Heizung hast du? fs20, homematic?

Das Setzen der Temperatur dauert ein wenig. Du könntest während der Testphase mal bei allen HC verbose auf 4 setzen. Dann gibt das Modul logging aus.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

tomspatz

ZitatWwelche Heizung hast du? fs20, homematic?
Alles zwave.

Oder läuft das HC nur umgekehrt? Also wenn die aktuellen Temperaturen klein sind, wird "sofort" auf gross geschaltet.
Ich habe jetzt zum testen andersherum gemacht, vom anwesend mit höheren Temp. zu abwesend min niedrigeren Temp.

Dietmar63

Vielleicht wird Zwave noch nicht als Heizung erkannt - setze bitte verbose 5
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

tomspatz

Ich bediene mit HC die devices gar nicht direkt sondern über einen dummy.
Das funktioniert sonst einwandfrei.
define HeizungBueroRegler dummy
attr HeizungBueroRegler alias Heizung Büro
attr HeizungBueroRegler group Heizung und Temperatur
attr HeizungBueroRegler icon sani_heating_manual
attr HeizungBueroRegler room Büro,System
attr HeizungBueroRegler setList state:4.00,4.50,5.00,5.50,6.00,6.50,7.00,7.50,8.00,8.50,9.00,9.50,10.00,10.50,11.00,11.50,12.00,12.50,13.00,13.50,14.00,14.50,15.00,15.50,16.00,16.50,17.00,17.50,18.00,18.50,19.00,19.50,20.00,20.50,21.00,21.50,22.00,22.50,23.00,23.50,24.00,24.50,25.00,25.50,26.00,26.50,27.00,27.50,28
attr HeizungBueroRegler stateFormat {sprintf(" %.1f °C",(ReadingsNum("HeizungBueroRegler","state",0)))}
attr HeizungBueroRegler webCmd state
define HeizungBueroReglerNotify notify HeizungBueroRegler:* {\
my $reglerwert =\
ReadingsVal("HeizungBueroRegler","state","on");;\
fhem ("set HeizungBuero thermostatSetpointSet $reglerwert");;\
}


Dietmar63

Dann kann HC nicht erkennen, dass Heizungen gesteuert werden.
Nur bei Heizungen wird per Heating_Control_SetAllTemps()   auch in der Vergangenheit geschaltet.

Es gibt noch den Parameter "switchInThePast" oder so ähnlich. Damit kann man das Schalten Vergangener Zeiten erzwingen. Müsste helfen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

tomspatz

#760
aber warum funktioniert das dann einwandfrei mit den dummy?
Heating_Control_SetAllTemps()  "bewegt" doch auch NUR die einzelnen HC oder?

tomspatz

switchInThePast gefunden
das muss dann in jedem HC auf 1 stehen.

Wann wird das denn gesetzt?
Nicht mit dem notyfy.

Dietmar63

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

tomspatz

ZitatAls Attribut nach der Definition

Ja das ist mir klar. Bei jedem HC als Attribut.
Dann schalte ich mit dem dummy die zustände:
define Heizungssteuerung dummy
attr Heizungssteuerung alias Heizungssteuerung
attr Heizungssteuerung devStateIcon .*anwesend:status_available .*abwesend:status_away_1 .*aus:status_standby
attr Heizungssteuerung group Heizung und Temperatur
attr Heizungssteuerung icon sani_heating
attr Heizungssteuerung room Heizungssteuerung,Verwaltung
attr Heizungssteuerung setList state:anwesend,abwesend,aus
attr Heizungssteuerung webCmd state


Die entsprechenden HC werden dann über den dummy active und setzen dann sofort die Temperatur die zum letzten Zeitpunkt definiert wurde.
Kein notify mehr ?
Das reicht dann so ?

Dietmar63

Doch notify muss sein! Sonst kommt das Ergebnis, dass sich ein dummy geändert hat nicht bei den HC an
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm