ZIgbee2MQTT RGB Controller Farbe

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

DemonKing
Beiträge: 8
Registriert: 12. Mär 2022 16:42
Answers: 0

Re: ZIgbee2MQTT RGB Controller Farbe

Beitrag von DemonKing »

Sorry für die späte Antwort.
Dass das formatBeforPublish nicht richtig ist hatte ich gelesen und auch deinen Vorschlag ausprobiert. Leider hat damit nicht funktioniert. So funktioniert es. Wieso weshalb auch immer. Und das bei beiden RGB Controllern.
Den Payload poste ich wenn ich schaffe heute noch aber spätestens morgen. Hab leider gar viel um die Ohren

bananajoe86
Beiträge: 5
Registriert: 5. Sep 2020 10:43
Answers: 0

Re: ZIgbee2MQTT RGB Controller Farbe

Beitrag von bananajoe86 »

udo1toni hat geschrieben: 31. Jan 2023 20:22 Hat mir keine Ruhe gelassen, ein paar Posts später eine Lösung, die vermutlich exakt passen wird:
https://community.openhab.org/t/zigbee2 ... /86362/201

Die beiden Scripte müssen im Ordner $OPENHAB_CONF/transform/ liegen, die Dateiendung ist verpflichtend .js, weil das die Scriptsprache ist.


Nur für den Hinterkopf, um noch mehr Verwirrung zu stiften...:
Mit openHAB3.4 gibt es auch noch den Script Transformation Service, der mittelfristig JS ablösen wird. Mit dem Script Transformation Service muss die Endung dann .script lauten, dafür kann man dort dann über den Link angeben, welche Scriptsprache verwendet wird.
Hey Udo,
nachdem ich im Changelog für OH4 schon gelesen hab, dass die .js nicht mehr funktionieren habe ich gleich mal eine Testumgebung angelegt. Kannst du schon sagen, wie die .js dann zukünftig funktionieren könnte.
Wäre schade wenn OH4 released wird, ich es aber wegen 3 Lampen nicht nutzen könnte.

Gruß Joe

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

Re: ZIgbee2MQTT RGB Controller Farbe

Beitrag von udo1toni »

Es läuft zukünftig so, dass es die SCRIPT Transformation gibt (die sollte es unter openHAB3.4.2 auch schon geben, bin gerade zu faul danach zu suchen) und weil es einen Zusammenhang der Dateiendung zum Addon Namen gibt (also einen automatischen...) müssen die Scripts zukünftig alle die Endung .script tragen. Der Witz bei der SCRIPT Transformation ist aber, dass man nicht mehr nur auf JavaScript als Sprache beschränkt ist.
Der Preis dafür ist allerdings, dass man dem Addon zusätzlich zum Dateinamen auch noch als ersten Parameter mitteilen muss, welche Sprache verwendet wird. Im englischen Forum gibt es dazu schon Beispiele :)

Und ganz wichtig ist natürlich, dass es schon eine andere Art Dateien in openHAB gibt, die die Endung .script tragen und einen eigenen Ordner haben, der dummerweise auch noch unmittelbar neben dem transform-Ordner liegt und scripts heißt.
Es ist also zu 100 % sicher, dass es über Jahre tausende User geben wird, denen man immer wieder erklären muss, das die script-Dateien für die Transformation zwingend im Ordner transform liegen müssen, während die .script-Dateien selbstverständlich in den scripts Ordner gehören (und nur diese, aber nicht die anderen, die auch die .script Endung tragen).
Das ist ein Support-Alptraum, der so sicher ist, wie das Amen in der Kirche, und wenn jeder 2. Satz in der Dokumentation das erwähnt.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

bananajoe86
Beiträge: 5
Registriert: 5. Sep 2020 10:43
Answers: 0

Re: ZIgbee2MQTT RGB Controller Farbe

Beitrag von bananajoe86 »

Danke Udo, mit deinen Hinweisen und ganz viel rumprobieren habe ich es letztlich hingebracht. Für alle, welche ebenfalls nach dieser https://community.openhab.org/t/zigbee2 ... /86362/193 das ganze gemacht haben hier die Lösung:
Die Dateien bright-zigbee-in.js und bright-zigbee-out.js im Ordner /transform kopieren und in bright-zigbee-in.script und bright-zigbee-out.script umbenennen. Die mqtt.things sieht dann wie folgt aus:

Code: Alles auswählen

Type color : Flur "Flur" [
                stateTopic="zigbee2mqtt/Flur",
                commandTopic="zigbee2mqtt/Flur/set",
                transformationPatternOut= "SCRIPT:graaljs:bright-zigbee-out.script",
                formatBeforePublish= "%s",
                colorMode= "XYY",
                transformationPattern= "SCRIPT:graaljs:bright-zigbee-in.script",
                off= "0",
                onBrightness= 100,
                on= "1"     ]
et voila. Ihr benötigt dann noch das "JavaScript Scripting". Zu installieren unter Bindings - Automationen

Gruß Joe

Antworten