Zitat von: DeeSPe am 19 März 2026, 16:03:35Exception: Temporary Suspension: Try again in 1800 secondsTja, hatte ich auch schon mal ...
Informationen zum neuronalen Netz der Verbrauchsvorhersage
letztes KI-Training: 17.03.2026 15:43:59 / Laufzeit in Sekunden: 853
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 80.8 ms
Verbrauchernummer Wärmepumpe: 08
=== Modellparameter ===
Normierungsgrenzen: PV=10450 Wh, Hausverbrauch: Min=0 Wh / Max=7598 Wh
Trainingsdaten: 8095 Datensätze (Training=6476, Validation=1619)
Architektur: Inputs=98, Hidden Layers=80-40, Outputs=1
Hyperparameter: Learning Rate=0.001, Momentum=0.6, BitFail-Limit=0.25
Aktivierungen: Hidden=GAUSSIAN_SYMMETRIC, Steepness=1.0, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_heatpump_active_pv
Zufallsgenerator: Mode=1, Period=20
Modellalter: 48 h
=== Trainingsmetriken ===
bestes Modell bei Epoche: 560 (max. 15000)
Training MSE: 0.002994
Validation MSE: 0.004155
Validation MSE Average: 0.006353
Validation MSE Standard Deviation: 0.000276
Validation Bit_Fail: 2
Model Bias: -134 Wh
Model Slope: 1.0
Trainingsbewertung: ok
=== Fehlermaße der Prognosen ===
MAE: 381.76 Wh
MedAE: 309.07 Wh
RMSE: 432.36 Wh
RMSE relative: 20 %
RMSE Rating: good
MAPE: 19.75 %
MdAPE: 14.74 %
R²: 0.67
=== Rauschen ===
Rauschen Bewertung: low
Empfehlung für Bit_Fail: 0.28 (Einstellung von aiControl->aiConBitFailLimit)
=== Drift-Kennzahlen ===
Drift Score: 2.01
Drift RMSE ratio: 3.15
Drift Slope: 0.385
Drift Bias: 600.37
Drift Bewertung: mild
Slope recalibrated: -
Bias recalibrated: -
letzte Rekalibrierung: -
2026.03.19 17:00:17 1: Forecast DEBUG> AI raw data saved into file: ./FHEM/FhemUtils/AIraw_SolarForecast_Forecast
2026.03.19 17:00:18 1: Forecast DEBUG> DRIFT [con]: Flag=mild | Block=0 | SlopeLive=0.371 | DriftSlope=0.383 | BiasLive=469.47 | DriftBias=603.31 | RMSErelLive=63.3 | RMSErelRatio=3.16 | BiasVarNorm=0.24 |DriftScore=1.97 | Zone3Hours=1 | Hist=[mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild,mild]
2026.03.19 17:00:18 1: Forecast DEBUG> AI FANN drift data type 'con' successfully written to file: ./FHEM/FhemUtils/NeuralNet_SolarForecast_Forecast
Screenshot -> aktuelles Bild von =>> ConForecast (rot) und realerVerbrauch (gelb)2026.03.19 16:36:11 1: PERL WARNING: Use of uninitialized value $sub in string eq at ./FHEM/72_FritzSmart.pm line 1082.
2026.03.19 16:36:11 1: stacktrace:
2026.03.19 16:36:11 1: main::__ANON__ called by ./FHEM/72_FritzSmart.pm (1082)
2026.03.19 16:36:11 1: Fritz::Fritz_Log called by ./FHEM/72_FritzSmart.pm (6956)
2026.03.19 16:36:11 1: (eval) called by ./FHEM/72_FritzSmart.pm (6954)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web_LuaData called by ./FHEM/72_FritzSmart.pm (5353)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web called by FHEM/Blocking.pm (194)
2026.03.19 16:36:11 1: main::BlockingStart called by FHEM/Blocking.pm (107)
2026.03.19 16:36:11 1: main::BlockingCall called by ./FHEM/72_FritzSmart.pm (5305)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Start called by fhem.pl (3527)
2026.03.19 16:36:11 1: main::HandleTimeout called by fhem.pl (710)
2026.03.19 16:36:11 1: PERL WARNING: Use of uninitialized value $sub in string eq at ./FHEM/72_FritzSmart.pm line 1082.
2026.03.19 16:36:11 1: stacktrace:
2026.03.19 16:36:11 1: main::__ANON__ called by ./FHEM/72_FritzSmart.pm (1082)
2026.03.19 16:36:11 1: Fritz::Fritz_Log called by ./FHEM/72_FritzSmart.pm (6956)
2026.03.19 16:36:11 1: (eval) called by ./FHEM/72_FritzSmart.pm (6954)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web_LuaData called by ./FHEM/72_FritzSmart.pm (5353)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web called by FHEM/Blocking.pm (194)
2026.03.19 16:36:11 1: main::BlockingStart called by FHEM/Blocking.pm (107)
2026.03.19 16:36:11 1: main::BlockingCall called by ./FHEM/72_FritzSmart.pm (5305)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Start called by fhem.pl (3527)
2026.03.19 16:36:11 1: main::HandleTimeout called by fhem.pl (710)
2026.03.19 16:36:11 1: PERL WARNING: Use of uninitialized value $sub in string eq at ./FHEM/72_FritzSmart.pm line 1082.
2026.03.19 16:36:11 1: stacktrace:
2026.03.19 16:36:11 1: main::__ANON__ called by ./FHEM/72_FritzSmart.pm (1082)
2026.03.19 16:36:11 1: Fritz::Fritz_Log called by ./FHEM/72_FritzSmart.pm (6956)
2026.03.19 16:36:11 1: (eval) called by ./FHEM/72_FritzSmart.pm (6954)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web_LuaData called by ./FHEM/72_FritzSmart.pm (5353)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web called by FHEM/Blocking.pm (194)
2026.03.19 16:36:11 1: main::BlockingStart called by FHEM/Blocking.pm (107)
2026.03.19 16:36:11 1: main::BlockingCall called by ./FHEM/72_FritzSmart.pm (5305)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Start called by fhem.pl (3527)
2026.03.19 16:36:11 1: main::HandleTimeout called by fhem.pl (710)
2026.03.19 16:36:11 1: PERL WARNING: Use of uninitialized value $sub in string eq at ./FHEM/72_FritzSmart.pm line 1082.
2026.03.19 16:36:11 1: stacktrace:
2026.03.19 16:36:11 1: main::__ANON__ called by ./FHEM/72_FritzSmart.pm (1082)
2026.03.19 16:36:11 1: Fritz::Fritz_Log called by ./FHEM/72_FritzSmart.pm (6956)
2026.03.19 16:36:11 1: (eval) called by ./FHEM/72_FritzSmart.pm (6954)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web_LuaData called by ./FHEM/72_FritzSmart.pm (5353)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Run_Web called by FHEM/Blocking.pm (194)
2026.03.19 16:36:11 1: main::BlockingStart called by FHEM/Blocking.pm (107)
2026.03.19 16:36:11 1: main::BlockingCall called by ./FHEM/72_FritzSmart.pm (5305)
2026.03.19 16:36:11 1: Fritz::Fritz_Readout_Start called by fhem.pl (3527)
2026.03.19 16:36:11 1: main::HandleTimeout called by fhem.pl (710)var mobiletoggle = function () {
if ($('body').hasClass("colortoggle")) {} else {
var counter = 0;
$(".colorpicker_widget, .slider_widget").each(function () {
var $newToggleDiv = $('<div id="toggle_colorpicker' + counter + '" onclick="togglecolorpicker(' + counter + ')" style="display: table-cell;vertical-align: middle;"><svg class="icon control_plus" data-txt="control_plus" id="colorplus' + counter + '" version="1.0" xmlns="http://www.w3.org/2000/svg" width="468pt" height="474pt" viewBox="0 0 468 474" preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,474) scale(0.200000,-0.200000)" stroke="none"> <path d="M1002 2354 c-18 -9 -43 -31 -55 -48 -22 -31 -22 -35 -25 -458 l-3 -428 -397 0 c-444 0 -443 0 -490 -70 -22 -33 -23 -42 -20 -177 l3 -143 38 -37 37 -38 415 -3 415 -3 0 -422 c0 -403 1 -423 20 -455 37 -61 70 -72 210 -72 150 0 182 12 218 80 22 44 22 49 22 457 l0 413 424 0 c422 0 423 0 456 23 57 39 70 76 70 206 0 143 -19 192 -84 222 -38 17 -73 19 -453 19 l-413 0 0 418 c0 459 0 460 -63 506 -25 18 -45 21 -160 24 -107 2 -138 -1 -165 -14z m258 -599 l0 -475 470 0 470 0 0 -100 0 -100 -475 0 -475 0 0 -475 0 -476 -97 3 -98 3 0 473 0 472 -457 0 -458 0 0 100 0 100 457 2 458 3 -4 473 -3 472 106 0 106 0 0 -475z"></path> </g> </svg><svg class="icon control_minus" id="colorminus' + counter + '" data-txt="control_minus" version="1.0" xmlns="http://www.w3.org/2000/svg" width="468pt" height="95pt" viewBox="0 0 468 95" preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,95) scale(0.196639,-0.196639)" stroke="none"> <path d="M85 460 c-11 -4 -33 -22 -50 -40 -30 -31 -30 -31 -33 -168 -3 -163 7 -193 79 -230 l44 -22 1077 2 1077 3 28 21 c57 43 68 76 68 214 0 141 -11 176 -68 210 -31 19 -58 20 -1117 19 -597 0 -1094 -4 -1105 -9z m2155 -220 l0 -100 -1055 0 -1055 0 0 93 c0 52 3 97 7 100 3 4 478 7 1055 7 l1048 0 0 -100z"></path> </g> </svg></div>');
$(this).after($newToggleDiv);
$(this).parent().css("white-space", "nowrap");
$(this).parent().css("display", "table");
$(this).attr('id', 'colorpicker' + counter);
$(this).hide();
$('#colorminus' + counter).hide();
counter++;
});
$('body').addClass("colortoggle");
}
};
ZitatJa, ich habe schon gesehen, dass der SoC dann teilweise mit unter 10 % vorhergesagt wird, was die Batterie aber gar nicht macht. Also dann Werte eintragen, aber stepSoC=0?stepSoC=0 deaktiviert das SoC-Management für diese Batterie. Die Prognose für den SoC wird weiterhin funktionieren, wobei dann bestimmte Grenzen nicht aktiv sind, aber vermutlich durchaus brauchbar.
ZitatDa der Verbrauch vermutlich auf Basis von Readings bestimmt wird, deren Werte streng monoton wachsend sein sollten, müsste sich in SF doch eigentlich eine automatische Löschung über ein Median-Filter auf einbauen lassen.Ein automatischer! Median-Filter ist dafür leider nicht geeignet, denn ich möchte ja die realen Zahlen haben. Wenn der User Besuch hat und 2 EV geladen werden kann der Verbrauch schonmal ungewöhnlich hoch sein, ist aber dann kein Fehler.
ZitatGibt es einen technischen Grund für diese Begrenzung oder ließe sich die Grenze auch auf 30 erhöhen?Nein, nur einmal die Problematik in der Flußdarstellung und weiterhin entsprechend viele Attribute in der Attributliste.
Zitat von: Prof. Dr. Peter Henning am 19 März 2026, 15:29:45Ich hoffe mal, dass Du als Username "admin" und als Passwort Dein Cloudpasswort angegeben hast. Es könnte sein, dass Du eine ältere Firmware hast. In dem Fall musst Du als Username den angeben, den Du bei der Einrichtung des Kamerakontos auf der Kamera verwendet hast, sowie das zugehörige Passwort.
Exception: Temporary Suspension: Try again in 1800 secondsZitat von: Gisbert am 19 März 2026, 14:37:26Hallo pah,
kann man Bilder und ggf. Videos bei Alarmierung/Personen-/Bewegungserkennung im lokalen Netzwerk speichern?
Viele Grüße Gisbert
Zitat von: DeeSPe am 19 März 2026, 15:20:17Bei mir kommt leider ein Authentifikationsproblem:Ich hoffe mal, dass Du als Username "admin" und als Passwort Dein Cloudpasswort angegeben hast. Es könnte sein, dass Du eine ältere Firmware hast. In dem Fall musst Du als Username den angeben, den Du bei der Einrichtung des Kamerakontos auf der Kamera verwendet hast, sowie das zugehörige Passwort.
Zitat von: Prof. Dr. Peter Henning am 18 März 2026, 15:11:07@DeeSPee: Würde mich interessieren, was die Ausgabe des tapo_testmethod bei der C222 ergibt.Bei mir kommt leider ein Authentifikationsproblem:
root@fhem-test:/opt/fhem/tapo# ./tapo_testmethod.py
Traceback (most recent call last):
File "/opt/fhem/tapo/./tapo_testmethod.py", line 4, in <module>
tapo = Tapo("192.168.107.78", "name", "password")
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/__init__.py", line 108, in __init__
self.basicInfo = self.getBasicInfo()
~~~~~~~~~~~~~~~~~^^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/__init__.py", line 1161, in getBasicInfo
return self.executeFunction(
~~~~~~~~~~~~~~~~~~~~^
"getDeviceInfo", {"device_info": {"name": ["basic_info"]}}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/__init__.py", line 171, in executeFunction
data = self.performRequest(
~~~~~~~~~~~~~~~~~~~^
{
^
...<2 lines>...
}
^
)["result"]["responses"][0]
^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/__init__.py", line 214, in performRequest
self.asyncHandler.executeAsyncExecutorJob(self.transport.authenticate)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/asyncHandler.py", line 21, in executeAsyncExecutorJob
return self._loop.run_until_complete(job(*args))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/transport/transport.py", line 43, in authenticate
return await self.transport.authenticate(self, retry)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/transport/pytapo/pytapo.py", line 185, in authenticate
await self._run_blocking(self._refreshStok)
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/transport/pytapo/pytapo.py", line 176, in _run_blocking
return func(*args, **kwargs)
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/transport/pytapo/pytapo.py", line 710, in _refreshStok
return self._refreshStok(loginRetryCount)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/fhem/tapo/.venv/lib/python3.13/site-packages/pytapo/transport/pytapo/pytapo.py", line 715, in _refreshStok
raise Exception("Invalid authentication data")
Exception: Invalid authentication data