FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: kjmEjfu am 09 März 2021, 19:01:34

Titel: [gelöst] Wert schon im Readinglist ersetzen
Beitrag von: kjmEjfu am 09 März 2021, 19:01:34
Hallo,

ich kämpfe mal wieder mit meinen begrenzten Perl-Kenntnissen.

Also im Topic openWB/global/ChargeMode steht ein Wert von 0 - 4.
Ich will aber nicht die Zahl stehen lassen, sondern direkt im Readinglist die Zahl durch ihre Bedeutung ersetzen.

Jetzt habe ich sowas gebastelt
$DEVICETOPIC/global/ChargeMode:.* {my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby'); return $h{$EVENT}}
aber dann passiert gar nichts.

Sowas habe ich auch schon mal versucht:

$DEVICETOPIC/global/ChargeMode:.*  { $EVENT =~ s/"ChargeMode":4/"ChargeMode":"Standby"/g; $EVENT =~ s/"ChargeMode":3/"ChargeMode":"Stop"/g; return $EVENT }

Gleiches Ergebnis.
Wie mache ich das richtig?

Danke für Tipps.
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: Otto123 am 09 März 2021, 20:06:51
Hi,

funktioniert eigentlich:
{my $EVENT=1;;my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby');;return $h{$EVENT}}
Bist Du sicher, dass im Event nur die Zahl steht? Logge doch mal:
{Log 1, "Das ist der Event -$EVENT-"}

Gruß Otto
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: kjmEjfu am 10 März 2021, 08:52:40
2021.03.10 08:50:44.766 1: Das ist der Event -3-

Also ja, ist nur die Zahl.

Dein Codeschnipsel mag auch nicht  :(
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: Otto123 am 10 März 2021, 11:11:46
Das wundert mich, wenn ich das hier in die FHEM Kommandozeile einwerfe:
{my $EVENT=3;;my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby');;return $h{$EVENT}}
Kommt das zurück
Stop
Wenn ich daraus ein notify und einen Dummy bastle:
defmod n_Test notify Test {my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby');;Log 1, "Das ist der Event:$EVENT -> $h{$EVENT}"}
attr n_Test room Test

defmod Test dummy
attr Test room Test

Und set Test 4 eingebe, bekomme ich das im Log:
2021.03.10 11:09:18 1: Das ist der Event:4 -> Standby
Also: Am Perl liegt es nicht ;)

Gruß Otto
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: kjmEjfu am 10 März 2021, 11:17:33
Schön dass du keine Lösung hast, bei der ich denke "oh man, wie konnte ich das nur übersehen" :-D
Hab schon mqtt2.template durchwühlt, aber das hilft auch nicht.

Mein Workaround wäre den Wert nummerisch zu belassen und ein zusätzliches Userreading zu setzen. Anders wäre es aber natürlich schicker.
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: kjmEjfu am 10 März 2021, 11:27:32
{ 'ChargeMode' => 'test'}

funktioniert.

{my $EVENT=1;my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby');'ChargeMode' => '$h{$EVENT}'}

aber wieder nicht.
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: Otto123 am 10 März 2021, 11:49:21
So:
openWB/global/ChargeMode:.* {my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby'); return {ChargeMode=>$h{$EVENT}}}

ca. 27 "Versuch / Irrtum" Versuche und verstehendes Lesen der Doku :)
Titel: Antw:Wert schon im Readinglist ersetzen
Beitrag von: kjmEjfu am 10 März 2021, 11:54:05
Yeah  ;D

Danke dir!

Dann bastel ich jetzt mal weiter und vielleicht fällt ein MQTT-Template für die openWB dabei ab :-)
Titel: Antw:[gelöst] Wert schon im Readinglist ersetzen
Beitrag von: hyper2910 am 03 April 2021, 10:28:01
Habe mein OPENWWB per MQTT eingebunden und kann per Alexa das Laden Starten, beenden.

Schön sieht das in FHEM nicht aus!   Wie habt ihr die OpenWB in FHEM dargestellt?

Bin für Anregungen offen.
Titel: Antw:[gelöst] Wert schon im Readinglist ersetzen
Beitrag von: rudolfkoenig am 03 April 2021, 10:45:03
Was genau ist "in FHEM"?
Und was waere denn schoen?
Titel: Antw:[gelöst] Wert schon im Readinglist ersetzen
Beitrag von: hyper2910 am 03 April 2021, 10:52:17
Aktuell sieht das ganze in FHEM so aus:



Vielleicht hat jeman ja was schickes gebastelt.
Titel: Antw:[gelöst] Wert schon im Readinglist ersetzen
Beitrag von: kjmEjfu am 03 April 2021, 11:17:30
Und was genau stört dich daran?

Wobei ich nicht glaube, dass zufällig einer der OpenWB-Nutzer in DIESEN Thread schaut und dir ein $hübsches Layout zeigt.
Titel: Antw:[gelöst] Wert schon im Readinglist ersetzen
Beitrag von: sledge am 03 April 2021, 18:11:36
\begin{OT}
Um ehrlich zu sein: Ich visualisiere openWB in FHEM "gar nicht". Greife nur die Daten zu eigenen Berechnungszwecken ab, um alles in "einer" Datenbank gespeichert zu habem - das war's.

Liegt aber vermutlich daran, dass mir die Einstelllungen in openWB (PV-Laden + Zielladen) vollkommen genügen und es damit gut automatisiert ist? Ich will ja nach Möglichkeit gar nicht Hand anlegen müssen.
\end{OT}