Temperatur Steuerung, Regelung, Heizung, Hydraulik

Geflasht oder ungeflasht ...

Moderator: seppy

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Hallo zusammen,

Ich möchte ein Paar Shelly in Verbindung mit dem Temperatur addon für die Steuerung meiner Heizungsanlage machen.

Nun weiß ich nicht wie ich so Rule erstellen kann damit da wie was funktioniert.

Also im Detail gehts """Erstmal"" Um Puffer umladen und so Zeugs. Wie die Hydraulik und so funktioniert, ist für mich kein Thema. Nur es scheitert an der Regelung. Theoretisch könnte ich auch auf eine Jede Universal Regelung zurückgreifen, aber ich würde es nett finden, wenn ich dies Über openhab, in Verbindung mit den Shelly´s realisieren könnte...

Wie ein jeder möchte ich erstmal ganz leicht anfangen, damit ich verstehe, was das passiert.
In erster Linie gehts um Temperatur Differenz Steuerung.

Wenn """Sensor 1""" 5 Grad wärmer > """ Sensor 2""" soll Shelly 1 Aktiv werden bis Differenz nur noch 3 Grad ist....

Weiter Will ich dann auch auf in Zukunft dieses Erweitern: Ich dachte das ich z.B. Mischer (Auf und zu) mit Dem Shelly 2 (Funktion Rollo) einen Mischer Regeln kann...

Stelle ich mir so vor: Sensor Nach Mischer Soll Temperatur XY haben, und Dazu muss der Shelly in Impulsen den Mischer ansteuern. so 1 sec an und 5 Sec Prüfen... dann Handeln. Auf oder zu.... Und der Mischer soll wieder nur aktiv sein Wenn Shelly Puffer 3 Sensor 2 Einen Bestimmten wert hat, oder Wenn Die Heizungsregelung (Bosch) (eingebunden übers KM200 Binding) einen Befehl gibt...

Ich weiss das dies sehr kompliziert ist. Aber Wäre dennoch über Hilfe, Links, Projekte und Ähnliches dankbar...


Mein Openhab läuft auf einem Raspi und Openhab hat 3.0.1.


PS. Der Grund Warum ich dies mit dem Openhab und Shellys erledigen möchte, ist der weil ich mir Selber hier am meisten Erfolg verspreche. Ich bin Heizungsmonteur, Aber Programmieren ist überhaupt nicht meins. Und Mit de Shelly in Verbindung mit Openhab, habe selbst ich Lichtspieleren realisieren können....


Danke und Grüße
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13854
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von udo1toni »

Also, grundsätzlich halte ich nur wenig davon, openHAB zum Regeln einzusetzen. Zu manigfaltig sind die möglichen Probleme (also insbesondere Ausfall der Regelung wegen Ausfall von openHAB oder einer Komponente).
Besser ist es, ein dediziertes System einzusetzen, welches sich ausschließlich zum die Regelung kümmert. openHAB gibt dann lediglich Befehle an die Steuerung weiter.

Aber natürlich geht das auch ohne Netz und doppelten Boden direkt in openHAB. Es gibt ein Addon, welches eine PI-Regelung realisiert, vielleicht wäre das ja interessant für Dich. Ich habe mit Regelungstechnik aber nichts am Hut :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Danke für deine Antwort.

Ich habe mich mal versucht durch die RULE durchzucklicken (OH3 Rule erstellung). Dabei kam dann das Raus:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: shelly103_Temp1
    type: core.ItemStateChangeTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      itemName: shelly103_Temp2
      state: ON
      operator: ">"
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: shelly1e09806a9a707192168178103_Betrieb
      command: ON
    type: core.ItemCommandAction
Aber das Relai geht nicht an? :(

Wie gesagt, Versuche noch zu verstehen, was da passiert. Stunden Lange suche zum Erfolg, bin ich im Netz eigentlich kein bisschen weiter gekommen...

Ich wollte doch nur Temperatur "Temp1" 5 Grad höher wie "Temp2"" dann Relai an, bis Temp1 nur noch 2 Grad höher ist wie Temp2...

Jemand eine Idee??


Danke und Gruss Mike
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Ich habe gerade dies entdeckt:
heiz.png

Kann man vielleicht hier eine Logik erstellen?? Das der Ansatz mit de Rule falsch ist??

Gruss
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
Detlef
Beiträge: 189
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von Detlef »

Hallo
mit Blockly kann man zunächst vorwärts kommen. Siehe Muster.
Aber nur wenn du unten auf das "plus Zeichen" die Befehle verstehst und später ergänzen kannst.
Blockly ist leicht zu erlernen. Aber nur für den Anfang zweckmäßig. Weiterführende Programmierungen sind dann nicht mehr möglich.
Welche Heizung möchtest du den steuern? Sollen Heizkörper oder direkt die Heizungsanlage mit all den vielen vorhandenen Regelungen zu steuern.

Zunächst sind hier Raumthermostate die über OH3 gut zu steuern sind.
https://community.openhab.org/t/oh3-hea ... css/115107

Ich versuche die Heizung mit der zukünftigen ( / Stunden ) Außentemperatur zu beeinflussen. Klappt bisher sehr gut. Aber nur meine 17 Stellmotoren. Die Heizung- Anlage kommt dann später.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mit freundlichen Grüße aus Recklinghausen

Benutzeravatar
udo1toni
Beiträge: 13854
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von udo1toni »

Rules werden durch Trigger ausgelöst. Ein Trigger ist immer mit einem Event verbunden. ein Event wäre z.B. das Erreichen einer bestimmten Uhrzeit oder auch das Ändern einen Zustands eines Items.

KEIN Trigger ist ein Unterschied zwischen zwei Werten. (das ist ein Zustand).

Die Rule muss laos durch ein Event ausgelöst werden, das wäre bei Deiner Anforderung die Änderung einer der beiden Temperaturen.

Dann willst Du, nur unter der Voraussetzung, dass die beiden Temperaturen sich mindestens um 5 Grad unterscheiden, den Befehl ON über ein Item senden, falls sich die Werte weniger als 2 Grad unterscheiden, soll OFF gesendet werden.

Als gewöhnliche Rule sähe das so aus:

Code: Alles auswählen

rule "Heizen an und aus"
when
    Item myTemp1 changed or
    Item myTemp2 changed
then
    if((myTemp1.state as Number).floatValue + 5 < (myTemp2.state as Number).floatValue)
        mySwitch.sendCommand(ON)
    if((myTemp1.state as Number).floatValue + 2 > (myTemp2.state as Number).floatValue)
        mySwitch.sendCommand(OFF)
end
Die Rule triggert, wenn sich eine der beiden Temperaturen ändert. Dann vergleicht die Rule die beiden Werte und entscheidet anschließend, ob sie den Schalter ein oder ausschaltet (oder eben auch gar nichts tut).

Du kannst die Rule auch über die UI anlegen, die Trigger sollten klar sein, die bedingten Entscheidungen gehören in den Bereich, in denen der Code ausgeführt wird.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Ich danke Euch für eure Antworten. Mit dem Input konnte ich nun meine Erste Delta T Steuerung aufbauen...
Rule.png
Block.png
So das Funktioniert soweit als Basis schon ganz gut. Frage ist ja nun, ob ich mit Blockie auch die Temperatur erhöhung (An +5 / Aus +2) realisieren kann??

Ich habe mit den Blöcken "MATH" gespielt, aber ging nicht.

Weiter interessiert mich, ob ich den "ON" impuls mit einer Zeit variabele Steuern könnte??

ON 5 Sec
OFF 2 Sec

Abfrage von TEMP3
und von vorne...


Danke euch, und schönes Wochenende. ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Noch eine Frage hinterher:
udo1toni hat geschrieben: 9. Mär 2021 22:32

Code: Alles auswählen

rule "Heizen an und aus"
when
    Item myTemp1 changed or
    Item myTemp2 changed
then
    if((myTemp1.state as Number).floatValue + 5 < (myTemp2.state as Number).floatValue)
        mySwitch.sendCommand(ON)
    if((myTemp1.state as Number).floatValue + 2 > (myTemp2.state as Number).floatValue)
        mySwitch.sendCommand(OFF)
end
Wo muss ich denn solche Rules erstellen??

Rule DSL?
ECMA Script?
Groovy?

oder bin ich hier Falsch??

Ich hatte hier von dir so eine ""PWM"" Steuerungs rule gefunden. Aber ich weiss nicht, wo ich das schreiben soll... :(
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13854
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von udo1toni »

Die von mir gepostete Rule ist eine gewöhnliche DSL Rule, man schreibst sie normalerweise in eine *.rules Datei. Du kannst in openHAB3 aber auhc über die Main UI solche Rules anlegen, dann wird aber der Trigger abgetrennt vom Code eingegeben.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Detlef
Beiträge: 189
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von Detlef »

Hallo
Blöcken "MATH" funktionieren nur mit Variabel.
Also Werte vom Item sind in Variabel einzubauen und dann zu verarbeiten.
Bin mir aber auch nicht so sicher da selber Anfänger in OH3.
Mit zeitlichen Verzögerungen eines Schaltvorgang in OH3 bin ich noch überfragt.
Die DSL Rule vom Udo läuft sicher und zuverlässig.
der Code sieht dann so aus

Code: Alles auswählen

var tp, ta;

var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);


tp = itemRegistry.getItem('BadDetlef2OGHTH_Setpointheating').getState();
ta = itemRegistry.getItem('1OG_Schlafen_Temperature').getState();
if (ta - 3 < tp) {
  events.sendCommand('Bar_LampeTerrasseSteckdose', 'ON');
  logger.warn('Heizung +5 an');
} else if (ta + 1 > tp) {
  events.sendCommand('Bar_LampeTerrasseSteckdose', 'OFF');
  logger.warn('Heizung +1 aus');
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mit freundlichen Grüße aus Recklinghausen

Antworten