Transform-Script mit Parameter ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
TorstenE
Beiträge: 246
Registriert: 12. Jan 2022 18:29
Answers: 4
Wohnort: Niederstaufen

Transform-Script mit Parameter ?

Beitrag von TorstenE »

Hallo Mitstreiter,

ich habe folgendes Beispiel gefunden, wie an ein Transfrom-Script mit Parametern aufgerufen werden kann

Code: Alles auswählen

Number:Temperature nSolTemp3_t "Temp. Tank Solfanger T3" <Temperature> (gSolStatus2) ["Measurement", "Temperature"]  {channel="mqtt:topic:stest:temperatur3"[profile="transform:JS", toItemScript="scaleOffset2.js?offs=3&ratio=10"]}
scaleOffset2.js

Code: Alles auswählen

(function(input) {
   var MyData = (parseFloat(input) + parseFloat(offs)) / parseFloat(ratio);
   return MyData.toString();
})(input)
Bei mit funktioniert dies leider nicht. Es meldet den Fehler:

org.graalvm.polyglot.PolyglotException: ReferenceError: "offs" is not defined

Hat jemand eine Idee

Danke

Torsten
openHAB 5.0.0 (#4495) auf einem Pi 4 mit openHABian

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

Re: Transform-Script mit Parameter ?

Beitrag von udo1toni »

Ich bin mir nicht sicher, seit wann Parameter erlaubt sind, kann gut sein, dass das erst seit OH4.1 geht, denn das ist definitiv ein recht neues Feature.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

lukima61
Beiträge: 24
Registriert: 14. Aug 2020 09:04
Answers: 1

Re: Transform-Script mit Parameter ?

Beitrag von lukima61 »

Läuft bei mir unter OH 4.1.1 nicht. Wo wurde das Script gefunden, interessant wäre diese Möglichkeit schon.

Harka
Beiträge: 607
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Transform-Script mit Parameter ?

Beitrag von Harka »

Moin,
über die UI funktioniert Transformation mit Parameter.

Code: Alles auswählen

JS(config:js:jsMultiply?faktor=10)

Code: Alles auswählen

(function(i) {
  return (parseFloat(i) * parseFloat(faktor));
})(input)
Habe es auch schon versuchsweise mit 2 Parameter probiert - klappt. Kein Plan wo es bei deinem Versuch hapert. Scheint genau der Anleitung zu entsprechen und in der Dokumentation finde ich diese Vorgehensweise ab OH 4.0

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

Re: Transform-Script mit Parameter ?

Beitrag von udo1toni »

Das ist ausdrücklich in der Doku erwähnt:
https://www.openhab.org/docs/configurat ... igurations

Ach, ich sehe gerade, ich bin schon zu spät... :) egal, ich lass es dennoch stehen...
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

Benutzeravatar
peter-pan
Beiträge: 2872
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Transform-Script mit Parameter ?

Beitrag von peter-pan »

...vielleicht muss vor dem zweiten Parameter auch "?" statt eines "&" stehen. Hab's nicht ausprobiert
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.1.4 openhabian
(Test openHAB 5.2.0-SNAPSHOT - Build #5309 - RPi 5/8 / M.2 SSD)

Antworten