Hallo zusammen
Ich finde trotz längerer Suche keinen passenden Code um meine Heizung zu steuern.
Mein System:
- FHEM läuft auf einem Windows Home Server.
- Als Temperatursensoren habe ich in jedem Raum einen TX29DTH-IT welcher über Jeelink läuft.
- In jedem Raum habe ich einen Elektro-Heizkörper welcher über eine PCA301 ein- und ausgeschaltet wird, welche über einen anderen Jeelink gesteuert wird.
Was schon läuft:
- Die Temperatur und die Luftfeuchte von den Sensoren wird in FHEM angezeigt.
- Die PCA301 kann ich über FHEM schalten und erhalte den Stromverbrauch der angeschlossenen Verbraucher.
Was noch nicht läuft:
- Wenn die Temp-Wohnzimmer 18° erreicht soll PCA301-Wohnzimmer einschalten.
- Wenn Temp-Wohnzimmer 21° erreicht soll PCA301-Wohnzimmer ausschalten.
Wäre super, wenn ihr mich bei der Problemlösung unterstützen könntet.
Bin noch völliger Anfänger und habe den Durchblick noch nicht richtig.
Vielen Dank
Chres
Hi,
ich benutze Homematic-Komponenten. Weiß deshalb nicht, ob das u.U. einen Unterschied macht. Bei mir läuft die Anwendung mit folgendem Code und HM-CC-TC als Thermostat und HM-LC-SW1 als Aktor:
define BzOGHeizungsregelungNotify notify BzOG_Thermostat:(desired-temp.*|measured-temp.*) {if ((ReadingsVal("BzOG_Thermostat","desired-temp","")> ReadingsVal("BzOG_Thermostat","measured-temp","")) && ((Value("BzOG_Schaltaktor") eq "off") || (Value("BzOG_Schaltaktor") eq "MISSING ACK"))) {fhem("set BzOG_Schaltaktor on")} elsif (ReadingsVal("BzOG_Thermostat","desired-temp","")< ReadingsVal("BzOG_Thermostat","measured-temp","") && ((Value("BzOG_Schaltaktor") eq "on") || (Value("BzOG_Schaltaktor") eq "MISSING ACK"))) {fhem("set BzOG_Schaltaktor off")}\
}
Bin aber selbst noch Anfänger, schreiben sicher demnächst noch ein paar alte Hasen hier...
Schau mal in die comandref.
ZitatTHRESHOLD
Vielfältige Steuerungen, bei denen durch die Auswertung von Sensordaten eine Steuerung erfolgen soll, können mit Hilfe dieses Moduls realisiert werden. Nach der Definition eines THRESHOLD-Moduls und der Vorgabe eines Sollwertes beginnt bereits das definierte Modul mit der Steuerung. Im einfachsten Fall liest das Modul einen Sensor aus, der Werte als Dezimalzahlen liefert und schaltet beim Überschreiten einer definierten Schwellen-Obergrenze (Sollwert) bzw. beim Unterschreiten einer Schwellen-Untergrenze einen Aktor oder führt beliebige FHEM/Perl-Befehle aus. Typisches Anwendungsgebiet ist z. B. die Nachbildung eines Thermostats oder Hygrostats - auch Zweipunktregler genannt.
Hallo,
dann gäbe es noch HeatingControl.
Auch mit DOIF liese sich das machen oder, wie oben, ein ganz einfaches notify.
Ich verlink nicht alle aber hier
http://fhem.de/commandref.html (http://fhem.de/commandref.html)
findest du sie.
Grüße
Vielen Dank für Eure Antworten.
Ich hoffe, dass ich in den nächsten Tagen zum ausprobieren komme.
Chres
Hallo,
wenn was nicht klappt einfach melden ;)
Und bitte die ganzen benötigten Angaben mitliefern damit man dir leichter helfen kann 8)
ZitatBin noch völliger Anfänger und habe den Durchblick noch nicht richtig.
Hättest du gleich die notwendigen Angaben mitgeliefert hätte ich dir (dank Krankenstand) durchaus einen fertigen Code zusammenbauen können :P
Was benötigt wird habe ich zum Grossteil im zweiten angepinnten Beitrag beschrieben ;D
Aber ich bin mir sicher du schaffst das schon - ist ja auch nicht soo schwer.
Grüße
Hallo FHEM Profis
Ich habe mich ein bisschen durch die commandref geackert und könnte mir das in etwa so vorstellen:
Bei 20 Grad soll die Schlafzimmer Heizung (SZ_Heiz) einschalten, bei 21 Grad ausschalten, der Temperatursensor heisst SZ_Temp:
define TH_SZ_Heiz THRESHOLD sens:SZ_Temp:1:21 SZ_Heiz|set @ on|set @ off|1
In der Nacht soll die Temperatur 3 Grad abgesenkt werden:
define SZ_Heiz weekdaytimer TH_SZ_Heiz 05:00|0 22:00|-3 set @ offset %
Oder so?
define HC_SZ_Heiz Heating_Control TH_SZ_Heiz 05:00|21 22:00|18 set @ desired %
Bin ich da auf dem richtigen Weg?
Vielen Dank
Chres
Zitat von: Chres am 01 November 2014, 17:48:26
Hallo FHEM Profis
Ich habe mich ein bisschen durch die commandref geackert und könnte mir das in etwa so vorstellen:
Bei 20 Grad soll die Schlafzimmer Heizung (SZ_Heiz) einschalten, bei 21 Grad ausschalten, der Temperatursensor heisst SZ_Temp:
define TH_SZ_Heiz THRESHOLD sens:SZ_Temp:1:21 SZ_Heiz|set @ on|set @ off|1
Dann eher:
define TH_SZ_Heiz THRESHOLD SZ_Temp SZ_Heiz
einmalig
set TH_SZ desired 21
Das hat den Vorteil, dass nach dem Hochfahren des System die voreingestellte Solltemperatur beibehalten wird, wenn sie zwischendurch geändert wurde und nicht immer auf 21 gesetzt wird.
Gruß
Damian
Vielen Dank für Eure Hilfe, habe viel dazugelernt.
Mit dem Code von Damian habe ich meine erste Steuer-Aufgabe hinbekommen.
Grüsse Chres
Hallo,
dann bitte den Beitrag als Gelöst kennzeichnen (NCIHT! schliessen) und die Lösung im ersten Beitrag eineditieren.
Die nächsten Anfänger sollen ja nicht zuviel lesen müssen um die Lösung zu finden 8)
Grüße