Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
- udo1toni
- Beiträge: 15243
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
Ä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.
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
-
- Beiträge: 19
- Registriert: 26. Feb 2020 17:44
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
Vielen Dank; das war der Fehler.
Und vielen Dank für deine Hinweise
Und vielen Dank für deine Hinweise
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
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:
im Log erhalte ich:
Das Item ist als Number/Angle angelegt
Wenn ich es im Channel als Tranformation angebe bleibt das Item auf NULL
Danke
Gruß Lenschi
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
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.
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
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
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]
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
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
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
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: Transformation:
Ich habe die Transformation über die UI angelegt dann sieht das Patter so aus: Transformation:
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
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
Das ist ja super
. Was ist denn der Item-Typ deines Items ?
Edit: Hab's gerade auch hin bekommen mit Item-Typ Number:Angle
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
- lenschith
- Beiträge: 313
- Registriert: 11. Dez 2020 22:36
Re: Wie erstelle ich ein Item welches die Daten von einer Regel bekommt?
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