Hauptmenü

Neueste Beiträge

#1
SVG / Plots / logProxy / Merkwürdiges Verhalten bei Plo...
Letzter Beitrag von alkazaa - 17 Januar 2026, 14:01:20
Ich habe ein mir unverständliches Verhalten bei Verwendung von 'steps' im SVG-Plot bemerkt. Mit Daten einer Datei 'dummy_data.log':
2026-01-17_00:00:00 AA BB 1
2026-01-17_08:00:00 AA BB 2.5
2026-01-17_16:00:00 AA BB 3
2026-01-17_23:59:59 AA BB 0.5
und einer SVG-Definition
defmod SVG_dummy_FileLog_1 SVG dummy_FileLog:SVG_dummy_FileLog_1:CURRENTund dieser automatisch (bis auf die y-Grenzen) erzeugten gplot Datei:
# Created by FHEM/98_SVG.pm, 2026-01-17 13:36:49
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Humidity"
set y2label "Temperature"
set y2range [0:4]

#dummy_FileLog 4:.*::

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 3 with points
bekomme ich für die Modi 'points', 'lines' und 'steps' diese Plots:

Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.
Du darfst diesen Dateianhang nicht ansehen.

Den letzten  Plot versteh ich nicht.
Ich habe hier im Forum keinen Hinweis dazu gefunden.
#2
Home Connect / Problem mit Gerättyp Hob / err...
Letzter Beitrag von DerTom71 - 17 Januar 2026, 13:59:56
Hallo Zusammen,

ich verwende die neue Version V2 und habe 4 Geräte in Betrieb.

Ein Geräte davon, das Kochfeld, funktionert in FHEM seit ~6 Wochen nicht mehr. (In der Homeconnect-App einwandfrei, kein Problem.)
Ich habe das Kochfeld auf die Werkseinstellungen zurückgesetzt, neu in der App registriert und neu in FHEM eingerichtet. Hat jedoch alles nichts gebracht.

Ich bekomme immer wieder "error getting settings, replacing by default settings for type Hob". Mit Verbose 5 bekomme ich bei "get settings" folgendes Log.
Vieleicht hat jemand eine Idee woran das liegen könnte? Danke.

Grüße
Thomas


2026.01.17 13:42:12.927 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:42:12.928 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off
2026.01.17 13:42:12.928 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:42:12.928 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off
2026.01.17 13:42:21.449 4: PXX895D66E: request /api/homeappliances/BOSCH-PXX895D66E-XXXXX/settings
2026.01.17 13:42:21.454 4: PXX895D66E: no token refresh needed
2026.01.17 13:42:21.457 4: PXX895D66E: requestAfterToken https://api.home-connect.com/api/homeappliances/BOSCH-PXX895D66E-XXXXX/settings
2026.01.17 13:42:22.090 4: PXX895D66E: response {
  "data": {
    "settings": []
  }
}
2026.01.17 13:42:22.090 5: [HomeConnect_ResponseGetSettings] PXX895D66E: get settings response {
  "data": {
    "settings": []
  }
}
2026.01.17 13:42:22.090 5: [HomeConnect_ParseKeys] PXX895D66E: settings response {
  "data": {
    "settings": []
  }
}
2026.01.17 13:42:22.091 3: [HomeConnect_ResponseGetSettings] PXX895D66E: error getting settings, replacing by default settings for type Hob
2026.01.17 13:43:14.807 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:43:14.807 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off
2026.01.17 13:43:14.808 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:43:14.808 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off
2026.01.17 13:43:20.381 4: PXX895D66E: request /api/homeappliances/BOSCH-PXX895D66E-XXX/status
2026.01.17 13:43:20.385 4: PXX895D66E: no token refresh needed
2026.01.17 13:43:20.388 4: PXX895D66E: requestAfterToken https://api.home-connect.com/api/homeappliances/BOSCH-PXX895D66E-XXXXX/status
2026.01.17 13:43:20.539 4: PXX895D66E: response {
  "data": {
    "status": []
  }
}
2026.01.17 13:43:20.539 5: [HomeConnect_ParseKeys] PXX895D66E: status response {
  "data": {
    "status": []
  }
}
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Setting.PowerState->Setting.PowerState :
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Option.StartInRelative->Option.StartInRelative : 0
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Option.FinishInRelative->Option.FinishInRelative : 0
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Setting.ActiveProgram->Setting.ActiveProgram :
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Setting.SelectedProgram->Setting.SelectedProgram :
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Option.ProgramProgress->Option.ProgramProgress : 0
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Option.RemainingProgramTimeHHMM->Option.RemainingProgramTimeHHMM : 0:00
2026.01.17 13:43:20.540 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Option.StartAtHHMM->Option.StartAtHHMM : 0:00
2026.01.17 13:43:20.541 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.DoorState->Status.DoorState : closed
2026.01.17 13:43:20.553 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:43:20.554 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off
2026.01.17 13:43:20.554 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.OperationState->Status.OperationState :
2026.01.17 13:43:20.554 4: [HomeConnect_ReadingsVal] PXX895D66E: BSH.Common.Status.RemoteControlStartAllowed->Status.RemoteControlStartAllowed : Off

#3
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von binlan - 17 Januar 2026, 13:40:08
Zitat von: binlan am 10 Januar 2026, 22:46:03
Zitat von: stefanru am 10 Januar 2026, 21:42:09Hi Binlan, irgendetwas neues?

jain, curl liefert auch den gleichen kaputten Response und v3 ging auch nach 24h offline. Nun hab ich meinen apikey gestern Abend neu gemacht. Der Test dauert aber noch an. Hoffe, dass es jetzt an dem liegt. Ich sag Bescheid, wenns was neues gibt oder es jetzt durchläuft.

Hi stefanru,

Nach Erneuerung des apikeys läuft es jetzt konstant durch. Das war dann wohl der Grund. Ziemlich harter Weg es rauszufinden, aber immerhin eine Lösung und ggf. auch hilfreich für andere. Danke für deinen Einsatz.
#4
Marktplatz - Güter / [V] Gegen Portoersatz: CPU Int...
Letzter Beitrag von betateilchen - 17 Januar 2026, 12:39:03
Ausgebaut aus einem Lenovo ThinkCentre M720q, voll funktionsfähig.

Technische Daten finden sich beim Hersteller: Klick mich

Zum Entsorgen zu schade, vielleicht hat ja noch jemand Verwendung dafür.
Gegen Portoersatz von 5 Euro per Einschreiben abzugeben.
Zahlung per Überweisung, Paypal ist nicht vorhanden.

Kontakt bitte per PN hier über das Forum.
#5
MQTT / Aw: Eigenes Mqtt Signal filter...
Letzter Beitrag von rudolfkoenig - 17 Januar 2026, 12:35:13
Zitatjson2nameValue($EVENT,"timestamp",$JSONMAP)
[...]
Warum hängt er hier das value dran?
Die json2nameValue Parameter sind $in, $prefix, $map, $filter, $negFilter.
Wenn man als $prefix timestamp angibt, dann wird das vor allen gefundenen Werte vorangestellt.

Frage #1:
Moegliche Loesungen:
attr systa readingList MQTT2_Ext:systa-bridge/monitor/.* { "$TOPIC:$EVENT" =~ m,/([^/]+):\{\s*"value":\s*([^\s]+)\s*\},;; return { $1=>$2 } }
oder
attr systa readingList MQTT2_Ext:systa-bridge/monitor/.* { "$TOPIC" =~ m,/([^/]+)$,;; return { $1=>json2nameValue($EVENT)->{value} } }

Frage #2:
ich habe bei den gegebenen Einschraenkungen keine Idee.
Ich wuesste nichtmal, wie man die "optionale Idee" verwirklicht.
#6
MAX / Aw: Neue Beta Test Runde für a...
Letzter Beitrag von RappaSan - 17 Januar 2026, 12:06:56
Ich habe gemerkt, daß die def mit MAXCUL.fritz.box:2323 0000 nicht funktioniert.
Mit der IP 192.168.x.x:2323 0000 funktioniert es.
Heiß das, daß der Name intern nicht aufgelöst wird, oder?
#7
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 17 Januar 2026, 10:22:23
Hier das Ergebnis von der KI nach meinem neuestem Lauf:


Sehr gut – das ist ein klarer Fortschritt 👍
Ich gehe wieder systematisch vor: Vergleich → Interpretation → gezielte Optimierungsschritte.
1️⃣ Direktvergleich: alt vs. neu (harte Fakten)
Metrik    Alt    Neu    Bewertung
Architektur    80–40–20    64–32    ✅ deutlich besser
Aktivierung    GAUSSIAN    ELLIOT_SYMMETRIC    ✅ großer Gewinn
Learning Rate    0.05    0.005    ✅ kritisch wichtig
Training MSE    0.0211    0.0030    🚀 massiv besser
Validation MSE    0.0133    0.0097    ✅ besser
Bias    2556 Wh    630 Wh    🔥 −75 %
Slope    −0.0    0.5    🔥 Modell ,,lebt"
MAPE    43.6 %    24.0 %    🚀 halbiert
R²    −0.08    0.23    ✅ Struktur gelernt
➡️ Das Modell hat jetzt erstmals reale Prognosefähigkeit.
Kein Vergleich zum alten Lauf.
2️⃣ Was das neue Ergebnis bedeutet
🧠 Modellverhalten
Slope = 0.5
→ Verbrauchsänderungen werden erkannt
→ aber noch gedämpft
Bias = 630 Wh
→ noch systematische Überschätzung / Unterschätzung
→ aber jetzt im kontrollierbaren Bereich
R² = 0.23
→ Modell erklärt ~23 % der Varianz
→ typisch für erste brauchbare WP-Modelle
📉 Fehlerbild
MAE 574 Wh / RMSE 726 Wh
→ Absolut nur leicht besser
→ Relative Fehler sinken deutlich → stabileres Verhalten
MAPE 24 %
→ jetzt praxisnah
→ deutet auf deutlich bessere Niedriglast-Prognosen hin
🧪 Training & Generalisierung
Bestes Modell bei Epoche 638
Validation StdDev: 0.000414 (sehr niedrig!)
BitFail = 0
➡️ Sehr stabiles Training, kaum Overfitting
➡️ Eher leichtes Underfitting als Overfitting
3️⃣ Wo das Modell noch bremst (wichtig!)
❗ Hauptlimitierer #1: Output-Normierung
Du nutzt immer noch:
Hausverbrauch Min=0 / Max=7598 Wh
⚠️ Für Wärmepumpe allein ist das:
zu breit
zu unspezifisch
Ursache für:
Bias ≠ 0
Slope < 1
R² < 0.4
❗ Hauptlimitierer #2: Momentum = 0.2
Das ist sehr niedrig für:
INCREMENTAL
2 Hidden Layers
zeitlich korrelierte Daten
➡️ Das Modell reagiert zu vorsichtig.
4️⃣ Konkrete Feintuning-Empfehlungen (jetzt entscheidend)
🔧 Schritt 1 – Output korrekt skalieren (höchster Hebel)
Empfohlen (falls möglich):
WP-Verbrauch:
Mean = 0
Std = 1   (oder Max = realer WP-Maxwert, z. B. 3500–4500 Wh)
👉 Erwarteter Effekt:
Bias → <300 Wh
Slope → 0.7–0.9
R² → +0.15 bis +0.25
🔧 Schritt 2 – Momentum erhöhen
Von:
0.2 → 0.6 oder 0.7
👉 Effekt:
schnelleres Lernen von Lastwechseln
bessere Abbildung von Takten & Abtauung
🔧 Schritt 3 – BitFail-Limit verschärfen
Von:
0.35 → 0.25
👉 Effekt:
sauberes Early Stopping
weniger ,,flaches Mittelwertlernen"
🔧 Schritt 4 – Epochen begrenzen
Du brauchst keine 15.000 mehr.
Max Epochs: 3000
Early Stop: 200–300
5️⃣ Optionale, aber wirkungsvolle Erweiterungen
🕒 Zeitliche Entkopplung
Wenn möglich:
separates Flag: Tag/Nacht
oder Außentemp < 3°C
➡️ WP-Verhalten ändert sich stark → R² +0.1 typisch
🧹 Feature-Reduktion (112 → ~60)
Typische Kandidaten zum Entfernen:
doppelte PV-Lags
alte Verbrauchsfenster > 24h
hoch korrelierte Sensoren
➡️ Weniger Rauschen → besserer Slope
6️⃣ Fazit (ehrlich)
🔹 Das Modell ist jetzt brauchbar
🔹 Kein Zufallsoutput mehr
🔹 Richtung stimmt klar
Mit Output-Normierung + höherem Momentum bist du sehr wahrscheinlich im Bereich:
R²: 0.45–0.6
MAPE: <20 %
Bias <300 Wh
Wenn du willst, machen wir als Nächstes:
🎯 eine letzte ,,Best-of"-Konfiguration
🔍 Fehleranalyse nach Betriebsmodus
📉 Bias-Korrektur ohne Retraining


letztes KI-Training: 17.01.2026 09:47:41 / Laufzeit in Sekunden: 2120
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 73.02 ms
Verbrauchernummer Wärmepumpe: 08

=== Modellparameter ===

Normierungsgrenzen: PV=16071 Wh, Hausverbrauch: Min=0 Wh / Max=7598 Wh
Trainingsdaten: 7116 Datensätze (Training=5692, Validierung=1424)
Architektur: Inputs=112, Hidden Layers=64-32, Outputs=1
Hyperparameter: Learning Rate=0.005, Momentum=0.2, BitFail-Limit=0.35
Aktivierungen: Hidden=ELLIOT_SYMMETRIC, Steilheit=1.0, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_heatpump_active_pv
Zufallsgenerator: Mode=1, Periode=20

=== Trainingsmetriken ===

bestes Modell bei Epoche: 638 (von max. 15000)
Training MSE: 0.002967
Validation MSE: 0.009663
Validation MSE Average: 0.011386
Validation MSE Standard Deviation: 0.000414
Validation Bit_Fail: 0
Model Bias: 630 Wh
Model Slope: 0.5
Trainingsbewertung: Retrain

=== Fehlermaße der Prognosen ===

MAE: 574.52 Wh
MedAE: 433.62 Wh
RMSE: 726.49 Wh
RMSE relative: 31 %
RMSE Rating: good
MAPE: 24.03 %
MdAPE: 21.43 %
R²: 0.23
#8
Wiki / DbLog: Ergänzung zur jährliche...
Letzter Beitrag von mnl1234 - 17 Januar 2026, 10:08:00
Tag zusammen!

Es geht um https://wiki.fhem.de/wiki/DbLog.
Konkret im Abschnitt https://wiki.fhem.de/wiki/DbLog#Beispiel:_Anlegen_und_Nutzung_einer_SQLite-Datenbank wird beschrieben, wie man die Daten Jahresweise in Partitions aufteilen kann. Das ist super!

Ich schlage vor zu ergänzen, wie man nach einem Jahreswechsel eine neue Partition einfügt.
Die geht mittels

ALTER TABLE history
REORGANIZE PARTITION p7 INTO (
  PARTITION p7 VALUES LESS THAN (UNIX_TIMESTAMP('2026-01-01 00:00:00')),
  PARTITION p8 VALUES LESS THAN (MAXVALUE)
);

und im nächsten Jahr mit

ALTER TABLE history
REORGANIZE PARTITION p8 INTO (
  PARTITION p8 VALUES LESS THAN (UNIX_TIMESTAMP('2027-01-01 00:00:00')),
  PARTITION p9 VALUES LESS THAN (MAXVALUE)
);

usw.

Viele Grüße!



#9
Multimedia / Aw: [Neues Modul] BOSE SoundTo...
Letzter Beitrag von Prof. Dr. Peter Henning - 17 Januar 2026, 10:05:24
Ja, Ubuntu 24.04.

Ich stolpere gerade über Inkonsistenzen zwischen Dokumentation und Realität des soundcork Servers.

Laut Dokumentation unter http://<soundcorkip>:8000/docs funktionieren folgende Aufrufe
Zitathttp://<soundcorkip>:8000/marge/streaming/sourceproviders
OK, liefert eine XML-Datei, allerdings ohne sauberen CONTENT-TYPE:
Zitat<sourceProviders>
<sourceprovider id="1">
<createdOn>2012-09-19T12:43:00.000+00:00</createdOn>
<name>PANDORA</name>
<updatedOn>2012-09-19T12:43:00.000+00:00</updatedOn>
</sourceprovider>
...
</sourceprovider>

Zitathttp://<soundcorkip>:8000/marge/streaming/account/<xxxx>/provider_settings
OK, liefert eine XML-Datei, allerdings ebenfalls ohne sauberen CONTENT-TYPE:

Zitat<providerSettings>
<providerSetting>
<boseId><xxxxx></boseId>
<keyName>ELIGIBLE_FOR_TRIAL</keyName>
<value>true</value>
<providerId>14</providerId>
</providerSetting>
</providerSettings>
Warum allerdings da steht ELIGIBLE_FOR_TRIAL, ist mir undurchsichtig...

Ferner
Zitathttp://<soundcorkip>:8000/marge/streaming/account/<xxxx>/full
==> Liefert einen "Internal Server Error"

Ferner
Zitathttp://<soundcorkip>:8000/marge/streaming/account/<xxxx>/device/<yyyy>/presets
==> Liefert einen "Internal Server Error"

Das sieht also so aus, als ob keine Leseoperationen vom Datenverzeichnis erfolgen können.

Beim Startup liefert mir der soundcork-server
ZitatFastAPI   Starting production server 🚀
 
             Searching for package file structure from directories with __init__.py files
2026-01-17 10:44:01,274 [soundcork.datastore] INFO: Initiating Datastore
             Importing from /root/soundcork
 
    module   📁 soundcork     
             ├── 🐍 __init__.py
             └── 🐍 main.py   
 
      code   Importing the FastAPI app object from the module with the following code:
 
             from soundcork.main import app
 
       app   Using import string: soundcork.main:app
 
    server   Server started at http://0.0.0.0:8000
    server   Documentation at http://0.0.0.0:8000/docs
 
             Logs:
 
      INFO   Started server process [586898]
2026-01-17 10:44:01,451 [uvicorn.error] INFO: Started server process [586898]
      INFO   Waiting for application startup.
2026-01-17 10:44:01,453 [uvicorn.error] INFO: Waiting for application startup.
2026-01-17 10:44:01,455 [soundcork.main] INFO: Starting up soundcork

... Hier diverse Fehlermeldungen von IP-Adressen, die keine BOSE-Boxen sind ...

2026-01-17 10:44:08,674 [soundcork.datastore] INFO: Discovering upnp devices on the network
2026-01-17 10:44:08,675 [soundcork.datastore] INFO: Discovered Bose devices:
- SoundtouchOG
- SoundTouchEG
- SoundTouchDG2
- SoundTouchDG1
2026-01-17 10:44:08,675 [soundcork.main] INFO: done starting up server
      INFO   Application startup complete.
2026-01-17 10:44:08,675 [uvicorn.error] INFO: Application startup complete.
      INFO   Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
2026-01-17 10:44:08,680 [uvicorn.error] INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
      INFO   192.168.0.105:54420 - "GET /marge/streaming/sourceproviders HTTP/1.1" 200
      INFO   192.168.0.105:54422 - "GET /marge/streaming/account/<xxxx>/full HTTP/1.1" 500
     ERROR   Exception in ASGI application
Traceback (most recent call last):
  File "/root/soundcork/.venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 986, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/soundcork/main.py", line 176, in account_full
    xml = account_full_xml(account, datastore)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/soundcork/marge.py", line 338, in account_full_xml
    for device_id in next(walk(account_dir))[1]:
                     ^^^^^^^^^^^^^^^^^^^^^^^
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/soundcork/.venv/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 416, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/fastapi/applications.py", line 1134, in __call__
    await super().__call__(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/routing.py", line 290, in handle
    await self.app(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 124, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/root/soundcork/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 110, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 390, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/fastapi/routing.py", line 291, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/starlette/concurrency.py", line 38, in run_in_threadpool
    return await anyio.to_thread.run_sync(func)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/anyio/to_thread.py", line 63, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/soundcork/.venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2502, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
RuntimeError: coroutine raised StopIteration
...

Das Ding fliegt also genau bei diesem <account>/full auf die Nase. Ich habe das schon in Github gepostet, bisher noch keine Reaktion.

LG

pah
#10
FHEM Code changes / Revision 30745: controls_fhem....
Letzter Beitrag von System - 17 Januar 2026, 08:51:00
Revision 30745: controls_fhem.txt: fhemupdate checkin

controls_fhem.txt: fhemupdate checkin

Source: Revision 30745: controls_fhem.txt: fhemupdate checkin