Temperatur Datenpunkt umwandeln

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
OlafH
Beiträge: 4
Registriert: 3. Apr 2021 10:03
Answers: 0

Temperatur Datenpunkt umwandeln

Beitrag von OlafH »

Hallo zusammen,

ich versuche gerade folgendes Problem über Openhab zu lösen:

Ein Sonoff TH10 mit Tasmota Fimware gibt auf den KNX Bus eine Temperatur in 4-byte Format, das würde ich gerne auf einem MDT Glastaster darstellen, der kann aber nur 2byte Temperaturen anzeigen.

Ich habe dazu dieses Thing angelegt:

Code: Alles auswählen

Type number : Temperature "Temperatur" [ ga="14.068:<3/1/20" ]
Die Darstellung über dieses Item in Openhab funktioniert auch wie gedacht.

Code: Alles auswählen

Number Terrace_Pool_Temp "Terasse Pool Ist-Temp [%.1f °C]" <temperature> (Terrace, gHistoryDB) { channel="knx:device:bridge:SonoffTHPool:Temperature" }
Wenn ich jetzt ein weiteres Thing mit DPT 9.001 anlege, kann ich dann über ein Rule den obigen Wert umrechnen und wieder auf den Bus in eine entsprechende GA schreiben?
Hat da jemand vielleicht etwas ähnliches am laufen, bei dem ich ein wenig abkupfern könnte? :)

Vielen Dank im Vorraus

mfg
Olaf

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

Re: Temperatur Datenpunkt umwandeln

Beitrag von udo1toni »

Du möchtest die Temperatur an knx schicken. Dementsprechend ist es kontraproduktiv, die Temperatur vom knx Bus zu lesen. DPT14 wird grundsätzlich von openHAB unterstützt. Da openHAB per Definition gegenüber knx als Sensor auftritt, wäre es sinnvoll, den Channel als number-control zu definieren (obwohl das im Fall von Number nicht zwingend ist).
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

OlafH
Beiträge: 4
Registriert: 3. Apr 2021 10:03
Answers: 0

Re: Temperatur Datenpunkt umwandeln

Beitrag von OlafH »

Danke für den Tipp. Das könnte dann so aussehen?

Code: Alles auswählen

    Thing device generic {
        Type number-control	: PoolTemp2B					"Temperatur"	[ ga="9.001:3/1/21" ]
    }

Code: Alles auswählen

Number			Terrace_Pool_Temp_2B		"Terasse Pool Anzeige Ist-Temp [%.1f °C]"	<temperature>		(Terrace)		{ channel="knx:device:bridge:generic:PoolTemp2B" }
Hat noch jemand eine Idee, wie die Rule für die Umrechnung 4B -> 2B aussehen müsste?
Irgendwie so?

Code: Alles auswählen

rule "temperatur umrechnen"
when
    Item Terrace_Pool_Temp changed
then
    Terrace_Pool_Temp_2B.sendCommand(---  Umrechnung ---)
end
mfg
Olaf

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

Re: Temperatur Datenpunkt umwandeln

Beitrag von udo1toni »

?

Welches KO (KommunikationsObjekt) nutzt Du denn nun (bzw. welchen DPT nutzt das KO, der mit der GA 3/1/21 verknüpft ist)? Du kannst den DPT nicht frei auswählen, der wird vom KO fest vorgegeben.
Ist Dein KO DPT14.x, gibst Du 14.x an. Ist Dein KO DPT 9.x, gibst Du 9.x an.
Eine Umrechnung innerhalb openHAB braucht es dazu nicht.

Du brauchst auch keine Rule. Und wenn Du eine Rule verwendest, musst Du für *-control Channel postUpdate verwenden, NICHT sendCommand.

Ohne Rule verlinkst Du einfach den knx number-control Channel mit dem vorhandenen Number Item (also Terrace_Pool_Temp) und die Temperatur wird jedes Mal auf den knx Bus gesendet, wenn der Status von Terrace_Pool_Temp aktualisiert wird.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

OlafH
Beiträge: 4
Registriert: 3. Apr 2021 10:03
Answers: 0

Re: Temperatur Datenpunkt umwandeln

Beitrag von OlafH »

Hmm, ok. Vielleicht habe ich da viel zu kompliziert gedacht.

Also der Sensor sendet die Temperatur in DPT 14.x und der Glastaster kann nur DPT 9.x anzeigen, deshalb kann ich sie im KNX nicht direkt miteinander Verknüpfen.
Daher wollte ich OpenHAB quasi als "Übersetzer" nutzen, und hab jeweils ein Objekt für die Temperatur vom Sensor und eins für die Temperatur zur Anzeige am Glastaster erstellt. Und hatte mir gedacht, dass der OpenHAB Server die Temperatur von dem DPT 14.x Object empfängt, und dann richtung DPT 9.x Objekt wieder auf den Bus schickt, deshalb die Rule.

Das mit dem "Ohne Rule verlinkst Du einfach den knx number-control Channel mit dem vorhandenen Number Item" hab ich nicht verstanden, wie müsste das denn dann aussehen? Da muss ich mir glaube ich die Grundlagen nochmal genauer ansehen ... :)

mfg
Olaf

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

Re: Temperatur Datenpunkt umwandeln

Beitrag von udo1toni »

Ah. Du hast gar nicht erwähnt, dass der Sensor ebenfalls in knx verbaut ist...

Du musst natürlich den DPT übersetze lassen, und es ist naheliegend, das von openHAB erledigen zu lassen.

Du legst also zwei Channel an, der eine ist ein number Channel mit der GA, über die der Sensor in DPT14 abliefert. Dort musst Du vermutlich den DPT mit angeben, da knx number Channel default DPT9 verwenden, wenn ich es richtig in Erinnerung habe.

Zusätzlich legst Du einen zweiten Channel an, Typ number-control, dort trägst Du die DPT9 GA ein.

Beide Channel verlinkst Du mit demselben Number Item. Anschließend sollte bei jedem Update, welches der Sensor sendet das Display aktualisiert werden.


Gesendet von iPad mit Tapatalk
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

OlafH
Beiträge: 4
Registriert: 3. Apr 2021 10:03
Answers: 0

Re: Temperatur Datenpunkt umwandeln

Beitrag von OlafH »

Ah, jetzt hab ich es verstanden. Das gleich Item zweimal verlinken ... wusste gar nicht das das geht. :lol:

Herzlichen Dank, funktioniert jetzt wie gewünscht!

mfg
Olaf

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

Re: Temperatur Datenpunkt umwandeln

Beitrag von udo1toni »

OlafH hat geschrieben:Ah, jetzt hab ich es verstanden. Das gleich Item zweimal verlinken ... wusste gar nicht das das geht. :lol:

Herzlichen Dank, funktioniert jetzt wie gewünscht!

mfg
Olaf
Das ist eine der Kernfunktionen in openHAB :) es geht ja vornehmlich darum, verschiedene Technologien miteinander zu verbinden...


Gesendet von iPad mit Tapatalk
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten