Aus 2 Items mach 1 ohne Rule

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
HappyDexter
Beiträge: 36
Registriert: 17. Sep 2020 15:03
Answers: 0

Aus 2 Items mach 1 ohne Rule

Beitrag von HappyDexter »

Hallo zusammen,

Ich würde gerne aus 2 getrennten Items ein einziges Item machen, ohne es in einer Rule im Minuten/Sekunden Takt zu berechnen.
Hintergrund, ich bekomme von meiner Photovoltaikanlage einen Wert zum Laden und ein zweiten zum Entladen der Batterie.

Code: Alles auswählen

Number:Power E3DC_BatteryDischarge "Battery Entladung [%.2f %unit%]" <battery> { channel="modbus:e3dc:E3DC:powerplant:power#battery-power-supply", unit="kW"  }
Number:Power E3DC_BatteryCharge    "Battery Laden [%.2f %unit%]"     <battery> { channel="modbus:e3dc:E3DC:powerplant:power#battery-power-consumption", unit="kW"  }
Kann ich aus beiden ein einziges Item herstellen, dass das Laden als positiven Wert und das Entladen als negativen Wert anzeigt?
Einzige Idee die ich bisher habe ist eine Rule, die eine Variable mit Charge-Discharge befüllt. Wenn ich die Rule an den Change der beiden Werte hänge wird diese Rule wahrscheinlich im kleinen Sekundenbereich immer wieder aufgerufen.

Gruß
Happy

rbeudel
Beiträge: 253
Registriert: 6. Jun 2019 11:25
Answers: 1

Re: Aus 2 Items mach 1 ohne Rule

Beitrag von rbeudel »

Müsste eigentlich über ein Group item gehen. Ich habe so etwas für den Gesamtverbrauch über die drei Phasen:

Code: Alles auswählen

Group:Number:SUM        Gesamtverbrauch "Gesamtverbrauch [%.0f W]"  <energy>     (Victron)
 Number V_AC_V_L1      "Victron Verbrauch L1 [%.1f W]"                           (Victron, Gesamtverbrauch) ["Energy"]   { channel="mqtt:topic:victron:V_AC_V_L1" }
 Number V_AC_V_L2      "Victron Verbrauch L2 [%.1f W]"                           (Victron, Gesamtverbrauch) ["Energy"]   { channel="mqtt:topic:victron:V_AC_V_L2" }
 Number V_AC_V_L3      "Victron Verbrauch L3 [%.1f W]"                          (Victron, Gesamtverbrauch) ["Energy"]   { channel="mqtt:topic:victron:V_AC_V_L3" }
Das ist zwar ein Textfile, geht aber auch über die UI
Viele Grüße,
Ralf


Debmatic und Openhab in Proxmox VM debian x86_64

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

Re: Aus 2 Items mach 1 ohne Rule

Beitrag von udo1toni »

Man könnte auch versuchen, es über ein Inline Script zu lösen und dabei auf das zweite Item komplett zu verzichten. :)

Code: Alles auswählen

Number:Power E3DC_Battery "Battery" <battery> { channel="modbus:e3dc:E3DC:powerplant:power#battery-power-supply"[profile="transform:JS",    toItemScript="|value = - Number.parseFloat(input); if(value < 0) {value + ' W'} else null"], 
                                                channel="modbus:e3dc:E3DC:powerplant:power#battery-power-consumption"[profile="transform:JS", toItemScript="|value = Number.parseFloat(input); if(value > 0) {value + ' W'} else null"], 
                                                unit="kW", stateDescription=""[pattern="%.2f %unit%"]  }
Das Item wird mit beiden Channels verlinkt. Das Script sorgt dafür, dass nur Werte ungleich 0 auch tatsächlich an das Item gesendet werden. Beim Supply-Channel wird das Vorzeichen gedreht, damit dieser Wert als Negativ-Wert dargestellt wird.
8-)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

HappyDexter
Beiträge: 36
Registriert: 17. Sep 2020 15:03
Answers: 0

Re: Aus 2 Items mach 1 ohne Rule

Beitrag von HappyDexter »

Ich habe jetzt die Variante von udo1toni ausprobiert, sah auch erst gut aus, aber wenn weder entladen, noch geladen wird zeigt er mit -2.00 kW an?
Battery Laden: 0kW
Battery Entladen: 0kW
Battery : -2,004kW

Hat jemand eine Idee warum?

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

Re: Aus 2 Items mach 1 ohne Rule

Beitrag von udo1toni »

Ah, das muss dann der letzte Wert sein, der reingekommen ist. ungünstig... an den Fall hatte ich leider nicht gedacht... :oops:
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Aus 2 Items mach 1 ohne Rule

Beitrag von udo1toni »

Ein Workaround könnte sein, mittels Expiration Timer das Item nach x Sekunden auf 0 zu setzen. x muss dabei naturgemäß größer als der Interval zwischen zwei Messungen sein.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten