Seite 1 von 1
Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 16:37
von witti
Hallo,
ich bin schon relativ weit bei der Programmierung meines SmartHome, aber ich verzweifle gerade beim programmieren des Heizungsaktors.
Ich nutze Heizungsaktoren von MDT.
Die Items und Things sind in der Paper UI angelegt
Das lesen von Temperaturwerten funktioniert.
Eine Sollwertverschiebung über 1Bit geht auch.
Setzen von Sollwerten, Sollwertverschiebung über 2 Byte Objekt und Betriebsartumschaltung gehen nicht.
Ich habe keine Ahnung wo hier mein Fehler liegt.
Ich habe es mit den Channel Types Number und Number Control versucht
Hier mal ein paar Codebeispiele für die Betriebsart:
In der Sitemap steht:
Selection item=HeizAFlur_BenBetriebsartControll label="Betriebsart" mappings=[1="Tag", 2="Standby", 3="Nacht"]
Wenn ich es über eine Regel versuche schreibe ich z.Bsp.:
HeizAFlur_BenBetriebsartControll.sendCommand(3)
Im events.log steht auch das Werte übertragen wurden: "Item 'HeizAFlur_BenBetriebsartControll' received command 3"
Es kommt aber nichts beim Aktor an.
Wenn ich in der ETS5 den Wert an die Gruppenadresse sende geht alles.
Sagt bescheid falls noch Screenshots o.ä. benötigt werden.
Danke
Marco
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 18:00
von udo1toni
Die Definition der Channel wäre schon hilfreich...
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 18:43
von witti
Hier der Code aus der jsondb
Habe den Code für die 2Byte-Sollwertverschiebung und Betriebsart raus kopiert
org.eclipse.smarthome.core.thing.link.ItemChannelLink
Code: Alles auswählen
"knx:device:cc7eed06": {
"class": "org.eclipse.smarthome.core.thing.internal.ThingImpl",
"value": {
"label": "HeizA-Flur",
"bridgeUID": {
"segments": [
"knx",
"ip",
"ac4a6909"
]
},
"channels": [
{
"label": "KiZi Ben Sollwertverschiebung (2Byte)",
"configuration": {
"properties": {
"ga": "3/6/7"
}
},
"properties": {},
"defaultTags": []
},
"label": "Ben Betriebsart Controll",
"configuration": {
"properties": {
"ga": "3/2/5"
}
},
"properties": {},
"defaultTags": []
}
],
org.eclipse.smarthome.core.thing.Thing
Code: Alles auswählen
"HeizAFlur_BenBetriebsartControll -\u003e knx:device:cc7eed06:21": {
"class": "org.eclipse.smarthome.core.thing.link.ItemChannelLink",
"value": {
"channelUID": {
"segments": [
"knx",
"device",
"cc7eed06",
"21"
]
},
"configuration": {
"properties": {
"profile": "system:default"
}
},
"itemName": "HeizAFlur_BenBetriebsartControll"
}
}
"HeizAFlur_KiZiBenSollwertverschiebung2Byte -\u003e knx:device:cc7eed06:11": {
"class": "org.eclipse.smarthome.core.thing.link.ItemChannelLink",
"value": {
"channelUID": {
"segments": [
"knx",
"device",
"cc7eed06",
"11"
]
},
"configuration": {
"properties": {
"profile": "system:default"
}
},
"itemName": "HeizAFlur_KiZiBenSollwertverschiebung2Byte"
}
}
org.eclipse.smarthome.core.items.Metadata
Code: Alles auswählen
"autoupdate:HeizAFlur_KiZiBenSollwertverschiebung2Byte": {
"class": "org.eclipse.smarthome.core.items.Metadata",
"value": {
"key": {
"segments": [
"autoupdate",
"HeizAFlur_KiZiBenSollwertverschiebung2Byte"
]
},
"value": "false",
"configuration": {}
}
},
"autoupdate:HeizAFlur_BenBetriebsartControll": {
"class": "org.eclipse.smarthome.core.items.Metadata",
"value": {
"key": {
"segments": [
"autoupdate",
"HeizAFlur_BenBetriebsartControll"
]
},
"value": "false",
"configuration": {}
}
}
org.eclipse.smarthome.core.items.Item
Code: Alles auswählen
"HeizAFlur_KiZiBenSollwertverschiebung2Byte": {
"class": "org.eclipse.smarthome.core.items.ManagedItemProvider$PersistedItem",
"value": {
"groupNames": [],
"itemType": "Number:Temperature",
"tags": [],
"label": "KiZi Ben Sollwertverschiebung (2Byte)"
}
},
"HeizAFlur_BenBetriebsartControll": {
"class": "org.eclipse.smarthome.core.items.ManagedItemProvider$PersistedItem",
"value": {
"groupNames": [],
"itemType": "Number:Dimensionless",
"tags": [],
"label": "Ben Betriebsart Controll"
}
},
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 19:13
von udo1toni
Uh, ja, das geht auch... etwas ungewohnt...
knx unterstützt meines Wissens (noch) kein UoM. Das heißt, Du darfst kein Number:Temperature verwenden, sondern musst Number als Item verwenden.
Versuche bitte mal, den DPT mit zu übergeben, also z.B. 9.001:3/6/7 .
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 19:47
von witti
Ähhh ... ich glaube so tief steck ich in der Materie noch nicht drin.
Kannst du mir bitte kurz erklären was du genau meinst mit "Number als Item verwenden"
Wie kann ich den DPT mit übergeben?
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 19:54
von udo1toni
Du hast Number:Temperature als ItemType verwendet. Das musst Du in Number ändern.
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 20:18
von witti
super, jetzt klappt das Senden der Sollwertverschiebung und auch das setzen der Sollwerte direkt.
Nur die Betriebsart klappt noch nicht.
Gibts zu solchen kleinen "Tricks" ne Doku?
Re: Werte an Heizungsaktor übergeben
Verfasst: 27. Jan 2019 22:32
von udo1toni
witti hat geschrieben: ↑27. Jan 2019 20:18
Gibts zu solchen kleinen "Tricks" ne Doku?
Es gibt die offizielle Doku.
Das Problem ist, wenn man openHAB neu kennenlernt, fehlt einem die zeitliche Abfolge, in der die Dinge entstanden sind.
UoM (Units of Measurement) sind erst mit der letzten stable Version dazu gekommen, es gibt etliche Addons, die dies nicht unterstützen. Wenn ein Addon UoM unterstützt, wird dies im Normalfall in der Doku explizit erwähnt, nicht jedoch, wenn ein Addon UoM
nicht unterstützt.
Man sollte sich immer möglichst nah an die Konfigurationsbeispiele anlehnen. Wenn etwas erst mal grundsätzlich funktioniert, kann man von diesem Punkt ausgehend experimentieren (aber nicht vergessen, was funktioniert hat).
Das
Number:Dimensionless hast Du ebenfalls durch
Number ersetzt?
Re: Werte an Heizungsaktor übergeben
Verfasst: 28. Jan 2019 07:38
von witti
Danke für die Hinweise.
Ich werde erstmal alles überarbeiten und testen.
Sollte es dann immer noch nicht gehen, melde ich mich nochmal