Hallo,
ich benutze VSCode leider funktioniert die Fehlererkennung nicht mehr.
Das end war ein Kopierfehler und die anderen Fehler versuche ich jetzt mal zu beseitigen wenn ich sie finde.
Heizungssteuerung Rules Problem
- leupy
- Beiträge: 83
- Registriert: 21. Nov 2018 19:43
- Wohnort: Saarlouis
Re: Heizungssteuerung Rules Problem
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2
- leupy
- Beiträge: 83
- Registriert: 21. Nov 2018 19:43
- Wohnort: Saarlouis
Re: Heizungssteuerung Rules Problem
So hab mich wieder daran versucht und die Bedingungen für die Stufen 0%-50% und 100% auf Items gelegt damit ich die Zustände besser überprüfen kann bei der Fehlersuche.#
Desweiteren hoffe ich das ich alle Fehler ausgebügelt habe.
Regel läuft ohne Syntax Fehler aber ich hab aus irgend einem Grund immer ein On bei 0% und 100% (Merker 0% und 100% sind ON)
Das Ventil wird auch bei überschreiten der Solltemp nicht abgeschaltet
Desweiteren hoffe ich das ich alle Fehler ausgebügelt habe.
Regel läuft ohne Syntax Fehler aber ich hab aus irgend einem Grund immer ein On bei 0% und 100% (Merker 0% und 100% sind ON)
Das Ventil wird auch bei überschreiten der Solltemp nicht abgeschaltet
Code: Alles auswählen
//---------------------------------------------------
// Heizung Esszimmer
//---------------------------------------------------
// Globale Variablen werden zu Beginn der Datei definiert
var Timer tP55 = null // ein Timer
var Timer tP5 = null // ein Timer
var Boolean bOn_HE = false //
var Number nPWM = 0 // ON in %
rule "Init Heizung"
when
System started or
Time cron "0 00 21 * * ?"
then
Heizung_E_Soll.postUpdate(21.0)
Heizung_E_Soll_N.postUpdate(18.0)
end
//----------------------------------------------------
//Essimmer Einschaltbedingung über Zeit
//----------------------------------------------------
rule "Heizung Tag"
when
Time cron "0 45 5 ? * MON-FRI" or // Werktags 05:45:00 Uhr
Time cron "0 0 8 ? * SAT-SUN" // Wochenende 08:00:00 Uhr
then
HeizungMode.postUpdate(ON) //Heizung Tag an wenn ON Komfort
end
rule "Heizung Nacht"
when
Time cron "0 0 20 * * ?" // Täglich 20:00:00 Uhr
then
HeizungMode.postUpdate(OFF) //Heizung Nacht an wenn OFF
end
//----------------------------------------------------
//Esszimmer Soll/ist Vergleich Temperatur und setzen von Puls Variablen
//----------------------------------------------------
rule "Heizung WZ Ist/Soll vergleich"
when
Item Sonoff86Temp changed or // Istwert Temp
Item Heizung_E_Soll changed or // Sollwert Heizung
Item Heizung_E_Soll_N changed or // Sollwert Nacht Heizung
Item HeizungMode changed
then
val Number wtsi_E = (Sonoff86Temp.state as Number).doubleValue // Temperatur Ist
var Number nSoll = (Heizung_E_Soll_N.state as Number).doubleValue // erstmal Temperatur Soll Nacht setzen
if(HeizungMode.state == ON) {
logInfo("heizung", "Komfort")
nSoll = (Heizung_E_Soll.state as Number ).doubleValue // Falls Komfort, Temperatur Soll Tag setzen
}
if(wtsi_E > nSoll) // Ist größer Soll
sendCommand (Heizung_E_0,ON) //Merker 0% setzen
sendCommand (Heizung_E_50,OFF)
sendCommand (Heizung_E_100,OFF)
if(wtsi_E < nSoll - 0.5) // Ist kleiner Soll-0,5°C
sendCommand (Heizung_E_0,OFF)
sendCommand (Heizung_E_50,ON) //Merker 50% setzen
sendCommand (Heizung_E_100,OFF)
if(wtsi_E < nSoll -1 ) // Ist kleiner Soll-1°C
sendCommand (Heizung_E_0,OFF)
sendCommand (Heizung_E_50,OFF)
sendCommand (Heizung_E_100,ON) // //Merker 100% setzen
end
//------------------------------------------------------------------
// Stuerung Heizungsventil
//------------------------------------------------------------------
rule "Ventil Esszimmer"
when
Item Sonoff86Temp changed or // Istwert Temp
Item Heizung_E_Soll changed or // Sollwert Heizung
Item Heizung_E_Soll_N changed or // Sollwert Nacht Heizung
Item HeizungMode changed // Temperatur hat sich geändert
then
sendCommand (Heizung_E,ON)
if (Heizung_E_0.state == ON) // Heizung aus bei Wert 0
logInfo("Heizung","Aus")
sendCommand (Heizung_E, OFF)
if (Heizung_E_50.state == ON) and (bOn_HE = false)
sendCommand (Heizung_E,ON) // erstmal Heizung an
logInfo("Heizung","50%") // Heizung 50%
tP5?.cancel // falls Timer bereits vorhanden, entfernen
tP5 = createTimer(now.plusSeconds(300)) [| // Timer 5min
sendCommand (Heizung_E, OFF) // Heizung aus
bOn_HE = true ] // Variabel setzen
if (Heizung_E_100.state == ON)
sendCommand (Heizung_E,ON) // Heizung an
logInfo("Heizung", "100%") // Heizung 100%
bOn_HE = false
if(bOn_HE = true) // Heizung Pausenzeit 5min
logInfo("Heizung","Aus 5min")
tP55?.cancel // falls Timer bereits vorhanden, entfernen
tP55 = createTimer(now.plusSeconds(300)) [|
bOn_HE = false ] // Variable rücksetzen
end
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Heizungssteuerung Rules Problem
Das wäre das wichtigste Problem, um das Du Dich zuerst kümmern solltest.
Hat es mal funktioniert?
Hast Du mal openHAB aktualisiert?
Hast Du mal die Einstellungen überprüft?
Ich verstehe nicht, warum Du so überaus kompliziert vorgehst. Warum nutzt Du zur Moduswahl drei Switch Items, statt einem Number Item? Warum nutzt Du zwei Timer?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet