Zitat von: kingmathers am 31 Oktober 2025, 01:02:27Kann man (per MQTT oder anderweitig) auch einstellen was im Display angezeigt wird? Also ist ein benutzerdefinierter Text (von FHEM generiert und gesendet) zur Darstellung von Gerätezuständen möglich?Denke nicht.
   <ftui-label class="size-1" [text]="AZ_HZ_T1:battery:time | toDate() | format('DD.MM.YY') | prepend(' (') | append(')')"></ftui-label>
Das bleibt aber wirkungslos, die Jahreszahl ist vierstellig !  const YY = date.getFullYear().toString().substring(-2);Da Javascript die Funktion 'substring ...' mit einem negativen Wert nicht so verarbeitet wie erwartet, müsste  const YY = date.getFullYear().toString().slice(-2);Ich habe es in meiner 'ftui.helper.js' gemacht; alles funktioniert wie gewünscht; es müsste aber das nächste Update überstehen !Zitat- Aktuelle Stunden erhält wieder den Überschuss Anteilig der Rest-MinutenVermutlich hast du nicht meine Version gändert in #4377 als Vorlage genommen.
- Der Überschuss des Rest Tages bis zum letzen Überschuss wird in RemainingSurp gespeichert
      if ($nh eq '00') {
              ...
              $hsurp->{$k}{surplswh} = $replacement;
              ...
      }
      for my $h (@remaining_hods) {                                                                              
          my $val = $hsurp->{$h}{nhr} eq '00'
                    ? $replacement // 0
                    : $hsurp->{$h}{surplswh};
          
          $RemainingSurp += int $val;      (heißt bei mir nur $total += int $val;)
      }
Zitat- RemainingSurp wird zur SmartPower Margin Berechnung verwendet statt spdayDu verwendest:
          if ($strategy eq 'smartPower') {
              $pneedmin = ___batAdjustPowerByMargin ($name,                                                      
                                                     $limpower, 
                                                     $bpinmax, 
                                                     $runwhneed, 
                                                     $otpMargin, 
                                                     $RemainingSurp
                                                    );         
          }
          if ($strategy eq 'smartPower') {
              $pneedmin = ___batAdjustPowerByMargin ($name,                                                      
                                                     $limpower, 
                                                     $bpinmax, 
                                                     $runwhneed, 
                                                     $otpMargin, 
                                                     $total
                                                    );         
          }
          my $fref      = ___batFindMinPhWh ($hsurp, \@remaining_hods, $runwhneed);
          my $limpower  = $fref->{ph};
           my $limpower  = $achievable || $strategy eq 'optPower'
                          ? min ($fref->{ph}, $spls)                                                            
                          : $fref->{ph};
Zitat....
Die kleinen Wellen innerhalb einer Stunde möchte ich auch noch wegbekommen, dazu fehlt mir aber gerade der Ansatz. Ich glaube aber ich hab den Grund verstanden.
Wenn ich in einer Stunde 5kWh Überschuss habe, und im Schnitt 1kW brauche, dann passt das zu Beginn der Stunde.
Nach einer halben Stunde rechne ich noch mit 2,5kWh Überschuss in der Stunde. Die Stundenbasierte Suche nach minimaler Ladeleistung sieht also damit immer noch diese Stunde so als könnte man daraus 1kW ziehen. Der Akku ist aber schon voller, dadurch sinkt ungerechtfertigt die Ladeleistung.
....
Zitat- Wenn der SOC unterhalb lowSoc ist wird die Ladeleistung nichtmehr auf bpinreduced nach oben hin begrenzt, sondern minimal bpinreduced gesetzt.Das ist nicht gut. Wenn die Ladung unter lowSoc gefallen ist (was eigentlich nicht vorkommen sollte) wird die Batterie ggf. durch Netzstrom geladen. Das soll nur zaghaft mit pinreduced vorgenommen werden.
ZitatHast du eine Idee, wie man die restliche Energiemenge der aktuellen Stunde so einrechnen könnte, das diese nur der minimal notwendigen Ladeleistung mal Rest-Zeit der Stunde entspricht?Deswegen wird die Iteration ohne Zeitgewichtung vorgenommen. Dadurch bleibt die Leistungsbegrenzung über die Stunde weitgehend konstant. Nehmen wir an es ist ein Überschuß von 5kWh für die aktuelle Stunde prognostiziert und in der Gesamtkalkulation reicht es aus mit 1kW über diese eine Stunde zu laden, d.h. eine 1kWh in die Bat zu verbringen. Dann ist es völlig in Ordnung wenn zu Beginn der Stunde mit einer Leistung von 1kW geladen wird und am Ende dieser Stunde ebenfalls. Denn dann haben wir genau 1 kWh in der Batterie unter der Voraussetzung, dass über die gesamte Zeit mehr Überschuß als gewünschte/begrenzte Ladeleistung vorliegt.
Zitat von: DS_Starter am 30 Oktober 2025, 14:05:38der Setter "reset" ist nun deutlich aufgewertet. Die KI-Daten lassen sich selektiver löschen: