Neues Modul - Heating_Control, WeekdayTimer

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

Vorheriges Thema - Nächstes Thema

Dietmar63

7 bedeutet wie 8 nicht Sonntag oder Samstag - siehe comnandref
WDT hat keine Repeat Funktion. Du solltest vielleicht die Empfangsbedingungen verbessern.
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

Ist das richtig das das so in die Eingabezeile eingegeben NICHT funktioniert?
set {Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")}

Dietmar63

ja


{Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")}
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
in der Tat
{Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")}
So funktioniert das prima. Wobei dann unterhalb der Eingabezeile soetwas auftaucht:
HASH(0x2c0e190)
Das ganze wird allerdings ausgeführt und ist dann auch im Log zu finden.

Habe allerdings versucht das so in einem DOIF zu verwenden.
([FensterSchlafzimmerLinks] eq "closed" and [Heizungssteuerung] eq "an" and [SchlafzimmerLueftenStatus] eq "ja") (set SchlafzimmerLueftenStatus nein, {Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")})
in diesem Fall wird es komplett ausgelassen, wobei der dummy <SchlafzimmerLueftenStatus > gesetzt wird. Und ich bin nicht sicher wo der Fehler liegt.
Bin damit auch schon im DOIF Forum unterwegs, gibt es da irgendwelche Inkompatibilitäten zwischen den Modulen?

LG
Tom

Dietmar63

An sich nicht.
Du mischt so wie du es gemacht hast fhem-Befehle und PerlCode.
Ob das in Doif als Parameter geht, kann ich nicht sagen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Mitch

Ja geht, mache ich auch mit deinem Modul
FHEM im Proxmox Container

Dietmar63

Dann vielleicht mal Logging in Doif einschalten
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Christian72D

Ich habe seit ein paar Tagen ein Problem mit dem Modul HCS: nach einem Reboot ist es nicht mehr aktiv, das war es Anfang des Jahres aber noch.
Kann sowas durch ein Update gekommen sein?
Und wie kann ich das SO einstellen daß es automatisch läuft?

tomspatz

@ Dietmar63
Ich habe ein "komisches" Verhalten ztw. kann es allerdings nicht wirklich nachvollziehen.

Ist Zustand: Pro Raum drei HC's "an", "abwesend", "aus". Diese werden mit einem notify passend "active" "inactive" gesetzt.
Bei den "an" sowie "abwesend" HC's wird auch das attr windowSensor verwendet.
Jetzt passiert folgendes (ztw.) Im Moment ist ja Status "an", Fenster auf wird erkannt aber vom "falschen" ("abwesend") HC verzögert. Das selbe "falsche" erkennt dann ja auch Fenster zu.
Es passiert halt nur wenn während das Fenster auf und das HC eine andere Temperatur setzen soll.
Komischerweise kriege ich da kein Routine raus, Einen Morgen habe ich mehrere Fenster zum passenden Zeitpunkt extra geöffnet. Das haben alle "an" HC's die Verzögerung gesetzt.
Heute schon wieder mal ein "abwesend" HC.

Kannst du dir da einen Reim raus machen? Gibt es da ggf. einen Zusammenhang mit der alphabetischen Reihenfolge? Aber das nur Manchmal  ????

LG
Tom

Dietmar63

Das hört sich in der Tat sehr merkwürdig an.
Versuch mal bei einem oder zwei problematischen  Timern mit verbose 5 im Protokoll nach Merkwürdigkeiten zu suchen.
Es wird eine Menge protokolliert

Maximal zwei damit du nicht durcheinander kommst.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

AmunRe

Ich hab da mal eine Frage,

in dem Wiki steht
Zitat{Heating_Control_SetAllTemps()}
beim ECo Mode.

Wie komme ich an diese Funktion?

Ich würde auch gern alle Temperaturen dann setzen entsprechend der ECO Funktion.

Und im Wiki ist mir ein Fehler aufgefallen:

Beim define des ECO.Mode.Aktivator DOIF fehlt am ende die abschließende Klammer.
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

Dietmar63

Verstehe ich noch nicht

Mit der obigen Funktion werden alle Temperaturen gesetzt, wenn beispielsweise auf die Inhaltsänderung eines dummys reagiert werden soll

... ECO.Mode.Aktivator DOIF
DOIF steht meines Wissens nicht in der Doku zu Heating_Control
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

AmunRe

Zitat von: Dietmar63 am 09 November 2016, 18:35:19
Verstehe ich noch nicht

Mit der obigen Funktion werden alle Temperaturen gesetzt, wenn beispielsweise auf die Inhaltsänderung eines dummys reagiert werden soll

... ECO.Mode.Aktivator DOIF
DOIF steht meines Wissens nicht in der Doku zu Heating_Control

ich hätte diese obige Funktion eben gern!

Und das zweite hab ich angehängt

4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

c2j2

#793
Ich versuche mich grad durch die Doku und diesen Thread durchzuwurschteln, und würde gern wissen, wie ich mehrere Heizungsthermostaten mit der gleichen Definition steuern kann.

Bei

define HC_wohnzimmer Heating_Control Heizungsventil_wohnzimmer_.*     <...>

kommt leider eine freundliche Meldung:

no switch in the yesterdays because of the devices type(Heizungsventil_wohnzimmer.* is not recognized as heating

Kann man so was noch einbauen? Durch alle passenden Devices iterieren?

c2j2

#794
Je tiefer man einsteigt, um so spannender wird es ;)

Problem: einfach ein Wochenprogramm, das eine Temperaturabsenkung hat (und z.B. per "set Temperaturabsenkung 2" dafür sorgt, dass alle Temperaturen um 2 Grad gesenkt werden).

Idee: benutze das "command" dieses Moduls:


define TemperaturAbsenkung dummy
attr TemperaturAbsenkung setList degree:0,1,2,3
attr TemperaturAbsenkung webCmd degree
set TemperaturAbsenkung 0
define n_TemperaturAbsenkung notify TemperaturAbsenkung:.* {{Heating_Control_SetAllTemps()}}

define HC_wohnzimmer Heating_Control Heizungsventil_wohnzimmer.Nord de Mo-Fr|05:00|22.0 Mo-Fr|06:30|20.0 Mo-Fr|15:00|21.0 So-Do|23:00|19.0 Sa-So|06:00|22.0 Fr-Sa|24:00|19.0 {\
  my $degree = max($EVENT - ReadingsVal("TemperaturAbsenkung", "degree", "0"), 16);;\
  Log(2, "set temp to " . $degree);;\
  fhem("set $NAME desiredTemperature $degree");;\
}
attr HC_wohnzimmer room Wochenprogramme


Aber da gibt es eine Optimierung, die den ALTEN Wert vergleicht, und dann das Command nicht aufruft:


2016.11.16 17:58:15 4: Heizungsventil_wohnzimmer.Nord 2016-11-16 15:00:00 10695s
2016.11.16 17:58:15 4: [HC_wohnzimmer] time=15:00/1479304800 delay=10695, nextDelay=10740, nextRetry=1479315540
2016.11.16 17:58:15 4: [HC_wohnzimmer] delayedExecutionCond:0
2016.11.16 17:58:15 4: [HC_wohnzimmer] result of delayedExecutionCond:0
2016.11.16 17:58:15 4: [HC_wohnzimmer] list of window sensors found: 'HC_wohnzimmer'
2016.11.16 17:58:15 4: [HC_wohnzimmer] condition: - Tage:7,8
2016.11.16 17:58:15 4: [HC_wohnzimmer] condition: - Tage:1,2,3,4,5
2016.11.16 17:58:15 4: [HC_wohnzimmer] Update   - past timer activated
2016.11.16 17:58:15 4: [HC_wohnzimmer] device type MAX:HeatingThermostat recognized, setModifier:desiredTemperature
2016.11.16 17:58:15 4: [HC_wohnzimmer] aktParam:22.0 newParam:22.0 - is  not disable


Somit ist dieser Weg verbaut. Wie kann man das am klügsten einbauen (ich will nicht überall eine Funktion aufrufen)? Oder ganz anders realisieren? Wie macht ihr so was, erst mal ohne Abwesenheitserkennung...

Bin grad eine Woche bei FHEM, und man entdeckt praktisch jede Stunde neue Sachen...

(mein nächster Versuch, die Temperatur als Formel berechnen zu lassen, ist leider auch fehlgeschlagen:


define HC_wohnzimmer Heating_Control Heizungsventil_wohnzimmer.Nord de Mo-Fr|05:00|{HC_Temp(23)}


weil der Teil wörtlich an die Routine übergeben wird. Schade aber auch ;)