Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von udo1toni »

Äh... Du musst da im Label SCALE schreiben, nicht Scale. Groß/Kleinschreibung ist für jeden einzelnen Buchstaben zu beachten und nicht optional, das gilt für so gut wie alles in openHAB.

Alle Transformation Services werden beim Aufruf komplett in Großbuchstaben geschrieben. Dateiendungen werden immer komplett in Kleinbuchstaben geschrieben, Befehle,Actions und Methoden werden allgemein in camelCase angegeben, z.B. sendCommand oder logInfo.

Kleiner Hinweis am Rande: Man kann seine Items, Things, Channel, Variablen usw. frei benennen, sofern man sich beim ersten Zeichen auf einen Buchstaben [a-z,A-Z] und bei allen übrigen Zeichen auf ein Zeichen aus [a-z,A-Z,0-9,_] beschränkt. Es ist allerdings guter Stil, camelCase zu verwenden. Ich bin von allgemeinen Tuts zum Thema Programmierung gewohnt, bei Variablen den Typ mit in den Namen zu schreiben, z.B. iZahl für eine Integer Variable oder strText für eine Stringvariable. Man könnte noch über Groß/Kleinschreibung zwischen Objekten und Primitives unterscheiden, aber man sollte in openHAB ohnehin möglichst auf Primitives verzichten. Entsprechend fangen bei mir die Variablen auch alle mit Kleinbuchstaben an.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

floeg
Beiträge: 19
Registriert: 26. Feb 2020 17:44
Answers: 0

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von floeg »

Vielen Dank; das war der Fehler.
Und vielen Dank für deine Hinweise

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von lenschith »

Ich habe diesen Beitrag gefunden und würde eigentlich genau das erklären was ich möchte aber bei meinen OH4.1.1 bringe ich das nicht zum laufen weder in der State Description noch als Transformation was mache ich falsch?

Das Binding für die Scale Transformation habe ich installiert und die Transformation habe ich in der UI angelegt. config:scale:windrichtungen

State Description:

Code: Alles auswählen

 SCALE(config:scale:windrichtungen):%s
im Log erhalte ich:

Code: Alles auswählen

2024-01-19 16:45:09.988 [WARN ] [e.internal.SseItemStatesEventBuilder] - Failed transforming the state '311 °' on item 'WetterinformationHeute_ForecastHours03_Winddirection' with pattern ' SCALE(config:scale:windrichtungen):%s': Couldn't transform value because transformation service of type ' SCALE' is not available.
Das Item ist als Number/Angle angelegt

Wenn ich es im Channel als Tranformation angebe bleibt das Item auf NULL

Danke
Gruß Lenschi
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

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

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von peter-pan »

lenschith hat geschrieben: 19. Jan 2024 16:53 State Description:

SCALE(config:scale:windrichtungen):%s
Ich habe zwar schon lange nichts mehr gemacht, aber ich meine, dass müsste etwas anders aussehen.

Code: Alles auswählen

z.B.
[SCALE(windrichtungen.scale):%s]
scale.jpg

Code: Alles auswählen

[0..11.25[ = Nord
[11.25..33.75[ = NordNordOst
[33.75..56.25[ = NordOst
[56.25..78.75[ = OstNordOst
[78.75..101.25[ = Ost
[101.25..123.75[ = OstSüdOst
[123.75..146.25[ = SüdOst
[146.25..168.75[ = SüdSüdOst
[168.75..191.25[ = Süd
[191.25..213.75[ = SüdSüdWest
[213.75..236.25[ = SüdWest
[236.25..258.75[ = WestSüdWest
[258.75..281.25[ = West
[281.25..303.75[ = WestNordWest
[303.75..326.25[ = NordWest
[326.25..348.75[ = NordNordWest
[348.75..360[ = Nord
[360..999] = Keiner weiss es
NaN=Non Numeric State presented
Aber ich befürchte, da gibt es noch ein Hindernis. Aus der Fehlermeldung entnehme ich den Wert "311 °". Ich vermute mal es handelt sich dabei um ein UoM-Item und ob man da mit einer einfachen Scale-Transformation arbeiten kann, weiss ich nicht.


Edit: Habe gerade gelesen, dass die Transformation nur für String-Items geht !!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von lenschith »

Funktioniert. War ein Leerzeichen vor SCALE im Pattern. Geht auch mit UoM Number/Angle

Ich habe die Transformation über die UI angelegt dann sieht das Patter so aus:
Screenshot 2024-01-19 230252.png
Transformation:
Screenshot 2024-01-19 230538.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

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

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von peter-pan »

Das ist ja super 👍. Was ist denn der Item-Typ deines Items ?

Edit: Hab's gerade auch hin bekommen mit Item-Typ Number:Angle

Code: Alles auswählen

Number:Angle  Sun_Azimuth "Azimuth"  <incline>  (gAstro)  ["Point"]    {channel="astro:sun:local:position#azimuth", stateDescription="pattern" [pattern="SCALE(wind.scale):%s"]}
Zuletzt geändert von peter-pan am 20. Jan 2024 11:56, insgesamt 1-mal geändert.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
lenschith
Beiträge: 313
Registriert: 11. Dez 2020 22:36
Answers: 0

Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?

Beitrag von lenschith »

Screenshot 2024-01-20 113329.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB4.3.3 in einem Docker Container auf RPI5-8GB, AVM: Fritz!Box 7590 - SMART301/302 - Comet, SMART200/210, SMART440, Alexa, Shelly, Tasmota, ESP Easy, WLED

Antworten