ich habe einen MDT-Heizungsaktor und ein SmartTouch 7" von Busch-Jäger/ABB.
Das SmartTouch kann die Temperatur mittels Sollwertverschiebung verschicken (DPT 6.010). In openHAB möchte ich aber nur den Sollwert (DPT 9.001) sehen und verändern.
Hier der aktuelle Stand:
knx.things
Code: Alles auswählen
Type number : KuecheSollwert "Küche Sollwert" [ ga="9.001:<1/2/3" ]
Type number : KuecheSollwertverschiebung "Küche Sollwertverschiebung" [ ga="6.010:<1/2/2" ]
Code: Alles auswählen
Number KuecheSollwertverschiebung "Küche Sollwertverschiebung [%d]" { channel="knx:device:bridge:generic:KuecheSollwertverschiebung" }
Number KuecheSollwert "Küche Sollwert [%.1f °C]" { channel="knx:device:bridge:generic:KuecheSollwert" }
Code: Alles auswählen
Setpoint item=KuecheSollwertverschiebung step=1 minValue=-6 maxValue=6
Setpoint item=KuecheSollwert step=0.5 minValue=18 maxValue=24
1. Problem
Wenn ich über den Setpoint Kuechesollwert die Temperatur verändern will passiert folgendes:
events.log
Code: Alles auswählen
2019-10-12 10:09:01.536 [ome.event.ItemCommandEvent] - Item 'KuecheSollwert' received command 23
2019-10-12 10:09:01.544 [nt.ItemStatePredictedEvent] - KuecheSollwert predicted to become 23
2019-10-12 10:09:01.558 [vent.ItemStateChangedEvent] - KuecheSollwert changed from 23.5 to 23
2019-10-12 10:09:01.939 [ome.event.ItemCommandEvent] - Item 'KuecheSollwert' received command 22.5
2019-10-12 10:09:01.952 [nt.ItemStatePredictedEvent] - KuecheSollwert predicted to become 22.5
2019-10-12 10:09:01.969 [vent.ItemStateChangedEvent] - KuecheSollwert changed from 23 to 22.5
2019-10-12 10:09:01.977 [WARN ] [nx.internal.client.AbstractKNXClient] - Value '22.5' could not be sent to the KNX bus using datapoint 'command DP 1/2/2 'knx:ip:bridge', DPT id 6.010, low priority': 6.010 signed count: wrong value format: 22.5. Giving up now.
2019-10-12 10:09:01.982 [WARN ] [.internal.handler.DeviceThingHandler] - An error occurred on channel knx:device:bridge:generic:KuecheSollwertverschiebung: 6.010 signed count: wrong value format: 22.5
2. Problem
Ich möchte die Sollwerverschiebung mittels Rule aus dem Sollwert berechnen lassen. Ich scheitere aber an der Syntax:
knx.rules
Code: Alles auswählen
var Number basisSollwert = 21
// Berechne die Sollwertverschiebung anhand des Sollwertes
rule "Calc Setpoint-Shift"
when
Item KuecheSollwert received command
then
var number shift = 0
shift = receivedCommand - basisSollwert
KuecheSollwertverschiebung.sendCommand(shift)
end
Ich hoffe mir kann hier jemand helfen.. Danke!
grz
Monkey