Hallo,
ich steuere in meinem Badezimmer mit dem FHT80b eine Steckdose (für die Heizung).
Das Makro sieht so aus:
** Variable Obergrenze, Typ Zahl, Startwert 0,0
** Variable Untergrenze, Typ Zahl, Startwert 0,0
** Bad_Raumregler ist die augenblicklich im Raumregler gültige SOLL-Temperatur
Obergrenze := Bad_Raumregler + 0,2
Untergrenze := Bad_Raumregler - 0,2
Wenn Bad_Raumregler.Temperatur <= Untergrenze dann
Bad_Heizung einschalten
warte 5 Sekunden
Bad_Heizung einschalten
Endewenn
Wenn Bad_Raumregler.Temperatur >= Obergrenze dann
Bad_Heizung ausschalten
warte 5 Sekunden
Bad_Heizung ausschalten
Endewenn
Funktioniert soweit auch alles, nur hab ich ab und zu das Problem das ich keine Werte von meinem FHT80 in dem Homeputer Visualisierungsfenster angezeigt bekomme! Denke mal Sendeprobleme oder Störungen zwischen dem FHT80 und der FHZ.
Dann schaltet sich die Heizung immer an und das ist so ja nicht gewollt
Kann ich das irgendwie mit einem Makro lösen????
lg Olaf
FHT80 Makro für Steckdose, Sendeprobleme
Moderator: Co-Administratoren
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: FHT80 Makro für Steckdose, Sendeprobleme
Hallo Olaf
Zunächst: Zweimaliges Ein- oder Ausschalten führt nur dann zu zwei Funksignalen, wenn "Senden auch bei Zuweisung ohne Änderung" ausgewählt ist. Das ist aber nicht empfehlenswert, weil so bei JEDEM Durchgang zwei Signale generiert werden. Auch wenn die Steckdose schon stundenlang EIN oder AUS ist!
Um ein zweites Signal zu erzeugen, solltest du SENDEWERT() verwenden; aber nur dann, wenn sich der Zustand der Steckdose auch tatsächlich geändert hat. Das kann man mit GESCHALTET() abfragen.
Beim Start dauert es immer eine Weile, bis Homeputer die Werte des Reglers übermittelt bekommt. Solange steht (intern) in "Temperatur" ein Wert von -99 oder so was. Das kann man am Anfang des Makros abfangen und das Makro nur ausführen, wenn ein vernünftiger Wert drin steht.
Problematischer wird es, wenn die FHZ den Regler plötzlich nicht mehr empfängt. Dann bleibt die Steckdose dauerhaft in ihrem aktuellen Zustand. Da könnte man höchstens verhindern, dass sie dauerhaft EIN bleibt, indem man sie immer nur für z.B. 30 Minuten einschaltet. Dann wird's eben einfach kalt, wenn der Regler nicht mehr empfangen wird.
In diesem Fall darf man aber SENDEWERT() nicht verwenden, weil diese Funktion dem EINSCHALTEN FÜR ein DAUER-EIN folgen liesse. Auch darf das Makro nur bei Empfang ausgeführt werden und in keinem Fall in einem Intervall!
Viele Grüsse
Bümpi
Zunächst: Zweimaliges Ein- oder Ausschalten führt nur dann zu zwei Funksignalen, wenn "Senden auch bei Zuweisung ohne Änderung" ausgewählt ist. Das ist aber nicht empfehlenswert, weil so bei JEDEM Durchgang zwei Signale generiert werden. Auch wenn die Steckdose schon stundenlang EIN oder AUS ist!
Um ein zweites Signal zu erzeugen, solltest du SENDEWERT() verwenden; aber nur dann, wenn sich der Zustand der Steckdose auch tatsächlich geändert hat. Das kann man mit GESCHALTET() abfragen.
Beim Start dauert es immer eine Weile, bis Homeputer die Werte des Reglers übermittelt bekommt. Solange steht (intern) in "Temperatur" ein Wert von -99 oder so was. Das kann man am Anfang des Makros abfangen und das Makro nur ausführen, wenn ein vernünftiger Wert drin steht.
Code: Alles auswählen
** Variable Obergrenze, Typ Zahl, Startwert 0,0
** Variable Untergrenze, Typ Zahl, Startwert 0,0
** Bad_Raumregler ist die augenblicklich im Raumregler gültige SOLL-Temperatur
wenn Bad_Raumregler < 0 oder Bad_Raumregler.Temperatur < 0 dann
verlassen
endewenn
Obergrenze := Bad_Raumregler + 0,2
Untergrenze := Bad_Raumregler - 0,2
Wenn Bad_Raumregler.Temperatur <= Untergrenze dann
Bad_Heizung einschalten
Endewenn
Wenn Bad_Raumregler.Temperatur >= Obergrenze dann
Bad_Heizung ausschalten
Endewenn
Wenn geschaltet(Bad_Heizung) dann
warte 5 Sekunden
Sendewert(Bad_Heizung)
** Das Flag "geschaltet" zurücksetzen:
erledigt(Bad_Heizung)
Endewenn
In diesem Fall darf man aber SENDEWERT() nicht verwenden, weil diese Funktion dem EINSCHALTEN FÜR ein DAUER-EIN folgen liesse. Auch darf das Makro nur bei Empfang ausgeführt werden und in keinem Fall in einem Intervall!
Viele Grüsse
Bümpi
Re: FHT80 Makro für Steckdose, Sendeprobleme
Hallo, ich nutze für die selbe Zielstellung die Ventilposition. Diese wird wesentlich häufiger übertragen, als die Ist-Temperatur(Bei Änderung der Solltemperatur meist unmittelbar).
Außerdem kann man damit die Temperatur fast 10tel Grad genau regeln.
dafür verwende ich folgendes Makro, dass jede Minute ausgeführt wird.
Leider geht das so nicht mit allen FHZ's
Gruß
Mario
Außerdem kann man damit die Temperatur fast 10tel Grad genau regeln.
dafür verwende ich folgendes Makro, dass jede Minute ausgeführt wird.
Code: Alles auswählen
wenn HeizungKuecheMinZ <4 dann (alle 5 Minuten ausführen)
HeizungKuecheMinZ:=HeizungKuecheMinZ+1
verlassen
sonst
HeizungKuecheMinZ:=0
endewenn
wenn RaumreglerDiele.Ventilpos < 0 dann
verlassen
endewenn
SchaltzeitDiele:=0,003472 * RaumreglerDiele.Ventilpos / 100 (Typ Zahl Startwert 0,0)
makHeizungDiele.SchaltztD := SchaltzeitDiele (Variable Typ Uhr)
SchaltzeitDieleT := makHeizungDiele.SchaltztD (Typ Text, nur für Visualisierung)
wenn RaumreglerDiele.Ventilpos > 0 dann
wenn HeizungDiele1 eingeschaltet dann (Typ Schalter, als Hauptschalter gedacht)
schaltDieleHZ einschalten für SchaltzeitDiele
endewenn
endewenn
Leider geht das so nicht mit allen FHZ's
Gruß
Mario