Moin,
habe eine Anfängerfrage. Ich bin mit Visual Basic und C bekannt... nicht vertraut. FHEM bzw. Pearl verwirrt mich derzeit noch sehr.
Ich möchte bei Aussentemperaturen größer 16° meine Heizung ausschalten. Das funktioniert auch wunderbar mit diesem bisschen Code:
define HeizungEco THRESHOLD Wetter:temperature:1:16 Heizung_Anforderung
attr HeizungEco room Heizung
Nun möchte ich im Floorplan die Hysterese (1) und den Schwellwert (16) ändern können.
Hierfür würde ich eine Dummy Variable Anlagen, aber wie muss der Ausdruck im Code aussehen?
define HeizungEco THRESHOLD Wetter:temperature:Hz_Eco_Hyst:Hz_Eco_Temp Heizung_Anforderung
attr HeizungEco room Heizung
Ist das korrekt? Ich habe soweit schon gelesen, dass in Pearl die variablen nicht als Char, String Bool etc deklariert werdern... Aber irgendwie kommt mir das komisch vor.
Zitat von: jayjones am 13 Oktober 2014, 09:26:51
define HeizungEco THRESHOLD Wetter:temperature:Hz_Eco_Hyst:Hz_Eco_Temp Heizung_Anforderung
attr HeizungEco room Heizung
Ist das korrekt? Ich habe soweit schon gelesen, dass in Pearl die variablen nicht als Char, String Bool etc deklariert werdern... Aber irgendwie kommt mir das komisch vor.
Wird so nicht funktionieren. Das THRESHOLD-Modul ist nicht Perl. An den Stellen für Hysterese bzw. Vorgabetemperatur ist keine Variable vorgesehen.
Du kannst aber, was eher zu empfehlen ist, weil es nach dem Restart des System bestehen bleibt, mit "set HeizungEco hysterisis <Zahl>" bzw. "set HeizungEco desired <Zahl>" die entsprechenden Vorgaben jederzeit ändern.
Gruß
Damian
Hi Damian,
danke für deine Antwort.
Welchen Weg würdest Du gehen? Ich habe einen Arduino mit Firmata am laufen, und würde bei >16°C einfach die Freigabe für den Brenner per Relais wegnehmen.
Ich möchte aber, dass ich den Schwellwert ab wann der Brenner abgeschaltet werden soll, über das Webinterface ändern können. Andernfalls könnte der WAF ins unermessliche steigen :(
ZitatDu kannst aber, was eher zu empfehlen ist, weil es nach dem Restart des System bestehen bleibt, mit "set HeizungEco hysterisis <Zahl>" bzw. "set HeizungEco desired <Zahl>" die entsprechenden Vorgaben jederzeit ändern.
Wenn ich folgendes mache:
set HeizungEco hysterisis <Zahl
set HeizungEco desired <Zahl>
muss ich ja diese Werte noch irgendwie verarbeiten. Wenn Temperatur > HeizungEco desired dann BrennerFreigabe = AUS. In VB würde ich das nun mit IF lösen, ist das hier auch der richtige Ansatz?
Sorry, muss echt blöd klingen, aber ich steige derzeit noch nicht durch.
Zitat von: jayjones am 13 Oktober 2014, 13:57:34
Hi Damian,
danke für deine Antwort.
Welchen Weg würdest Du gehen? Ich habe einen Arduino mit Firmata am laufen, und würde bei >16°C einfach die Freigabe für den Brenner per Relais wegnehmen.
Ich möchte aber, dass ich den Schwellwert ab wann der Brenner abgeschaltet werden soll, über das Webinterface ändern können. Andernfalls könnte der WAF ins unermessliche steigen :(
Wenn ich folgendes mache:
set HeizungEco hysterisis <Zahl
set HeizungEco desired <Zahl>
muss ich ja diese Werte noch irgendwie verarbeiten. Wenn Temperatur > HeizungEco desired dann BrennerFreigabe = AUS. In VB würde ich das nun mit IF lösen, ist das hier auch der richtige Ansatz?
Sorry, muss echt blöd klingen, aber ich steige derzeit noch nicht durch.
Das THRESHOLD-Modul hat ja ein IF drin - es arbeitet eigenständig ;)
Mit
define HeizungEco THRESHOLD Wetter Heizung_Anforderung
und
set HeizungEco desired 16
schaltet es automatisch beim Überschreiten von 16 Grad Heizung_Anforderung auf off und beim Unterschreiten von 15 Grad (16-1) Heizung_Anforderung auf on.
Wenn deine Frau set HeizungEco desired 20 setzt, dann wird das Modul schon automatisch Heizung_Anforderung auf on bzw. off setzen, je nach aktueller Wetter-Vorgabe.
Wenn du komplexere Sachen abfragen bzw. kombinieren willst, schau dir http://fhem.de/commandref_DE.html#DOIF an, das arbeitet ebenfalls eigenständig und kann auch u. A. mit Zeiten umgehen.
Gruß
Damian
Besten Dank! Der Groschen ist gefallen!
Saved the file fhem.cfg to file
Nicht schliessen.
Ein gelöst vor dem Betreff genügt - danke.