Einen Thermostat/ Heizungsregelung basteln

Begonnen von MarkusAutomaticus, 02 Juni 2017, 18:07:35

Vorheriges Thema - Nächstes Thema

MarkusAutomaticus

Hallo zusammen,

wir heizen unsere Bäder mit sog. Schnellheizern elektrisch.
Angeschlossen sind diese über zWave-Zwischenstecker, primär um den Stromverbrauch zu überwachen.
Außerdem sind in den Bäder LaCrosse Temperatur/Feuchte-Sensoren angebracht.

Die Schnellheizer selber haben Thermostate eingebaut, die diese regeln.
Allerdings nur grob und ohne Temperaturskala.

Dadurch kann es vorkommen, dass der Heizlüfter, wenn man das Bad verlässt, noch nicht richtig aus ist
und er sich, wenn die Temperatur fällt, wieder einschaltet.

Wenn das den ganzen Tag über unbeaufsichtigt passiert, freuen sich die Energieversorger.
Neulich hatten wir 30°C im Kinderbad >:(

Daher möchte ich die ohnehin vorhandenen FHEM-Elemente (Switch und Temp-Sensor) nutzen,
um eine bestimmte Temperatur vorzugeben, ab der der Zwischenstecker das Teil vom Netz nimmt.

Natürlich sollte die Steuerung den Strom auch wieder freigeben, wenn eine bestimmte Temperatur unterschritten wird.
Mit einer gewissen Hysterese etc.

Ich vermute, das Ganze ist nicht so trivial, wie es auf den ersten Blick scheint.
Dazu kommen meine immer noch nicht vorhandenen Perl-Kenntnisse...

Vielleicht hat jemand so was schon gemacht, oder kennt einen Link, den er  mit mir teilen möchte?

Viele Grüße
Markus

FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

thgorjup

#1
Hi, ich habe eine ähnliche Schaltung. Zunächst baust du dir einen Dummy für ein "desired-temp" deines LaCross Fühlers.
Damit kannst du eine Soll-Temperatur vorgeben.


define SollTempBad dummy
attr SollTempBad event-min-interval desired-temp:1800
attr SollTempBad icon temp_temperature
attr SollTempBad readingList desired-temp
attr SollTempBad setList desired-temp:15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22,22.5,23


Danach ein DOIF: (switch1 = Steckdose oder Aktor)

define HeizungBadAnAus DOIF ([LaCrosse_01:temperature] <= ([SollTempBad:desired-temp] - 0.3)) (set switch1 on) DOELSEIF ([LaCrosse_01:temperature] >= ([SollTempBad:desired-temp] - 0.3)) (set switch1 off)


Oder als THRESHOLD:

define HeizungBad THRESHOLD LaCrosse_01:temperature:0.3:SollTempBad:desired-temp switch1


Gruß
Thomas
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

MarkusAutomaticus

Hallo zusammen,

vielen Dank für Eure Antworten.

Ich bin noch nicht zum Umsetzen gekommen.

Werde hier aber davon berichten.

Viele Grüße
Markus
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator