Hauptmenü

DOIF funktioniert nur manuell

Begonnen von tomspatz, 10 Oktober 2016, 17:16:34

Vorheriges Thema - Nächstes Thema

Mitch

Zitat von: Per am 11 Oktober 2016, 13:23:33
??? Wenn es ein internes Modul aufruft, muss es dann nicht
set Heating_Control_SetTemp HeizungssteuerungSchlafzimmerAn
(oder ähnlich) lauten? Woher soll denn der Perlbefehl (!) "Heating_Control_SetTemp" bekannt sein, wenn nicht aus einer 99_(my)Util?

Nein, das passt schon, es wird eine Sub aus dem Modul Heating Control aufgerufen (ich nutze dies auch).

Aber mal eine ganz blöde Fragen, warum der DOIF überhaupt?
Also ich meine, was willst Du damit bezwecken?

Wenn es nun um die Rückstellung der Tempratur aus dem Heating Control Modul geht, dafür gibt es doch das windowSensor Attribut?
FHEM im Proxmox Container

tomspatz

@ Ellert
vielen dank, deine Aussage:
ZitatBeunruhigend ist auch, dass das DOIF nicht geschaltet hat, der Status ist noch auf initialized und cmd auf 0, also müsste der set-Befehl der das

Zitat

2016-10-11_11:05:52 SchlafzimmerLueftenStatus nein


erzeugt woanders herkommen, aber nicht aus dem DOIF.

hat mich stutzig gemacht und ich fing an weiter zu suchen. Dabei stellte ich folgendes fest. Das von mir angeprangerte DOIF ist ja Teil zwei des Lüftens.
([FensterSchlafzimmerLinks] eq "closed" and [Heizungssteuerung] eq "an" and [SchlafzimmerLueftenStatus] eq "ja") (set SchlafzimmerLueftenStatus nein, {Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")})

Der erste Teil sah so aus:
([FensterSchlafzimmerLinks] eq "open" and [Heizungssteuerung] ne "aus" and [TemperaturFuehlerSchlafzimmerAussen:temperature:d] < 17) (set SchlafzimmerLueftenStatus ja, set HeizungReglerSchlafzimmer 12.00) DOELSE (set SchlafzimmerLueftenStatus nein)

Nachdem ich dann ALLES deaktiviert habe bin ich auch darauf gekommen das ich mit dem schließen des Fensters das erste DOIF wieder triggere  :-[

So  :) funktioniert das jetzt bei Fenster auf:
([FensterSchlafzimmerLinks] eq "open" and [Heizungssteuerung] ne "aus" and [TemperaturFuehlerSchlafzimmerAussen:temperature:d] < 17) (set SchlafzimmerLueftenStatus ja, set HeizungReglerSchlafzimmer 12.00)
Und dann wieder schliessen:
([FensterSchlafzimmerLinks] eq "closed" and [Heizungssteuerung] eq "an" and [SchlafzimmerLueftenStatus] eq "ja") ({Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")}, set SchlafzimmerLueftenStatus nein)

@Mitch
ZitatWenn es nun um die Rückstellung der Tempratur aus dem Heating Control Modul geht, dafür gibt es doch das windowSensor Attribut?
Bei mir alles zwave Komponennten und ich habe pro raum drei Heating_Controll.

  • aus -> setz alle Thermostate Danfoss LC-13 auf 4 °C weniger oder echtes aus gibt es bei diesem Thermostaten nicht
  • anwesend -> setzt die Tempetratur zeitgesteuert auf "wohlfühlen"
  • abwesend -> setzt die Temperatur bei längerer Abwesenheit etwas runter

Was mir noch nicht so klar ist ob das DOIF wirklich alle Stati abfragt? Ich habe ja in beiden drei Bedingungen mit "und" verknüpft, ist das so OK?
Auch gibt es jedes Mal nachdem die Heizung wieder "Hochgefahren" wird ein "Fehler"???  im Reading des DOIF sowie auch im Logfile zu finden.
im DOIF:
error {Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")}: HASH(0x31c3f18)

und im Logfile sieht das dann so aus:
2016.10.15 11:42:44 2: LueftungSchlafzimmerAusHeizungAn: {Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn")}: HASH(0x31c3f18)

Die HASH Nummer ist ja jedes mal different, ich verstehe nur nicht ob das so OK ist denn im DOIF wird es ja als Fehler angezeigt.

LG
Tom

Ellert

Zitatich verstehe nur nicht ob das so OK ist denn im DOIF wird es ja als Fehler angezeigt.

Wenn ein Perl-Aufruf einen Wert zurückliefert, den Perl als true wertet, landet das im error-Reading des DOIF.
Versuch mal

{Heating_Control_SetTemp("HeizungssteuerungSchlafzimmerAn");; return 0}

tomspatz

Mensch Ellert du bist ja fix.
Danke für dieses, auch mit der Erklärung. Das läuft dann so TOP.
Wobei es ja KEIN Fehler innerhalb vom fhem ist sondern nur die Ausgabe, aber so ist es natürlich sauber.

Ist denn mein Gedanke mit den drei UND so OK?

Ellert


tomspatz

hmmm das klingt nicht so überzeugt ??

Mitch

Zitat von: tomspatz am 15 Oktober 2016, 14:22:24
@MitchBei mir alles zwave Komponennten und ich habe pro raum drei Heating_Controll.

  • aus -> setz alle Thermostate Danfoss LC-13 auf 4 °C weniger oder echtes aus gibt es bei diesem Thermostaten nicht
  • anwesend -> setzt die Tempetratur zeitgesteuert auf "wohlfühlen"
  • abwesend -> setzt die Temperatur bei längerer Abwesenheit etwas runter

Das ist aber nicht der Sinn von HC.
Es sollte pro Thermostat eine Definition geben. Den Rest macht man über die Attribute
FHEM im Proxmox Container

tomspatz

Hey Mitch

passt schon du machst mehrere HC und setzt immer nur einen davon aktiv.
https://forum.fhem.de/index.php/topic,10011.msg101022.html#msg101022

Da stehts
LG
Tom

Mitch

Klar geht das ;) aber ist wie gesagt, nicht Sinn der Sache
FHEM im Proxmox Container

tomspatz

Gerne gucke ich mir ein Scenario an wo so etwas über attr. gelöst ist  ;)