Hi,
ich habe ein paar Items angelegt die ein Script mit Werten füllen soll. Wenn ich das Item anlege ist es ja noch frisch und ohne Werte. Mit diesen NULL als Wert mag das Script gar nicht umgehen. Wenn ich im Script den Wert abrufe und z.b. mit einem anderen addieren möchte klappt es aufgrund der NULL als Wert nicht. Ich muss das Script einmalig mit einem Wert schreiben und dann gehts. Kann ich ein Item schon beim anlegen ein Wert z.b. 1 zuweisen? Kann ich das im nachhinein nocht machen und wenn ja wie?
Mfg
Jens
Items inkl. Wert anlegen
-
- Beiträge: 197
- Registriert: 23. Sep 2018 19:43
Re: Items inkl. Wert anlegen
Guten Morgen!
Bevor Udo dir sicherlich ausführlicher antworten wird (
), hier meine Antwort.
Es gibt mehrere Möglichkeiten.
Du kannst ein Item auf NULL abfragen:
Wenn es sich um eine Number handeln muss geht auch:
Und du kannst auch beim Start von OH Items setzen:
Bevor Udo dir sicherlich ausführlicher antworten wird (

Es gibt mehrere Möglichkeiten.
Du kannst ein Item auf NULL abfragen:
Code: Alles auswählen
if (Item === NULL)
Code: Alles auswählen
if(!(Item.state instanceof Number))
Code: Alles auswählen
rule "Systemstart"
when
System started
then
logInfo("Systemstart-Rule","Systemstart wird ausgefuehrt")
end
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Items inkl. Wert anlegen

BOP hat es ja schon recht umfassend beschrieben.
Zum Rechnen bietet es sich oft an, den Wert des Items zunächst in eine (lokale) Variable zu laden, das geht dann z.B. so:
Code: Alles auswählen
var wert = 0
if(MyItem.state instanceof Number)
wert = MyItem.state as Number
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet