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.
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
2021.03.10 08:50:44.766 1: Das ist der Event -3-
Also ja, ist nur die Zahl.
Dein Codeschnipsel mag auch nicht :(
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
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.
{ 'ChargeMode' => 'test'}
funktioniert.
{my $EVENT=1;my %h=(0=>'SofortLaden',1=>'MinPV',2=>'NurPV',3=>'Stop',4=>'Standby');'ChargeMode' => '$h{$EVENT}'}
aber wieder nicht.
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 :)
Yeah ;D
Danke dir!
Dann bastel ich jetzt mal weiter und vielleicht fällt ein MQTT-Template für die openWB dabei ab :-)
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.
Was genau ist "in FHEM"?
Und was waere denn schoen?
Aktuell sieht das ganze in FHEM so aus:
Vielleicht hat jeman ja was schickes gebastelt.
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.
\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}