Item Werte in Rules auslesen
-
- Beiträge: 32
- Registriert: 8. Jun 2020 22:11
Re: Item Werte in Rules auslesen
Vielen Dank!
Mir ist aber noch immer nicht klar wie die Syntax "as Number" da hinein passt?
Mir ist aber noch immer nicht klar wie die Syntax "as Number" da hinein passt?
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Item Werte in Rules auslesen
.state as Number bedeutet: Nimm den Status und versuche, ihn als Number zu verwenden. (Number ist ein Datentyp, wie z.B. OnOffType, HSBType oder auch DecimalType) deshalb muss der Ausdruck auch geklammert werden.
ist ein Objekt vom Typ Number. Für das Objekt stehen alle Methoden zur Verfügung, die für ein "gewöhnliches" Number Objekt auch zur Verfügung stehen, also z.B. .floatValue, .doubleValue oder auch .intValue.
Code: Alles auswählen
(MyItem.state as Number)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 228
- Registriert: 8. Apr 2020 20:59
Re: Item Werte in Rules auslesen
Hallo mal wieder,
mein Problempasst irgendwie hierzu denke ich:
Mein Rollo soll runtergehen, wenn der Sonnenazimut mehr als 270 Grad und der Höhenwinkel
der Sonne geringer als 12 Grad ist.
Habe folgende Regel erstellt, wenn der Azimut sich verändert:
Und wo bringe ich jetzt den floatvalue oder Number unter?
Vielen Dank!
mein Problempasst irgendwie hierzu denke ich:
Mein Rollo soll runtergehen, wenn der Sonnenazimut mehr als 270 Grad und der Höhenwinkel
der Sonne geringer als 12 Grad ist.
Habe folgende Regel erstellt, wenn der Azimut sich verändert:
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: AstronomischeSonnendaten_Azimut
type: core.ItemStateChangeTrigger
conditions:
- inputs: {}
id: "3"
configuration:
itemName: AstronomischeSonnendaten_Azimut
state: "270"
operator: ">"
type: core.ItemStateCondition
- inputs: {}
id: "4"
configuration:
itemName: AstronomischeSonnendaten_Hohenwinkel
state: "12"
operator: <
type: core.ItemStateCondition
actions:
- inputs: {}
id: "2"
configuration:
command: ON
itemName: Terrassenrollo_TerrassenrolloRunter
type: core.ItemCommandAction
Vielen Dank!
Raspberry Pi 4, OH 4.0.3
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Item Werte in Rules auslesen
Du hast eine Rule über die UI erstellt, da gelten andere Regeln
Vermutlich musst Du einfach nur statt einfach 270 zu schreiben, noch das Grad- Zeichen anhängen (ohne Gewähr), also 270 ° (ans Leerzeichen denken)
Vermutlich musst Du einfach nur statt einfach 270 zu schreiben, noch das Grad- Zeichen anhängen (ohne Gewähr), also 270 ° (ans Leerzeichen denken)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 228
- Registriert: 8. Apr 2020 20:59
Re: Item Werte in Rules auslesen
Danke. Mal sehen, was er heute nachmittag macht...In jedem Fall habe ich schon mal eine neue
Taste auf der Tastatur entdeckt. Die links neben der 1 mit dem °- Zeichen ...
Taste auf der Tastatur entdeckt. Die links neben der 1 mit dem °- Zeichen ...
Raspberry Pi 4, OH 4.0.3
-
- Beiträge: 18
- Registriert: 27. Dez 2022 09:19
Re: Item Werte in Rules auslesen
Hallo,
Ich krame diesen Fred hervor, da nichts passenderes gefunden, und falls mal jemand ein ähnliches Problem hat ...
Ich steuere meine PV Pufferlösung via Script. Die Aufgabenstellung, wenn die Stromentnahme einen gewissen Schwellenwert überschritten hat, dann soll die Einspeisung abgeschaltet werden. Script funktioniert seit einiger Zeit und erfüllt seinen Zweck. Jetzt bin ich einen Schritt weiter gegangen und habe den Schwellwert in ein numerisches Item gelegt, das ich ändern kann. Nur ist es anscheinend ein Unterschied ob ich den Wert im Script setze, oder von dem Item hole ...
Der Code:
var SchwellenStrom = -90.000;
var StromAktuell
SchwellenStrom = items.getItem('nPVGSchwellenStromverbrauch').numericState.toFixed(3);
StromAktuell = items.getItem('PV_Gartenhaus_Shunt_Verbauchter_Strom').numericState.toFixed(3);
if (StromAktuell < SchwellenStrom) {
........
NotificationAction.sendBroadcastNotification("Achtung, die Stromentnahme der Pufferbatterie ist " + StromAktuell + " Ah!" );
NotificationAction.sendBroadcastNotification("Grenzwert Stromverbrauch ist: " + SchwellenStrom );
}
Der Wert StromAktuell hat den Wert -71.285 und der Wert SchwellenStrom -95.000.
Nur geht dieser if immer auf. Also -71.285 ist kleiner als -95.000 .......
In der Notifaction sehe ich beide Wert korrekt.
Wenn ich nun die Werteermittlung für den SchwellenStrom auskommentiere, also den Default benutze funktioniert es korrekt.
Was mache ich falsch ?
Für jeden Hinweis dankbar
Ich krame diesen Fred hervor, da nichts passenderes gefunden, und falls mal jemand ein ähnliches Problem hat ...
Ich steuere meine PV Pufferlösung via Script. Die Aufgabenstellung, wenn die Stromentnahme einen gewissen Schwellenwert überschritten hat, dann soll die Einspeisung abgeschaltet werden. Script funktioniert seit einiger Zeit und erfüllt seinen Zweck. Jetzt bin ich einen Schritt weiter gegangen und habe den Schwellwert in ein numerisches Item gelegt, das ich ändern kann. Nur ist es anscheinend ein Unterschied ob ich den Wert im Script setze, oder von dem Item hole ...
Der Code:
var SchwellenStrom = -90.000;
var StromAktuell
SchwellenStrom = items.getItem('nPVGSchwellenStromverbrauch').numericState.toFixed(3);
StromAktuell = items.getItem('PV_Gartenhaus_Shunt_Verbauchter_Strom').numericState.toFixed(3);
if (StromAktuell < SchwellenStrom) {
........
NotificationAction.sendBroadcastNotification("Achtung, die Stromentnahme der Pufferbatterie ist " + StromAktuell + " Ah!" );
NotificationAction.sendBroadcastNotification("Grenzwert Stromverbrauch ist: " + SchwellenStrom );
}
Der Wert StromAktuell hat den Wert -71.285 und der Wert SchwellenStrom -95.000.
Nur geht dieser if immer auf. Also -71.285 ist kleiner als -95.000 .......
In der Notifaction sehe ich beide Wert korrekt.
Wenn ich nun die Werteermittlung für den SchwellenStrom auskommentiere, also den Default benutze funktioniert es korrekt.
Was mache ich falsch ?
Für jeden Hinweis dankbar
openHAB 4.0.3 im Docker auf Debian 11, Anbindung an Raspmatic, Hue, FHEM, Fritzbox, Buderus KM200, Worx, Bilnk, Alexa
-
- Beiträge: 188
- Registriert: 7. Jan 2020 14:45
- Kontaktdaten:
Re: Item Werte in Rules auslesen
Taifun2300 hat geschrieben: ↑2. Aug 2023 14:27 Bitte die Rule als code definieren, dann ist sie leichter zu lesen
die Variable StromAktuell bekommt ja keinen Wert, oder verstehe ich das falsch?Taifun2300 hat geschrieben: ↑2. Aug 2023 14:27 var SchwellenStrom = -90.000;
var StromAktuell
SchwellenStrom = items.getItem('nPVGSchwellenStromverbrauch').numericState.toFixed(3);
StromAktuell = items.getItem('PV_Gartenhaus_Shunt_Verbauchter_Strom').numericState.toFixed(3);
if (StromAktuell < SchwellenStrom) {
........
NotificationAction.sendBroadcastNotification("Achtung, die Stromentnahme der Pufferbatterie ist " + StromAktuell + " Ah!" );
NotificationAction.sendBroadcastNotification("Grenzwert Stromverbrauch ist: " + SchwellenStrom );
}
Edit, Mumpits, wird eh zugewiesen, Sorry
Mach doch nach dem Auslesen der Werte eine Anzeige, was in den Variablen den nun wirklich drinnen steht
Code: Alles auswählen
logInfo("Rulename","StromAktuell: {}",StromAktuell)
BYe
Harald
Harald
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Item Werte in Rules auslesen
Achtung, JavaScript, Achtung, Halbwissen!
Ist es nicht so, dass man unter JavaScript irgendwo vorne ein getLogger(blabliblub) unterbringen muss und dann mit logger.info(message) arbeitet?
Egal, wie (exakt) sind die Items denn definiert? Number? Number:Power? Number:ElectricCurrent?
Welche openHAB-Version setzt Du ein? Falls OH4, wie sind die units beider Items gesetzt (falls UoM Items)?
Ist es nicht so, dass man unter JavaScript irgendwo vorne ein getLogger(blabliblub) unterbringen muss und dann mit logger.info(message) arbeitet?
Egal, wie (exakt) sind die Items denn definiert? Number? Number:Power? Number:ElectricCurrent?
Welche openHAB-Version setzt Du ein? Falls OH4, wie sind die units beider Items gesetzt (falls UoM Items)?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 303
- Registriert: 30. Apr 2021 13:13
Re: Item Werte in Rules auslesen
https://www.w3schools.com/jsref/jsref_tofixed.asp
toFixed gibt ein String zurück. Ich dachte erst es liegt am fehlendem ";" nach der 2. Variable und bin mit typeof darauf gekommen. Der Vergleich (>) geht daher nicht mehr auf.
@udo1toni - ja, das Nashorn wollte so umständlich geritten werden
toFixed gibt ein String zurück. Ich dachte erst es liegt am fehlendem ";" nach der 2. Variable und bin mit typeof darauf gekommen. Der Vergleich (>) geht daher nicht mehr auf.
@udo1toni - ja, das Nashorn wollte so umständlich geritten werden
-
- Beiträge: 18
- Registriert: 27. Dez 2022 09:19
Re: Item Werte in Rules auslesen
Vielen lieben Dank!
.toFixed(3) entfernen does the trick …
Wobei ich mir sicher war, es auch mit nur numericState ausprobiert zu haben … Aber wer weiß was ich da falsch hatte.
Das Semicolon bei der Variablendefinition hatte ich übersehen, auch danke dafür!
Die Versionsnummer Openhab hatte ich in meine Signatur aufgenommen gehabt .. wenn auch nicht ganz korrekt wäre ja jetzt 4.0.1
PS: Und ich hatte ganz bewusst nur mit reinen numbers gearbeitet, von der MQTT Lieferung bis zur Verarbeitung. Lediglich bei der Aufbereitung im Model benutze ich das Literal „Ah“ … Nach dem Motto, keep it simple. Gibt ja genug Ecken um mich selbst auszutricksen
LG
Christoph
.toFixed(3) entfernen does the trick …
Wobei ich mir sicher war, es auch mit nur numericState ausprobiert zu haben … Aber wer weiß was ich da falsch hatte.
Das Semicolon bei der Variablendefinition hatte ich übersehen, auch danke dafür!
Die Versionsnummer Openhab hatte ich in meine Signatur aufgenommen gehabt .. wenn auch nicht ganz korrekt wäre ja jetzt 4.0.1
PS: Und ich hatte ganz bewusst nur mit reinen numbers gearbeitet, von der MQTT Lieferung bis zur Verarbeitung. Lediglich bei der Aufbereitung im Model benutze ich das Literal „Ah“ … Nach dem Motto, keep it simple. Gibt ja genug Ecken um mich selbst auszutricksen
LG
Christoph
openHAB 4.0.3 im Docker auf Debian 11, Anbindung an Raspmatic, Hue, FHEM, Fritzbox, Buderus KM200, Worx, Bilnk, Alexa