Mit der neusten Tasmota Version 14.3.0 (und wohl auch 14.2.0, liegt am Core) gibt es zusammen mit meinem Google Chart Skript Rebootprobleme. Um das (fast vollständig) zu beheben habe ich mit Hilfe eines Tasmotaentwicklers (gemu2015) ein Fix in meinem Skript eingefügt. Das Skript findet ihr im Downloadbereich mit dem Datum 11.11.2024. Wenn ihr euer Skript aber nicht erneut komplett überschreiben wollt, dann fügt folgendes in euer Skript ein:
Folgende if Abfrage muss vor jedem #sub eingefügt werden "if wm>0 { .... }". D.h. in folgenden Subroutinen (Beispiel mein +PV Skript): #daysub #dayprod #monthsub muss es eingefügt werden. Ansonsten werden die Graphen alle 2.5s neu aufgebaut. Das kann manchmal etwas länger dauern und der ESP rebootet neu. Die Abfrage verhindert das nun. Nur beim erneuten Laden der Seite werden die Graphen geladen. So würde es z.B. bei diesem #sub aussehen:
; Tageseinspeisung PV Tabelle
#dayprod
if wm>0 {
wcs <div id="dayp" style="text-align:center;width:400px"></div>
wcs <script language="JavaScript">function drawChart(){
wcs var cssc={'headerRow':'hRow','rowNumberCell':'hCol','tableCell':'tCell'};
wcs var data=google.visualization.arrayToDataTable([['Tag','Energie [kWh]',{role: 'style'}],
for tmp 1 dprod[-1] 1
if (tmp==day)
{
wcs [%tmp%,%dprod[tmp]%,'red'],
}
if (tmp<day)
{
wcs [%tmp%,%dprod[tmp]%,'green'],
}
if (tmp>day)
{
wcs [%tmp%,%dprod[tmp]%,''],
}
next
wcs ]);
wcs var options={chartArea:{left:40,width:'86%%'},legend:'none',title:'Tageseinspeisung Monatsansicht',vAxis:{format:'# kWh'},hAxis:{title:'Tag',ticks:[1,5,10,15,20,25,30]}};
wcs var chart=new google.visualization.ColumnChart(document.getElementById('dayp'));
wcs chart.draw(data,options);}google.charts.setOnLoadCallback(drawChart);</script>
}
Ich habe es auf meinem ESP32-C3 getestet und es funktioniert etwas besser, es gibt nicht alle 1-3 Minuten ein Reboot. Allerdings bekommt man trotzdem irgendwann ein Reboot, wenn man die Tasmota Seite geöffnet lässt. Wahrscheinlich wird es in der nächsten Tasmota Version gefixt. Ich halte euch auf dem Laufenden.