Items aus openhab nach MQTT

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

goerdi
Beiträge: 113
Registriert: 21. Dez 2019 23:44
Answers: 1

Re: Items aus openhab nach MQTT

Beitrag von goerdi »

Ja

Code: Alles auswählen

2023-06-03 12:08:54.126 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test.rules'
2023-06-03 12:08:58.060 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'test-1' failed: An error occurred during the script execution: Could not invoke method: org.eclipse.xtext.xbase.lib.IntegerExtensions.operator_greaterThan(int,int) on instance: null in test

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

Re: Items aus openhab nach MQTT

Beitrag von udo1toni »

goerdi hat geschrieben: 2. Jun 2023 09:40 thing

Code: Alles auswählen

Type number : solar_eff  "WR Wirkungsgrad" [stateTopic="solarview/WR1/EFF", commandTopic="solarview/WR1/EFF"] 
Du hast stateTopic und commandTopic identisch gesetzt, das ergibt keinen Sinn.
mqtt kommuniziert immer gerichtet, auf einem Topic wird entweder gesendet oder empfangen, aber nicht beides gleichzeitig.

Da Du ausschließlich sendest, kannst Du das stateTopic einfach leer lassen...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Items aus openhab nach MQTT

Beitrag von udo1toni »

Hast Du openHAB mal neu gestartet? Die Meldung ergibt überhaupt keinen Sinn, der Vergleich größer als kommt nur an einer Stelle vor:

Code: Alles auswählen

if(nPdc > 0)
und in der zweiten Zeile wird nPdc mit 0 gefüllt, nicht mit null
die einzige andere Stelle, in der nPdc noch angefasst wird, ist diese Zeile:

Code: Alles auswählen

nPdc = Solar_Power_dc.state as Number
welche aber nur ausgeführt wird, wenn Solar_Power_dc.state eine gültige Zahl liefert. nPdc kann also nicht null sein. 0 kann auch nicht null sein -> die Meldung muss von einer anderen Rule herrühren.

Hast Du evtl. zwei gleichnamige Rules?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

goerdi
Beiträge: 113
Registriert: 21. Dez 2019 23:44
Answers: 1

Re: Items aus openhab nach MQTT

Beitrag von goerdi »

udo1toni hat geschrieben: 3. Jun 2023 13:48
goerdi hat geschrieben: 2. Jun 2023 09:40 thing

Code: Alles auswählen

Type number : solar_eff  "WR Wirkungsgrad" [stateTopic="solarview/WR1/EFF", commandTopic="solarview/WR1/EFF"] 
Du hast stateTopic und commandTopic identisch gesetzt, das ergibt keinen Sinn.
mqtt kommuniziert immer gerichtet, auf einem Topic wird entweder gesendet oder empfangen, aber nicht beides gleichzeitig.

Da Du ausschließlich sendest, kannst Du das stateTopic einfach leer lassen...
Das hatte ich schon korrigiert...

Code: Alles auswählen

Type number : solar_eff  "WR Wirkungsgrad" [commandTopic="solarview/WR1/EFF"]
Gruss Gerd

goerdi
Beiträge: 113
Registriert: 21. Dez 2019 23:44
Answers: 1

Re: Items aus openhab nach MQTT

Beitrag von goerdi »

udo1toni hat geschrieben: 3. Jun 2023 13:56 Hast Du openHAB mal neu gestartet? Die Meldung ergibt überhaupt keinen Sinn, der Vergleich größer als kommt nur an einer Stelle vor:

Code: Alles auswählen

if(nPdc > 0)
und in der zweiten Zeile wird nPdc mit 0 gefüllt, nicht mit null
die einzige andere Stelle, in der nPdc noch angefasst wird, ist diese Zeile:

Code: Alles auswählen

nPdc = Solar_Power_dc.state as Number
welche aber nur ausgeführt wird, wenn Solar_Power_dc.state eine gültige Zahl liefert. nPdc kann also nicht null sein. 0 kann auch nicht null sein -> die Meldung muss von einer anderen Rule herrühren.

Hast Du evtl. zwei gleichnamige Rules?
Nein... ich hab den originalen Teil rausgeloescht und mehrfach neu getartet...

Gruss Gerd

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

Re: Items aus openhab nach MQTT

Beitrag von udo1toni »

Ok, ich hab den Fehler :) Gewöhnlich sollte man Variablen nicht fix definieren, aber durch die Zuweisung von 0 wird aus der Variablen automatisch ein Integer. Versuche es bitte so:

Code: Alles auswählen

rule "calc efficiency"
when
    Item Solar_Power_dc changed or
    Item Solar_Power_ac changed
then
    var Number nPac = 0                        // hier Number ergänzen
    var Number nPdc = 0                        // hier Number ergänzen
    if(Solar_Power_ac.state instanceof Number)
        nPac = Solar_Power_ac.state as Number
    if(Solar_Power_dc.state instanceof Number)
        nPdc = Solar_Power_dc.state as Number
    var Number nEff = 0                        // hier Number ergänzen
    if(nPdc > 0)
        nEff = nPac / nPdc * 100

    Solar_Efficiency.sendCommand(nEff)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

goerdi
Beiträge: 113
Registriert: 21. Dez 2019 23:44
Answers: 1

Re: Items aus openhab nach MQTT

Beitrag von goerdi »

Hi !

Heute nimmer :-) das BKW ist leider offline
Aber generell gings es ja nicht um die rule sondern um das senden nach MQTT , das scheint jetzt zu gehen ..


Gruss Gerd

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

Re: Items aus openhab nach MQTT

Beitrag von udo1toni »

Das sollte definitiv gehen. Du kannst die Rule auch manuell triggern (vorausgesetzt, Du bist mit openHAB3 unterwegs).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten