Seite 2 von 2

Re: KNX Heizungssteuerung über OpenHab

Verfasst: 28. Nov 2020 00:11
von japhias
ICh kam unabhänging von eurem Thread auf eine ähnliche Lösung für mein ähnliches Problem, welche jedoch nicht funktioniert :(
Also: Ich möchte die Sollwerte ausschließlich über die openhab UI verstellen, nicht über Taster. Dafür möchte ich die Sollwertverschiebung nutzen, um jedoch im UI nicht eine Vershciebung per Setpoint zu machen, sondern eine neue Solltemperatur eingeben zu können, habe ich also ein neues unbound item erstellt, welches dann mit der Standard Solltemperatur die Sollwertverschiebung berechnen soll:

Things

Code: Alles auswählen

        Type number        : eg_buero_heizung_temperatur_komfort                "Temperatur Soll Komfort"               [ ga="9.001:<7/1/61" ]
        Type number        : eg_buero_heizung_temperatur_aktuell                "Temperatur Soll Komfort"               [ ga="9.001:<7/1/62" ]
        Type number        : eg_buero_heizung_sollwertverschiebung              "Temperatur Sollwerverschiebung"        [ ga="9.002:7/1/63" ]
Items

Code: Alles auswählen

Number           EG_Buero_Heizung_Temperatur_Komfort         "Temperatur Soll Komfort [%.1f °C]"                     (EG_Buero)                          {channel="knx:device:bridge:heizungsaktor01:eg_buero_heizung_temperatur_komfort"}
Number           EG_Buero_Heizung_Temperatur_Aktuell         "Temperatur Soll Aktuell [%.1f °C]"                     (EG_Buero)                          {channel="knx:device:bridge:heizungsaktor01:eg_buero_heizung_temperatur_aktuell"}
Number           EG_Buero_Heizung_Sollwertverschiebung       "Sollwertverschiebung [%.1f °K]"                        (EG_Buero)                          {channel="knx:device:bridge:heizungsaktor01:eg_buero_heizung_sollwertverschiebung"}
Number           EG_Buero_Heizung_Temperatur_Soll            "Temperatur Soll [%.1f °C]"                             (EG_Buero)
Rule

Code: Alles auswählen

rule "heizung_sollwertverschiebung_berechnen"
when
    Item EG_Buero_Heizung_Temperatur_Soll changed
then
    EG_HWR_Heizung_Sollwertverschiebung.sendCommand((EG_Buero_Heizung_Temperatur_Soll.state as DecimalType) - (EG_Buero_Heizung_Temperatur_Komfort.state as DecimalType) )
    
    logInfo("TEST",EG_HWR_Heizung_Sollwertverschiebung.state + " - " + EG_Buero_Heizung_Temperatur_Soll.state + " - " + EG_Buero_Heizung_Temperatur_Komfort.state)
end
ZUm einen ändert sich die Sollwertverschiebung im UI nicht. Zum anderen wird im Log zwar ein veränderter WErt für die Sollwertverschiebung angeziegt , jedoch irgendwie mit einem halben Grad unterschied:
2020-11-27 23:58:50.619 [INFO ] [.eclipse.smarthome.model.script.TEST] - -0.5 - 21.0 - 21.0

Re: KNX Heizungssteuerung über OpenHab

Verfasst: 28. Nov 2020 00:46
von udo1toni
Was erwartest Du denn? Du versuchst, in das Item EG_HWR_Heizung_Sollwertverschiebung zu schreiben, welches aber gar nicht bei Deinen Items gelistet ist. DecimalType ist auch nicht die beste Wahl, besser wäre Number.

Um ein wenig Licht ins Dunkel zu bringen, wäre es sinnvoll, die Rule etwas anders zu gestalten:

Code: Alles auswählen

rule "Heizung Sollwertverschiebung berechnen"
when
    Item EG_Buero_Heizung_Temperatur_Soll changed
then
    val Number nSoll = EG_Buero_Heizung_Temperatur_Soll.state as Number
    val Number nKomfort = EG_Buero_Heizung_Temperatur_Komfort.state as Number
    logInfo("sollwert","Verschiebung: {} ({} - {})",nSoll - nKomfort,nSoll,nKomfort)
    EG_HWR_Heizung_Sollwertverschiebung.sendCommand(nSoll - nKomfort)
end

Re: KNX Heizungssteuerung über OpenHab

Verfasst: 29. Nov 2020 00:02
von japhias
Danke für deine Antwort. Du hast Recht, ich hatte beim Kopieren aus der Datei ins Forum die Zeile vergessen, habe diese nun in meinem originalem Post ergänzt. Dein Rule hilft mir auch schonmal weiter, da jetzt richtig gerechnet wird:
2020-11-28 23:46:00.437 [INFO ] [ipse.smarthome.model.script.sollwert] - Verschiebung: -0.5 (20.5 - 21.0)
2020-11-28 23:46:02.967 [INFO ] [ipse.smarthome.model.script.sollwert] - Verschiebung: 0.0 (21 - 21.0)
2020-11-28 23:46:03.576 [INFO ] [ipse.smarthome.model.script.sollwert] - Verschiebung: 0.5 (21.5 - 21.0)
2020-11-28 23:46:04.412 [INFO ] [ipse.smarthome.model.script.sollwert] - Verschiebung: 1.0 (22 - 21.0)
Ich habe im KNX Gruppenmonitor auch nachgeschaut, der Wert kommt auf dem Bus an und es wird auch ein aktueller Sollwert ausgegeben.
Jedoch kommen diese Daten anscheinend nicht richtig im openhab an, da dort noch die alten Werte angezeigt werden, zb. auf der Sitemap der BasicUI

Re: KNX Heizungssteuerung über OpenHab

Verfasst: 29. Nov 2020 11:45
von udo1toni
Hast Du openHAB mal neu gestartet?