KNX Heizungssteuerung über OpenHab

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

FrankSch77
Beiträge: 5
Registriert: 23. Dez 2018 15:41
Answers: 0

KNX Heizungssteuerung über OpenHab

Beitrag von FrankSch77 »

Hallo,

ich habe ein Problem mit meiner Heizungssteuerung über OpenHab.
Ich habe einen Screenshot von der ETS Konfiguration meines "Stetigregler-Modul 3fach 146A11" (Hersteller Jung) gemacht.
Über dieses Display kann ich die Solltemperatur eines Raumes verändern. Ich würde das gerne auch über OpenHab schaffen.

Nicht funktionierende Konfiguration:
Sitemap:

Code: Alles auswählen

Setpoint item=Temperature_FF_Buero_Set  minValue=17 maxValue=25 step=0.5
Item:

Code: Alles auswählen

Number Temperature_FF_Buero_Set    "Büro oben Temperatur setzen [%.1f °C]" <temperature> (FF_Office,TemperaturSet) { channel="knx:device:bridge:aktor60:bueroObenTemperaturSet" }
Thing:

Code: Alles auswählen

Type number : bueroObenTemperaturSet "Büro oben Temperatur setzen [%.1f °C]"  [ ga="1.001:3/3/53+9.001:<6/2/53" ]
DPT (laut Hersteller):
"Stellgröße Heizen" 3/3/53 1 Bit 1.001
"Solltemperatur" 6/2/53 2 Byte 9.001
"Rückmeldung Sollwertverschiebung" 4/3/53 1 Byte 6.010

Ich habe es erfolgreich geschafft die Solltemperatur auszulesen aber nicht mit dem Setpoint die Solltemperatur zu verändern und dies auch
so im Stetigregler Modul im Display anzeigen zu lassen.
Ich habe schon viel ausprobiert und bin etwas am verzweifeln.
Ich bitte um Hilfe.
von udo1toni » 19. Jul 2020 00:17
Also, erst mal versuchst Du, zwei zueinander inkompatible DPT zueinander zu zwingen, das geht so nicht. Ein Channel kann immer nur einen Datentyp enthalten, deshalb gibt es ja unterschiedliche Channel.
Dann gibst Du die Stellgröße Heizen an, Du möchtest aber den Sollwert verstellen. Das ist laut Deines Screenshots die GA 6/3/53 (das passt auch besser zur Rückmelde GA 6/2/53, auch der DPT dürfte dann identisch sein.)

Die Sollwertverschiebung ist wiederum eine Möglichkeit, über einen externen Taster den Sollwert zu verstellen, also per 1/0 als UP/DOWN Schritte zum Ändern des Sollwertes. Diese Funktion ist aber eine andere als die Verstellung über den 2-Byte-Wert
Gehe zur vollständigen Antwort
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: KNX Heizungssteuerung über OpenHab

Beitrag von udo1toni »

Also, erst mal versuchst Du, zwei zueinander inkompatible DPT zueinander zu zwingen, das geht so nicht. Ein Channel kann immer nur einen Datentyp enthalten, deshalb gibt es ja unterschiedliche Channel.
Dann gibst Du die Stellgröße Heizen an, Du möchtest aber den Sollwert verstellen. Das ist laut Deines Screenshots die GA 6/3/53 (das passt auch besser zur Rückmelde GA 6/2/53, auch der DPT dürfte dann identisch sein.)

Die Sollwertverschiebung ist wiederum eine Möglichkeit, über einen externen Taster den Sollwert zu verstellen, also per 1/0 als UP/DOWN Schritte zum Ändern des Sollwertes. Diese Funktion ist aber eine andere als die Verstellung über den 2-Byte-Wert
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

FrankSch77
Beiträge: 5
Registriert: 23. Dez 2018 15:41
Answers: 0

Re: KNX Heizungssteuerung über OpenHab

Beitrag von FrankSch77 »

Hallo,

vielen Dank für die Antwort! Sie hat mir viel geholfen! Die GA 6/3/53 hatte ich dafür gar nicht auf dem Schirm.
Ich kann jetzt mit Setpoint den Sollwert verstellen aber das Verhalten ist komisch. Bin ich z.B. auf 20°C und gehe auf
21 °C dann geht er kurz in der Setpoint Anzeige auf 21 um dann auf 18 °C zu springen. In der Solltemperatur steht dann auch
wirklich dann 18 °C statt 20 °C. In den Openhab logs finde ich dazu nichts außer dass diese Wertänderungen wirklich
getriggert wurden.
Meine Config jetzt:
Sitemap:

Code: Alles auswählen

Setpoint item=Temperature_FF_Buero_Set  minValue=17 maxValue=25 step=1
Item:

Code: Alles auswählen

Number Temperature_FF_Buero_Set    "Büro oben Temperatur setzen [%.1f °C]" <temperature> (FF_Office,TemperaturSet) { channel="knx:device:bridge:aktor60:bueroObenTemperaturSet" }
Thing:

Code: Alles auswählen

Type number : bueroObenTemperaturSet "Büro oben Temperatur setzen [%.1f °C]"  [ ga="9.001:6/3/53+<6/2/53" ]
Vielleicht hat ja noch jemand eine Idee wegen der herumspringenden Werte in Setpoint.

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

Re: KNX Heizungssteuerung über OpenHab

Beitrag von udo1toni »

Es ist halt die Frage, welche Betriebsart Du gewählt hast.
Ich kenne ein solches Verhalten vom Nachtbetrieb, weil die Umsteuerung hier über eine Sollwertverschiebung erreicht wird. Wenn man dann den Sollwert ändert, führt der RTR anschließend intern wieder die Sollwertverschiebung aus.

Wenn ich also z.B. für Nachtabsenkung -3°C eingestellt habe und als Komforttemperatur 21°C, dann führt das während der Nachtabsenkung zu einem Sollwert von 18°C, der wird auch überall angezeigt.
Gehe ich nun aber hin und ändere die 18°C auf 17°C, ändert der RTR die Solltemperatur auf 14°C ab.
Das ist ein total dämliches Verhalten (nur meine unmaßgebliche Meinung ;) ) und der einzige Ausweg ist, die Sollwertverschiebung beim Senden zu berücksichtigen, also im konkreten Fall festzuzstellen, dass der RTR auf Nachtbetrieb ist, und deshalb beim verringern der Temperatur von 18°C auf 17°C einfach 17°C + 3°C = 20°C zu senden. Schwupps, ändert sich die Temperatur auf 17°C ;)
Wenn man am RTR selbst die Temperatur verstellt, passiert das vermutlich immer über die Sollwertverschiebung, somit tritt der Fehler gar nicht nicht auf.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

FrankSch77
Beiträge: 5
Registriert: 23. Dez 2018 15:41
Answers: 0

Re: KNX Heizungssteuerung über OpenHab

Beitrag von FrankSch77 »

Wieder vielen Dank! Das war der richtige Tipp.
Ich habe die GA 4/3/53 ausgelesen und beim Schalten auf dem Stetigregler kommen Werte:
22 °C = 2
21 °C = 0
20 °C = -2
19 °C = -4
Ich müsste das dann aber wahrscheinlich über eine Rule machen oder? Wahrscheinlich dafür ein extra item verwenden,
dass ich dann manipuliere.
In ETS ist für 4/3/53 nur lesend (nicht schreibend) als Voreinstellung vorgesehen. Müsste ich dieses Objekt schreibend manipulieren können damit wenn ich den Wert über Openhab ändere dies sich auch im Display des Stetigreglers verändert? Oder denke ich da falsch?
Vielen Dank im voraus!

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

Re: KNX Heizungssteuerung über OpenHab

Beitrag von udo1toni »

Nein. Stattdessen weist Du dem KO107 eine eigene GA zu (das sollte der passende Eingang sein).

Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

FrankSch77
Beiträge: 5
Registriert: 23. Dez 2018 15:41
Answers: 0

Re: KNX Heizungssteuerung über OpenHab

Beitrag von FrankSch77 »

Vielen Dank, auch das war der richtige Tipp!
Ich hoffe nun die letzte Frage: Ich habe nun 5 GAs in dem Zusammenhang: 6/3/53 - 6/2/53 ; 4/2/53 - 4/3/53 und noch 3/3/53 (den ich wohl in ObenHab nicht brauche?).
Wie bringe ich das jetzt mit einem Setpoint unter einen Hut?
Wäre das Vorgehen also dann hier mit einer Rule die auf das Item mit den GAs 6/3/53 - 6/2/53 reagiert dann 4/3/53 ausliest und entsprechend 4/2/53 setzt ?

Vielen dank im voraus!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: KNX Heizungssteuerung über OpenHab

Beitrag von udo1toni »

Na ja, die Frage wäre wohl eher, ob es überhaupt sinnvoll ist, den Sollwert zu verstellen, oder ob es nicht einfacher ist, direkt die Sollwertverschiebung zu nutzen. Die größte Herausforderung dabei wäre, es so zu drehen, dass Du trotzdem nur ein Widget zur Darstellung brauchst.

Die einfache Variante wäre, Die Anzeige getrennt über ein zweites Widget zu realisieren, das heißt, Du zeigst den Sollwert an, aber ohne Setpoint.
Zusätzlich legst Du Setpoint Widget an, welches im Wertebereich -128 bis +127 funktioniert (natürlich kann man den Wertebereich auch weiter eingrenzen ;) )
Damit hättest Du auch die Verstellung über Setpoint, aber keine Abweichung mehr. Nachteil ist halt, dass Du zwei Items brauchst.

Die andere Möglichkeit wäre, die Temperaturänderung jeweils über eine Rule auszuführen, die dann die Sollwertverschiebung berücksichtigt. dazu muss das angezeigte Widget unbound sein, also keine Verlinkung zum knx Channel haben. Du brauchst also insgesamt drei Items, eines für Sollwert, eines für Sollwertverschiebung und eines für die Darstellung und Entgegennahme von Befehlen.
Den Status des Items setzt Du über eine Rule, die triggert, wenn sich der Sollwert geändert hat. Der wert wird einfach übernommen.
Wenn des unbound Item aber einen Befehl erhält (der kommt dann von der UI), triggert eine zweite Rule, die zunächst die Sollwertverschiebung von der gesetzten Temperatur abzieht. (natürlich nur die Hälfte, weil die Sollwertverschiebung ja jeweils nur ein halbes Grad ausmacht)
Allerdings ist hier natürlich die Frage, was passiert, wenn Du die Temperatur z.B. am Wandtaster immer wieder absenkst, während Du die Temperatur in der UI immer wieder erhöhst. Irgendwann erreichst Du dann den oberen Grenzwert der Sollwert-Verschiebung.

Vielleicht wäre es also sinnvoller, in einem ersten Schritt den Sollwert zu setzen und über die Rule einfach die Sollwertverschiebung auf 0 zu setzen.

Wichtig zu klären wäre hier aber, ob es ungewünschte Seiteneffekte gibt (z.B. automatischer Programmwechsel im RTR, Reduzierung der Lebensdauer (weil z.B. der Sollwert im EPROM gespeichert wird, während das für die Sollwertverschiebung nicht gilt) - bei manchen RTR kann man das Verhalten für Speichern auch umstellen, genau aus dem Grund...
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

FrankSch77
Beiträge: 5
Registriert: 23. Dez 2018 15:41
Answers: 0

Re: KNX Heizungssteuerung über OpenHab

Beitrag von FrankSch77 »

Vielen Dank nochmal. Es funktioniert jetzt. Ich habe mich dafür entschieden über die
Sollwertverschiebung zu gehen, einen Setpoint zu nehmen und den Rest über Rules zu machen.
Hier meine bisherige Lösung (auch für andere die danach suchen):

Sitemap:

Code: Alles auswählen

Setpoint item=bueroObenTemperaturSollwertV  minValue=17 maxValue=25 step=1
Item:

Code: Alles auswählen

Number bueroObenTemperaturSollwertV        "Büro oben Temperatur Sollwert virtuell  [%.1f °C]" 
Number Temperature_FF_Buero_Soll        "Büro oben Temperatur Soll  [%.1f °C]"  { channel="knx:device:bridge:aktor60:bueroObenTemperaturSoll" }
Number Temperature_FF_Buero_RSoll        "Büro oben Temperatur Rück Soll  [%.1f °C]" <temperature> (FF_Office,Temperaturen) { channel="knx:device:bridge:aktor60:bueroObenTemperaturRSoll" }
Thing:

Code: Alles auswählen

Type number : bueroObenTemperaturSoll "Büro oben Temperatur Soll [%.1f °C]" [ ga="9.001:<6/2/53" ]
Type number : bueroObenTemperaturRSoll "Büro oben Temperatur rueck [%.1f °C]" [ ga="6.010:4/2/53+<4/3/53" ]
Rule:

Code: Alles auswählen

var Number basisSollwert = 21

// Berechne die Sollwertverschiebung anhand des commands vom Setpoint und dem Basissollwert(21)
rule "Calc Setpoint-Shift"
when
	Item bueroObenTemperaturSollwertV received command
then
 	var Number shift = 0
        // e.g. (17 - 21) * 2 = -8
 	shift = ((receivedCommand as Number)  - basisSollwert) * 2
 	Temperature_FF_Buero_RSoll.sendCommand(shift)
end

// Lese den Sollwert vom Stetigregler und aktualisiere das Setpoint item
rule "Update Setpoint"
when
	Item Temperature_FF_Buero_Soll received update
then
 	bueroObenTemperaturSollwertV.postUpdate(Temperature_FF_Buero_Soll.state as Number)
end
Das funktioniert alles aber ich muss noch 9 Heizungssteuerungen konfigurieren. Vielleicht muss ich das bei den rules dann über die Group gehen. Mal sehen.
Zuletzt geändert von FrankSch77 am 24. Jul 2020 08:42, insgesamt 1-mal geändert.

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

Re: KNX Heizungssteuerung über OpenHab

Beitrag von udo1toni »

Wenn es sich um mehrere gleiche Steuerungen handelt, bietet es sich an, die fraglichen Items zu gruppieren und die Rule so zu gestalten, dass sie für alle Items funktioniert. Das ist gar nicht so kompliziert, wie es sich anhört. :)
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten