Photovoltaik Eigenverbrauch,Bilanz,Prognose (Kostal Plenticore; KSEM; BYD HV)

Begonnen von ch.eick, 07 Oktober 2020, 16:09:12

Vorheriges Thema - Nächstes Thema

ch.eick

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

trupf

Ich habe noch ein Problem mit dem FHEM Style f18. Eigentlich gefällte er mir gut nur habe ich ein Problem bei den Balkenanzeigen für den SOC in WR_1_Speicher_1_ExternControl, siehe angefügten Screenshot. Statt nur dem Rahmen wie bei f11 wird noch ein recht breiter farbiger innerer Rand hizugefügt.  Mir ist es nicht gelungen den durch styling-Elemente wegzubekommen. Hast Du eine Ahnung, was man da machen müsste?

ch.eick

Zitat von: trupf am 19 Mai 2024, 18:19:26Ich habe noch ein Problem mit dem FHEM Style f18. Eigentlich gefällte er mir gut nur habe ich ein Problem bei den Balkenanzeigen für den SOC in WR_1_Speicher_1_ExternControl, siehe angefügten Screenshot. Statt nur dem Rahmen wie bei f11 wird noch ein recht breiter farbiger innerer Rand hizugefügt.  Mir ist es nicht gelungen den durch styling-Elemente wegzubekommen. Hast Du eine Ahnung, was man da machen müsste?
Moin,
leider habe ich von den styles keine Ahnung. Ich verwende ios7.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Zitat von: trupf am 19 Mai 2024, 18:19:26Ich habe noch ein Problem mit dem FHEM Style f18. Eigentlich gefällte er mir gut nur habe ich ein Problem bei den Balkenanzeigen für den SOC in WR_1_Speicher_1_ExternControl, siehe angefügten Screenshot. Statt nur dem Rahmen wie bei f11 wird noch ein recht breiter farbiger innerer Rand hizugefügt.  Mir ist es nicht gelungen den durch styling-Elemente wegzubekommen. Hast Du eine Ahnung, was man da machen müsste?

Ich habe da nochmal nachgedacht.
Du findes in dem uiTable solche Definitionen für die Batterie Darstellung. Hierbei wird ein Rahmen definiert, der dann komplett mit Farbverlauf gefüllt wird. Darüber liegt dann die Beschriftung, die den Farbverlauf entsprechend der Speicherladung für den rest des Feldes abdeckt.
Hier ein Beispiel für die Tabellen Zeile
FUNC_Status([WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],-10,"green",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],"orange",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],15,"red",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P])." W"."<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);'>".STY(" ",FUNC_batt([WR_1:Act_state_of_charge])).STY(::round([WR_1:Act_state_of_charge],0)."%","font-size:16px;position:absolute;top:2px;left:30px")."</div>"
Hier nur die Batterie Darstellung
Geändert habe ich bereits width:82px;height:18px; wodurch der Ramen für f18 etwas kleiner wird.
"<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:82px;height:18px;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);'>".STY(" ",FUNC_batt([WR_1:Act_state_of_charge])).STY(::round([WR_1:Act_state_of_charge],0)."%","font-size:16px;position:absolute;top:2px;left:30px")."</div>"
Und das wäre die Abdeckung mit der Beschriftung
STY(::round([WR_1:Act_state_of_charge],0)."%","font-size:16px;position:absolute;top:2px;left:30px")
Somit würde das dann für f18 so aussehen.
Du darfst diesen Dateianhang nicht ansehen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

trupf

Zitat von: ch.eick am 20 Mai 2024, 09:51:02Ich habe da nochmal nachgedacht.
Du findes in dem uiTable solche Definitionen für die Batterie Darstellung. Hierbei wird ein Rahmen definiert, der dann komplett mit Farbverlauf gefüllt wird. Darüber liegt dann die Beschriftung, die den Farbverlauf entsprechend der Speicherladung für den rest des Feldes abdeckt.

Ich habe gefunden, was ich ändern muss. Der Code sieht jetz bei mir so aus:
FUNC_Status([WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],-10,"green",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],"orange",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],15,"red",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P])." W<br><div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;padding:0px 0px;display:inline-block;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);'>".STY(" ",FUNC_batt([WR_1:Act_state_of_charge])).STY(::round([WR_1:Act_state_of_charge],0)."%","font-size:16px;position:absolute;top:2px;left:30px")."</div>"
Wesentliche Änderungen:
- padding:0px 0px; ==> Dies bewirkt dass der Rahmen wieder schmaler wird und nur noch die Border mit 2px in grau als Rahmen gezeichnet wird
- <br> (hinter dem "W" in der Textzeile) ==> definierter Zeilenumbruch, damit die Elemente nicht nebeneinander gezeichnet werden, für folgende display-Spezifikation erfoderlich
- display:inline-block; ==> dadurch werden die Element mittig platziert

Damit sieht das ganze dann so wie unten aus. Dieses ganze Styling mit CSS ist für mich echt schwer durchschaubar...

Ich habe noch ein Problem mit f18 entdeckt: Mit den Default-Einstellungen und gelbem Hintergrund passt das Styling, der helle Hintergrund ist auch OK. Bei dunklem Hintergrund bleiben aber einige Elemente hell (s.u.), das betrifft vor allem die Widgets uzsuDropDown und uzsuToggle. Die scheinen in dem Style nicht korrekt berücksichtigt worden zu sein, d.h. es gibt keinen CSS-Code für das dunkle Layout. Ist das Problem bekannt und wird das noch adressiert oder wo kann man das an das FHEM-Team melden?

TomLee

Zitat von: trupf am 21 Mai 2024, 09:29:05...wo kann man das an das FHEM-Team melden?

Moin

FHEMWEB wäre das richtige Unterforum dafür.

trupf

Zitat von: TomLee am 21 Mai 2024, 09:53:28
Zitat von: trupf am 21 Mai 2024, 09:29:05...wo kann man das an das FHEM-Team melden?
Moin
FHEMWEB wäre das richtige Unterforum dafür.

Ist gemeldet und schon gefixt.

Ich musste dann noch in Modul WR_1_Speicher_1_ExternControl ein paar Änderungen im uiTable vornehmen, und zwar in der sub FUNC_batt und bei den bunten SOC-Anzeigen. Das sieht bei mir jetzt so aus wie unten. Dadurch wird der Hintergrund wie im CSS vorgegeben erhalten und nicht mehr überschrieben.

@ch.eick: vielleicht willst Du die Änderungen auch in Deinen Code übernehmen? Dann kann man den f18 style gut verwenden und hat ein paar mehr Möglichkeiten das Aussehen anzupassen...

{
package ui_Table;
##  $TR{0} = "style='color:yellow;text-align:left;font-weight:bold;font-size:18px'";                                                        ## Reihe 0 für Überschrift
  $TABLE = "style='width:100%'";
  $TD{0..9}{0} = "align='center' style='font-size:16px;border-right-style:solid;border-color:darkgreen;border-right-width:2px;width:22%'";
  $TD{0..9}{1} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:38%;font-weight:bold;'";
  $TD{0..9}{2..5} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:10%;text-align:center;'";

sub FUNC_batt {
    my($val)=@_;
    my $ret="position:absolute;left:0px;width:".(90*$val/100)."px;height:20px;background:linear-gradient( to right, red 0px,yellow 30px,green 50px);";
    return $ret;
  }
sub FUNC_Status {
    my($value, $min, $colorMin,  $statusMin,  $colorMiddel, $statusMiddle, $max, $colorMax, $statusMax)=@_;
    my $ret = ($value < $min)? '<span style="color:'.$colorMin.'">'.$statusMin.'</span>' : ($value > $max)? '<span style="color:'.$colorMax.'">'.$statusMax.'</span>' : '<span style="color:'.$colorMiddel.'">'.$statusMiddle.'</span>';
    return $ret;
  }
}

#########################################################
## "Spalte 0"|"Spalte 1"|"Spalte 2"|"Spalte 3"|"Spalte 4"|"Spalte 5"

"$SELF"|"Kommando<dd>Auswahl / DcPowerAbs / Status</dd>" | widget([$SELF:ui_command_1],"uzsuDropDown,---,Status_Speicher,smart_Laden_start,smart_Laden_beenden,smart_Laden_starten_WB_1,smart_Laden_beenden_WB_1,Kommando_Wiederholung,SOC_Calculation,Reset,DC_Power_Abs,Sommer,Winter,Speicher_voll,14_Luefter_ein,15_Luefter_aus,Status_WR_1_Speicher_1_BYD") | widget([$SELF:SpeicherDcPowerAbs],"selectnumbers,-4500,250,4500,0,lin")."W<br>".widget([$SELF:SpeicherTriggerLaden],"uzsuDropDown,An,Aus,manuell") |[WR_1_API:Battery_EM_State]|([$SELF:SpeicherExternTrigger] eq "gesperrt" and [WR_1_API:Battery_InternControl_MinHomeConsumption] == 30000)?'<span style="color:red">smart_Laden aktiv</span>':""

|"Speicher<dd>Steuerung</dd>" |widget([$SELF:SpeicherEntladung],"uzsuDropDown,Automat.,Trigger,Zeit")|""|
FUNC_Status([WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],-10,"#00FF00","Laden","orange","Standby",15,"red","Entladen").FUNC_Status([WR_1:Act_state_of_charge],15,"red","Speicher SOC","orange","Speicher SOC",49,"#00FF00","Speicher SOC")|

FUNC_Status([WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],-10,"green",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],"orange",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P],15,"red",[WR_1:Actual_Battery_charge_-minus_or_discharge_-plus_P])." W<br>
<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;padding:0px 0px;display:inline-block;background:transparent;'>".STY(" ",FUNC_batt([WR_1:Act_state_of_charge])).STY(::round([WR_1:Act_state_of_charge],0)."%","font-size:16px;position:absolute;top:2px;left:30px")."</div>"


|"Trigger<dd>Status / ExternTrigger / Start / Ende</dd>" | widget([$SELF:SpeicherTrigger],"uzsuDropDown,entladen,gesperrt,none") | widget([$SELF:SpeicherExternTrigger],"uzsuDropDown,frei,gesperrt,none") | widget([$SELF:SpeicherZeitStart],"time") | widget([$SELF:SpeicherZeitEnde],"time")

|"Kommando Wiederholung<dd>aktiviert / läuft</dd>" | widget([$SELF:SpeicherCmdRepeatActive],"uzsuToggle,Aus,An") | widget([$SELF:SpeicherCmdRepeatRunning],"uzsuToggle,Aus,An") |""|""

|"MaxSOC Kontrolle<dd>aktiviert / läuft</dd>" | widget([$SELF:SpeicherMaxSOCControlActive],"uzsuToggle,Aus,An") | widget([$SELF:SpeicherMaxSOCControlRunning],"uzsuToggle,Aus,An") |""|""

|"MaxSOC Limit<dd>fc1_Limit / Minimum SOC Zeit / gestern / geplant</dd>" |
FUNC_Status([WR_1:Solar_Calculation_fc1_day],[$SELF:SpeicherMaxSOC_fc1_Limit],"red","<",0,0,([$SELF:SpeicherMaxSOC_fc1_Limit]-1),"#00FF00",">="). widget([$SELF:SpeicherMaxSOC_fc1_Limit],"selectnumbers,2000,1000,40000,0,lin") | widget([$SELF:SpeicherMaxSOC_MinSOC_Time],"time"). widget([$SELF:SpeicherMaxSOC_MinSOC_MinSOC],"selectnumbers,5,1,100,0,lin") |
"<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;padding:0px 0px;display:inline-block;background:transparent;'>".STY(" ",FUNC_batt([$SELF:SpeicherMaxSOC_DayBefore])).STY("gestern","font-size:12px;position:absolute;top:3px;left:25px")."</div><br>".widget([$SELF:SpeicherMaxSOC_DayBefore],"selectnumbers,5,1,100,0,lin")."%" |
"<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;padding:0px 0px;display:inline-block;background:transparent;'>".STY(" ",FUNC_batt([$SELF:SpeicherMaxSOC_Actual])).STY("geplant","font-size:12px;position:absolute;top:3px;left:25px")."</div><br>".widget([$SELF:SpeicherMaxSOC_Actual],"selectnumbers,5,1,100,0,lin")."%"

|"Mittags Kontrolle<dd>aktiviert / läuft</dd>" | widget([$SELF:SpeicherMiddayControlActive],"uzsuToggle,Aus,An") | widget([$SELF:SpeicherMiddayControlRunning],"uzsuToggle,Aus,An")|""|""

|"Mittags Limits<dd>Inverter_Max_Power / Laden nicht vor / Start /Stop<br>MaxSOC morgens / Power morgens / Power mittags</dd>" | widget([$SELF:SpeicherMidday_Inverter_Max_Power],"selectnumbers,1000,250,15000,0,lin")."W<br>".widget([$SELF:SpeicherMidday_MaxSOC],"selectnumbers,5,1,100,0,lin")."%" | widget([$SELF:SpeicherMidday_NotBefore],"time").widget([$SELF:SpeicherMidday_MaxChargePowerAbs_morning],"selectnumbers,0,50,1000,0,lin")."W" | widget([WR_1:Solar_middayhigh_fc0_start],"time").widget([$SELF:SpeicherMidday_MaxChargePowerAbs_midday],"selectnumbers,0,100,4700,0,lin")."W" | widget([WR_1:Solar_middayhigh_fc0_stop],"time").([$SELF:SpeicherMidday_MaxChargePowerAbs_midday] == 0)?"dynamisch":""

|"MinSOC Steuerung<dd>fc1_Limit / Winter | Sommer /aktuell</dd>"|
 FUNC_Status([WR_1:Solar_Calculation_fc1_day],[$SELF:SpeicherMinSOC_fc1_Limit],"red","<",0,0,([$SELF:SpeicherMinSOC_fc1_Limit]-1),"#00FF00",">=").widget([$SELF:SpeicherMinSOC_fc1_Limit],"selectnumbers,2000,1000,40000,0,lin")."wh" |
 widget([$SELF:SpeicherMinSOC_Winter],"selectnumbers,10,1,30,0,lin").widget([$SELF:SpeicherMinSOC_Sommer],"selectnumbers,5,1,20,0,lin")."%" |""|[WR_1_API:Battery_InternControl_MinSoc]." %"

ch.eick

Zitat von: trupf am 23 Mai 2024, 12:40:00Ich musste dann noch in Modul WR_1_Speicher_1_ExternControl ein paar Änderungen im uiTable vornehmen, und zwar in der sub FUNC_batt und bei den bunten SOC-Anzeigen. Das sieht bei mir jetzt so aus wie unten. Dadurch wird der Hintergrund wie im CSS vorgegeben erhalten und nicht mehr überschrieben.

@ch.eick: vielleicht willst Du die Änderungen auch in Deinen Code übernehmen? Dann kann man den f18 style gut verwenden und hat ein paar mehr Möglichkeiten das Aussehen anzupassen...
Hallo,
das mache ich gerne, denn deshalb habe ich den Thread hier mal vor Jahren angefangen ;-)

Ist es denn nur die sub FUNC_batt(), oder war da noch mehr? Ich hatte da ja auch noch im uiTable etwas von Dir übernommen.

Edit: Mit Deiner Änderung ist jetzt jedoch die Überlagerung mit dem Hintergrund weg und die Batterie wird nur als Farbverlauf bis zum Ende angezeigt, obwohl sie noch nicht voll ist.
   Das könnte an der berechneten Startposition liegen, die Du wohl auf 0px gesetzt hast.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

trupf

Zitat von: ch.eick am 23 Mai 2024, 13:05:47Ist es denn nur die sub FUNC_batt(), oder war da noch mehr? Ich hatte da ja auch noch im uiTable etwas von Dir übernommen.

Edit: Mit Deiner Änderung ist jetzt jedoch die Überlagerung mit dem Hintergrund weg und die Batterie wird nur als Farbverlauf bis zum Ende angezeigt, obwohl sie noch nicht voll ist.
  Das könnte an der berechneten Startposition liegen, die Du wohl auf 0px gesetzt hast.

Du musst noch etwas am Code ändern, deswegen habe ich ja den kompletten uiTable gepostet. Bei jeder einzelnen Box muss "background:linear-gradient( to right, red 0 px,yellow 30px,green 50px);" durch "background:transparent" ersetzt werden, dadurch wird nur der leere Rahmen gezeichnet. Stattdessen wird durch die sub FUNK_batt() dann der Teil des Balkens gezeichnet, der dem Ladestand entspricht - und nichts mehr überdeckt. Natürlich muss die Startposition auch auf 0px sitzen, damit das funktioniert.

<div style='border-width:2px;border-style:solid;border-color:gray;position:relative;width:90px;height:20px;padding:0px 0px;display:inline-block;background:transparent;'>".STY(" ",FUNC_batt([$SELF:SpeicherMaxSOC_Actual])).STY("geplant","font-size:12px;position:absolute;top:3px;left:25px")."</div><br>".widget([$SELF:SpeicherMaxSOC_Actual],"selectnumbers,5,1,100,0,lin")."%"

trupf

Ach so, und es gibt noch weitere Änderungen, aber die haben einen anderen Hintergrund:

- Änderung der Spaltenbreiten der Tabelle, damit die Vormonats- und Vorjahreswerte mit in eine Zeile passen
- das "display:inline-block;" vor dem "background:transparent" für mittige Ausrichtung
- das <br>-Tag für den Zeilenumbruch innerhalb der Zelle

myhome

Hallo zusammen! Habe ein Problem nach dem f18 update mit uiTable in der Darstellung "Transparent". Im Bild seht ihr ein Darstellung zu Mülltonnen Leerung. Über Bio und Restmüll ist ein switch darüber gelegt von Style "Transparent". Unter f18 wird nun die Hintergrundfarbe (F18 Einstellung) gezeigt aber nur bei f18. Bei f11, dark etc., ist es korrekt. Wenn ich zum Beispiel auch Lampen oder Steckdosen unter uitable mit f18 in einer Tabelle liste, ist der Hintergrund nicht Transparent, sondern es wird immer die Farbe des Bildschirm-Hintergrundfarbe gezeigt, in diesem Fall die in f18 eingestellte. Das ganze ist erst mit dem f18 update aufgetreten, daher vermute ich, dass es ein Problem mit f18 und uiTable gibt, da die Fehler nur in dieser Konstellation auftritt.
unter f18

Du darfst diesen Dateianhang nicht ansehen.

unter "dark"
Du darfst diesen Dateianhang nicht ansehen.

unter f18
Du darfst diesen Dateianhang nicht ansehen.

Ich habe keine Ahnung ob das an einer CSS oder an einer JS liegt. Ich vermute mal, dass das es an ein Problem mit f18 css und uiTable css liegt. Das Problem ist mir schon bei Anderen DOIF uiTable Darstellung in der Vergangenheit aufgefallen, aber dort habe ich es irgendwie dann immer hinbekommen. In diesem Fall bin ich aber überfordert. Vielleicht kann mir jemand einen Tipp geben.
Danke und Grüße   
Raspberry Pi4, Pi3 und Zero's, Homematic, Zigbee, WLAN, USB, One-wire für Wasser, Heizung und Rücklauftemp und alte F20 für den Garten, Messen GAS, Wasser, Strom, PV, weiteres

MichaelO

Moin,
ich habe seit längerer Zeit die Kostal-Geräte wie im Wiki angegeben implementiert. Eher zufällig habe ich nun im Log etliche Einträge dieser Art gesehen:

'setreading WR_2_API auth_randomString64 blabla' called form userReadings is prohibited
Keine Ahnung, seit wann das so ist, aber kann mir jemand helfen, die Fehlermeldung zu beseitigen?

ch.eick

Zitat von: MichaelO am 03 Juni 2024, 08:46:27Moin,
ich habe seit längerer Zeit die Kostal-Geräte wie im Wiki angegeben implementiert. Eher zufällig habe ich nun im Log etliche Einträge dieser Art gesehen:

'setreading WR_2_API auth_randomString64 blabla' called form userReadings is prohibited
Keine Ahnung, seit wann das so ist, aber kann mir jemand helfen, die Fehlermeldung zu beseitigen?
Hallo Michael,
ich gehe mal davon aus, dass Du auf einem alten Stand der devices bist.
Im contrb sind die neuen Versionen bereits einige Zeit abgelegt.

In Deinem WR_2_API und auch WR_1_API sollten als Beispiel diese Zeilen zu finden sein.
attr WR_2_API replacement02Mode expression
attr WR_2_API replacement02Regex %START%
attr WR_2_API replacement02Value {my $NAME="WR_2_API";; plenticore_auth("start","user","$NAME")}
attr WR_2_API replacement04Mode expression
attr WR_2_API replacement04Regex %FINISH%
attr WR_2_API replacement04Value {my $NAME="WR_2_API";; plenticore_auth("finish","user","$NAME",ReadingsVal("$NAME","auth_randomString64","missed"),ReadingsVal("$NAME","auth_nonce","missed"),ReadingsVal("$NAME","auth_salt","missed"),ReadingsVal("$NAME","auth_rounds","missed"),ReadingsVal("$NAME","auth_transactionId","missed"))}
attr WR_2_API replacement05Mode expression
attr WR_2_API replacement05Regex %SESSION%
attr WR_2_API replacement05Value {my $NAME="WR_2_API";; plenticore_auth("session","user","$NAME",ReadingsVal("$NAME","auth_randomString64","missed"),ReadingsVal("$NAME","auth_nonce","missed"),ReadingsVal("$NAME","auth_salt","missed"),ReadingsVal("$NAME","auth_rounds","missed"),ReadingsVal("$NAME","auth_transactionId","missed"),ReadingsVal("$NAME","auth_token","missed"))}
Das ist gefühlt schon ewig her, wo ich das umgestellt habe. Grundlage ist in der 99_myUtils die Funktion plenticore_auth().

VG Christian

Achtung: Ich werde bald 2 Wochen im Urlaub sein!
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick