Brenner anschalten mit FHT

Begonnen von Sonic, 24 März 2013, 13:58:30

Vorheriges Thema - Nächstes Thema

Puschel74

Hallo,

so stimmt die Anzahl der ( und ) natürlich auch wieder ;-)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Sonic


Hallo Puschel74
Hallo Zrrronggg!,

wenn ich Euch richtig verstanden habe muss das Endergebnis dann so wie unten aussehen.
Ich habe das soeben in die .cfg eingetragen.
Werde es dann heute Abend testen.

Seht Ihr das so jetzt richtig ?
Wenn du damit Recht hast, das alles nach elsif in geschweifte Klammern muss, dann sollte der Code hier Final doch funktionieren ?

Ich werde Euch berichten.
danke
gruss




define BrennerSteuerung notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22) && (Value("Heizung_Brenner") eq "off" ) { fhem ("set Heizung_Brenner on") } elsif { (ReadingsVal("thermostat","measured-temp",20) > 25 && (Value("Heizung_Brenner") eq "on" ) { fhem ("set Heizung_Brenner off") } } }

Zrrronggg!

Nope. Bitte lies meinen Post vorher:

ZitatD.H. da war eine öffnende Klammer zu viel. Vor

Value("Heizung_Brenner") eq "off"


muss keine Klammer.

In beiden Fällen natürlich.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Sonic

o.k, vielen Dank.
So jetzt o.k. ?

gruss
KLAUS

define BrennerSteuerung notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" ) { fhem ("set Heizung_Brenner on") } elsif { (ReadingsVal("thermostat","measured-temp",20) > 25 && (Value("Heizung_Brenner") eq "on" ) { fhem ("set Heizung_Brenner off") } } }


Puschel74

Hallo,

nicht ganz.
Im elseif-Zweig muss die ( natürlich auch weg so wie im if-Zweig.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

broadway

Hallo Klaus,

noch ein Tipp am Rande: schau dir mal ConText oder Notepad++ , diese Editoren helfen beim zuordnen von Klammern.
Linksys NSLU2 debian + CUL | FHT80B, FS20, Elro

Sonic


Hallo,
ich finde den Fehler nicht.
Habe es nochmal umgebaut {elsif genauso wie {if.
Ich bekomme im Log trotzdem Fehlermeldung   :(


define BrennerSteuerung notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" ) { fhem ("set Heizung_Brenner on") } {elsif (ReadingsVal("thermostat","measured-temp",20) > 25 && Value("Heizung_Brenner") eq "on" ) { fhem ("set Heizung_Brenner off") } } }

Zrrronggg!

Gegencheck, geht dies:



define BrennerSteuerung22 notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" ) { fhem ("set Heizung_Brenner on") } }
define BrennerSteuerung25 notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) > 25 && Value("Heizung_Brenner") eq "on" ) { fhem ("set Heizung_Brenner off") } }
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

broadway

die roten Klammern müssen weg:

(siehe Anhang / see attachement)


so sollte es stimmen:
define BrennerSteuerung notify thermostat:measured-temp.*
{
  if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" )
{ fhem ("set Heizung_Brenner on") }

elsif (ReadingsVal("thermostat","measured-temp",20) > 25 && Value("Heizung_Brenner") eq "on" )
 { fhem ("set Heizung_Brenner off") }
 
 
 }
Linksys NSLU2 debian + CUL | FHT80B, FS20, Elro

Zrrronggg!

Zitatdie roten Klammern müssen weg:

Klar müssen die weg... seit wann sind die denn drin? Die waren doch in all unseren Beispiel nicht drin, oder?

Ah ich sehe gerade, die hast du selber als neue Fehlerquelle reingemacht. Seufz.

Aber na gut, vielleicht haben wir's ja jetzt.
Ich hoffe auf Erfolgsmeldungen!


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Sonic

Hallo Broadway,
Hallo Zrrronggg!


Jetzt packt mich der Ehrgeiz. Folgendes ist der aktuelle Stand.

Broadway, diese Lösung funktioniert nicht. Ich bekomme beim speichern in der .cfg gleich eine Fehlermeldung.
Ich verstehe nicht warum das nicht o.k ist. Sind da zu viele Leerstellen ?

define BrennerSteuerung notify thermostat:measured-temp.*
{
  if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" )
{ fhem ("set Heizung_Brenner on") }

elsif (ReadingsVal("thermostat","measured-temp",20) > 25 && Value("Heizung_Brenner") eq "on" )
 { fhem ("set Heizung_Brenner off") }
 
 
 }


Zrrronggg
Diese Version scheint zu funktionieren. Ich bekomme keine Fehlermeldung. Werde es heute Abend nochmal genauer testen.

Interessieren würde mich, warum die obige Lösung nicht funktoniert.
Jedenfalls, danke für Euer Interesse.
Ich lerne dabei.....

diese Lösung scheint zu funktionieren:


define BrennerSteuerung22 notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" ) { fhem ("set Heizung_Brenner on") } }
define BrennerSteuerung25 notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) > 25 && Value("Heizung_Brenner") eq "on" ) { fhem ("set Heizung_Brenner off") } }

Sonic

Ohh, jetzt habe ich noch eine Besonderheit entdeckt.

define BrennerSteuerung22 notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off" ) { fhem ("set Heizung_Brenner on") } }

Mit der Nachtabsenkung wird der Brenner um 22 Uhr abgeschaltet. Alles gut !
Nun würde aber mein BrennerSteuerung22 in der Nacht den Brenner wieder einschalten, weil die Temperatur ja unter 22 abfallen wird.

Könnt Ihr mir helfen, daß das BrennerSteuerung22 Uhrzeitgesteuert in der Nacht nicht aktiv ist ?
Oder andest herunm nur Am Tag von 4 Uhr - 22 Uhr aktiv ist ?


Wäre Klasse wenn Ihr mir da noch mal helfen könnt.

danke
KLAUS

Zrrronggg!

An sich würde man das mit etwas der Art

if($hour < 4 || $hour >= 22)

machen, aber zumindest ich bin nicht gut genug vorherzusagen, was passiert, wenn man die bisherigen && (und)  Bedingungen mit || (oder) kombiniert.  Einfach aneinanderreihen geht nicht.
Man müsste die Uhrzeitbedingung kapseln und komplett negieren... das geht bestimmt, ich weiss aber nicht wie, kenn PERL nicht gut genug.

Ich würde also vermutlich eine Hilfsvariable basteln, die z.b. "TagNacht" heisst.

define dummy TagNacht

Diese befüllst du dann jeweils mit einem passenden Wert:

define set_TagNacht_nacht at *22:00:00 set TagNacht Nacht
define set_TagNacht_tag at *04:00:00 set TagNacht Tag


Und gegen den Wert testest du dann zusätzlich ab.

define BrennerSteuerung22 notify thermostat:measured-temp.* {if (ReadingsVal("thermostat","measured-temp",20) < 22 && Value("Heizung_Brenner") eq "off"  && Value("TagNacht") eq "Tag"  ) { fhem ("set Heizung_Brenner on") } }


Es gibt in FHEM auch noch die Funktion "isday". Diese wird automatisch an deie Dämerung angepasst, d.g. isday ist "True", wenn es laut der aktuelen Dämerung hell ist. Das wird dr bei der Heizung aber vermutlich nicht helfen.

Das Dummy TagNacht könntest du auch noch für mehr verwenden, z.b. im Urlaub mit "Urlaub" füllen, dann geht der Brenner nicht mehr an.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

Hallo,

das klappt aber nur

ZitatDas Dummy TagNacht könntest du auch noch für mehr verwenden, z.b. im Urlaub mit "Urlaub" füllen, dann geht der Brenner nicht mehr an.

wenn das

define set_TagNacht_nacht at *22:00:00 set TagNacht Nacht
define set_TagNacht_tag at *04:00:00 set TagNacht Tag


im Urlaub nicht brav jeden Tag aufs neue ausgeführt wird.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

Selbstverständlich. Ich will und kann Klaus aber nun nicht alles vorkauen. und habe die Möglichkeit daher nur angedeutet.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL