Wert von Item zu Item

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Antworten
baipai
Beiträge: 60
Registriert: 17. Dez 2019 09:03
Answers: 0
Wohnort: Sisaket Thailand

Wert von Item zu Item

Beitrag von baipai »

Hallo an das Forum,

erst mal Sorry fuer die simple Frage.

ich beiße mir die Zähne aus.
Ich möchte den Wert eines Item in ein ungebundenes Item schreiben.

Ich möchte den eingebauten Rule Generator in Openhab verwenden.
Leider muss ich zugeben das ich nach 4 Std. ausprobieren nicht zum Erfolg gekommen bin.
Ich habe viele Kombinationen aus dem Forum auch dem Englisch sprachigen getestet, nichts hat funktioniert.

Ich vermute das geht mit dem eingebauten Rule Generator nicht.
Am ende möchte ich 2 Items multiplizieren und in ein ungebundenes Item schreiben

Hier meine Rule die erste Funktioniert da ich den Wert nicht aus einem Item ziehe.
Das gebundene Item ist omnik_pv1_voltage
Das ungebundene Item ist s1watt.

Rule die funktioniert

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: omnik_pv1_current
    type: core.ItemStateUpdateTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: s1watt
      state: "111"
    type: core.ItemStateUpdateAction
Rule die nicht funktioniert

Code: Alles auswählen

    configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: omnik_pv1_current
    type: core.ItemStateUpdateTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: s1watt
      state: omnik_pv1_voltage.state as number
    type: core.ItemStateUpdateAction

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

Re: Wert von Item zu Item

Beitrag von Harka »

Moin,

schau mal bitte hier -> viewtopic.php?p=55832
Wenn Du das lieber zusammenklicken willst bietet sich Blockly an. Das passende Werkzeug zum Rechnen mit UoM gibt es auch -> https://www.openhab.org/docs/configurat ... y-uom.html

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

Re: Wert von Item zu Item

Beitrag von udo1toni »

Zunächst mal: sind alle Voraussetzungen erfüllt? (ist JavaScript Scripting installiert? Bitte die GraalVM Version verwenden, nicht Nashorn).

Dann sollte das mit Blockly leicht zusammenzuschieben sein.
Nutzt Du eine aktuelle Version von openHAB? (openHAB4.x, am besten openHAB 4.1.3)

Wie sind die Items definiert? Da das erste Ausgangsitem omnik_pv1_voltage heißt und das Zielitem s1watt, nehme ich an, dass das zweite Ausgangsitem omnik_pv1_current ist?
von welchem exakten Typ sind die drei Items? Wenn es sich um QuantityType Items handelt (der Wert wird im Log mit Einheit ausgegeben), musst Du aufpassen, den Status auch als quantity state zu nutzen. Das Ergebnis von i mA x u V ist dann aber auch iu mW, d.h. der UoM Mechanismus rechnet auch die Einheiten mit.
Verwendest Du kein QuantityType, dann musst Du den numeric state verwenden.

Da die verschiedenen Eigenschaften des Items nicht offensichtlich sind: In Blockly im Bereich openHAB den Teilbereich Items & Things, dort das Element get (name) of Item, anschließend das (name) Feld aufklappen und aus dem Kontextmenü die korrekte Eigenschaft wählen.
Ist etwas von hinten durch die Brust ins Auge... ;)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

baipai
Beiträge: 60
Registriert: 17. Dez 2019 09:03
Answers: 0
Wohnort: Sisaket Thailand

Re: Wert von Item zu Item

Beitrag von baipai »

Erst mal vielen dank an euch.

ich verwende openHAB 4.1.3
Java ist installiert allerdings keine Ahnung welche Version

Ich habe noch nie etwas von Blockly gehoert.
Mit eigenschaften meinst du sicher das hier

Code: Alles auswählen

label: omnik_pv1_voltage
type: Number:ElectricPotential
Wenn ich es schaffen wuerde einfach den wert des Items omnik.pv1.voltage in ein anderes Item z.B. s1watt zu kopieren wuerde ich alles andere erarbeiten koennen.

Muss ich zuerst alles in eine Variable speichern? Kann ich nicht einfach z.B

Code: Alles auswählen

"s1watt.postUpdate(omnik.pv1.voltage as QuantityType)"

angeben.
Ich wuerde das gerne verstehen um die Grundlage zu haben.
Nur den Wert eines Items in ein anderes Item zu Kopieren und am BS anzuzeigen kann doch kein so grosses Problem sein.

Udo du hast recht, am ende moechte ich die Wattzahl der einzelnen Strings anzeigen, das wird mit dem Omnik Binding leider nicht ausgelesen. Ist nur Kosmetik und ich dachte waere einfach zu machen.

Vielen Dank fuer die Aregungen
.

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

Re: Wert von Item zu Item

Beitrag von Harka »

Moin,
nur den Wert 2 mal zu haben währe auch einfach. Du willst aber noch damit rechnen und dafür musst Du "programmieren". Zum Glück bietet OH verschiedene Möglichkeiten und für diese Aufgabe benötigst Du nur eine oder wenige Zeile(n).
Als Action wählst Du Inline_Script und anschließend die Sprache deiner Wahl welche Du ggf. vorher noch aus dem Add-On_Store/Automation installierst.
Das verlinkte Beispiel ist in Rule-DSL geschrieben und sollte aktuell noch vorinstalliert sein. Blockly ist eine Möglichkeit um Programme mit der Maus zu erstellen und benötigt in OH das "JavaScript Scripting" Add-On.
Ich selbst nutze Rule-DSL nicht aber das sollte gehen ->

Code: Alles auswählen

s1watt.postUpdate((omnik_pv1_voltage.state as QuantityType)
Beachte Bitte das Du nicht das Label sondern den Namen (ID) des Items nutzt die korrekte Schreibweise beachtest (Punkt ungleich Strich, ggf Groß- und Kleinschreibung)
in Blockly sieht es dann so aus
solarberechnenx12.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Harka am 30. Jun 2024 19:23, insgesamt 1-mal geändert.

baipai
Beiträge: 60
Registriert: 17. Dez 2019 09:03
Answers: 0
Wohnort: Sisaket Thailand

Re: Wert von Item zu Item

Beitrag von baipai »

Vielen Dank Harka

ich habe jetzt Blockly und Rule-DSL verstanden

Das funktioniert aber leider nicht es wird nicht aktuallisiert im Item s1watt

Hier mal ein Screenshot
das Item wo 555 drin steht sollte aktuallisiert werden

Bild

hier Rule-DSL
Bild

Ich weis nicht ob das mit den Bildern hier funktioniert.
-- Hat nicht funktioniert mit den Bildern --
Wie bringe ich die Bilder da rein?

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

Re: Wert von Item zu Item

Beitrag von udo1toni »

Im vollständigen Editor gibt es unterhalb des Editor Fensters die Möglichkeit, Dateianhänge hochzuladen.
Aber besser wäre es, die Code Ansicht als Text (markiert als Code) hier einzufügen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Wert von Item zu Item

Beitrag von Harka »

Wie ist omnik_pv1_voltage definiert? Wenn das kein Wert mit Maßeinheit ist funktioniert (ich spreche hier von Blockly) quantityState nicht. Da brauchst Du numericState.

Bilder: hat Udo ja schon geschrieben. Alternativ kannst Du das Bild auch zu einem Dienst wie https://imgbb.com/ hochladen und den BB-Vollansicht_Link hier nutzen.

E: hatte weiter oben auch ein Problem anderer Natur mit dem Bild. Da war es aber wohl ein Problem mit dem Namen. Bei Dir sind die Bilder nicht online

baipai
Beiträge: 60
Registriert: 17. Dez 2019 09:03
Answers: 0
Wohnort: Sisaket Thailand

Re: Wert von Item zu Item

Beitrag von baipai »

@harka

es ist ein Wert mit Maßeinheit

Bild

Bild
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

baipai
Beiträge: 60
Registriert: 17. Dez 2019 09:03
Answers: 0
Wohnort: Sisaket Thailand

Re: Wert von Item zu Item

Beitrag von baipai »

Funktioniert...
Ich habe alles vom Item entfernt und nun 2 Number Items
Jetzt geht es

Code: Alles auswählen

s1watt.postUpdate((omnik_pv1_voltage.state as Number)  * (omnik_pv1_current.state as Number))
Darauf kann ich jetzt aufbauen

Vielen Dank fuer die Hilfe.

Antworten