Hauptmenü

Neueste Beiträge

#1
Multimedia / Aw: [Neues Modul] BOSE SoundTo...
Letzter Beitrag von Prof. Dr. Peter Henning - 29 Januar 2026, 10:12:14
Dann machen wir doch mal Nägel mit Köpfen.

Wenn dominik sich nicht mehr meldet, sollte das Ding mittelfristig einen anderen Maintainer bekommen.
Kurzfristig müssen wir daran gemeinsam arbeiten, darum habe ich ein Github-Projekt dazu aufgemacht: https://github.com/pahenning/BOSEST.

Alle Interessenten sind aufgerufen
- Fehler und Änderungswünsche einzutragen unter "Issues"
- Diskussionsbeiträge unter "Discussion" abzulegen
- Konkreten Code als "Branch" hochzuladen.

LG

pah
#2
ESP Familie / Aw: PWM mit ESP8266
Letzter Beitrag von andies - 29 Januar 2026, 09:59:30
Ich habe mal die Klugscheißer-Software gefragt:
ZitatDer 028N arbeitet (typisch für solche Regler) mit Triac/Phasenanschnitt oder einer ähnlichen Halbleiterschaltung. Beim schnellen Hochdrehen kann das zu sehr steilen Stromanstiegen und hohen Stromspitzen führen, auch wenn die mittlere Leistung nur ~5,7 A ist. Genau diese Spitzen können den magnetischen Schnellauslöser eines B16 triggern.
Kann das sein oder ist das Halluzination?
ZitatTest ohne Messgerät: nicht ,,in 1 s auf voll", sondern langsam in 10–20 s hochdrehen. Wenn dann nichts fliegt, ist es fast sicher Spitzenstrom/Schaltform.
#3
ESP Familie / Aw: PWM mit ESP8266
Letzter Beitrag von andies - 29 Januar 2026, 09:51:43
Nun habe ich das Gerät schon zurückgeschickt, aber bei dem neuen Teil teste ich das mal. Spielt es denn eine Rolle, wo Phase anliegt? Darauf habe ich in der Tat nicht geachtet.
#4
FHEM Code changes / Revision 30792: configDB.pm: a...
Letzter Beitrag von System - 29 Januar 2026, 09:20:39
Revision 30792: configDB.pm: add missing parenthesis

configDB.pm: add missing parenthesis

Source: Revision 30792: configDB.pm: add missing parenthesis
#5
Sonstiges / Aw: fhem-mcp - FHEM-Steuerungs...
Letzter Beitrag von kgie - 29 Januar 2026, 08:50:47
Ich finde das interessant. Da war ja neulich ein c't Artikel zu MCP, da kam mir auch FHEM in den Sinn. Aber über ein paar Experimente im Prompt bin ich nicht hinausgekommen.

Das LLM hat sicher auch kein Problem den Quellcode und die Doku zu verarbeiten (ich sage mal nicht verstehen). Ich glaube, dass man da auch komplexere Aufgaben delegieren kann wie "Lege eine Regel an die das Flurlicht einschaltet wenn die Haustür geöffnet wird". Möglicherweise ist FHEM da auch ganz gut geeignet wegen der umfassenden Doku, dem frei zugänglichen Code und der programmiersprachen-ähnlichen Syntax. Also Code gerne teilen, einen Blick werde ich mal reinwerfen  :)
#6
MQTT / Aw: shelly1 mini readings
Letzter Beitrag von betateilchen - 29 Januar 2026, 08:26:11
Auf "Detached Switch" umstellen.
#7
FHEM Code changes / Revision 30791: controls_fhem....
Letzter Beitrag von System - 29 Januar 2026, 08:11:02
Revision 30791: controls_fhem.txt: fhemupdate checkin

controls_fhem.txt: fhemupdate checkin

Source: Revision 30791: controls_fhem.txt: fhemupdate checkin
#8
Marktplatz - Güter / Aw: [S] Suche 360 Grad WLAN-IR...
Letzter Beitrag von toensi - 29 Januar 2026, 08:01:58
Moin!
Hab dir ne Mail gesandt, Gruß 
#9
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von TheTrumpeter - 29 Januar 2026, 07:59:49
Zitat von: TheTrumpeter am 26 Januar 2026, 06:44:54Seit dem letzten Update (das mit den fhemweb-Fehlermeldungen, bzw. die Korrektur danach) ist meine Verbrauchsprognose deutlich schlechter geworden.
Auch heute sehe ich wieder diese "Geisterverbräuche" ab ca. 15 ode 16 Uhr. Insbesondere der Nachtverbrauch ist äußerst fragwürdig; die Wärmepumpe ist selbst in der (vergangenen) Kälteperiode nicht länger als bis 22:00 gelaufen. Von 22:00 bis 6:00 fällt nur eine gewisse Grundlast in Höhe von 200-250 Wh an.
Ich habe nach dem letzten Update (offizielle 2.0.0) 2 Lernzyklen gemacht, den ersten mit den Standardeinstellungen und dann den "Bit-Fehler" auf 0.34 geändert, weil das als Empfehlung raus kam.
Aktuell sieht der Status so aus:
Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 27.01.2026 09:57:18 / Laufzeit in Sekunden: 11365
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 82.58 ms
Verbrauchernummer Wärmepumpe:  03

=== Modellparameter ===

Normierungsgrenzen: PV=18612 Wh, Hausverbrauch: Min=0 Wh / Max=6400 Wh
Trainingsdaten: 8375 Datensätze (Training=6700, Validation=1675)
Architektur: Inputs=98, Hidden Layers=80-40-20, Outputs=1
Hyperparameter: Learning Rate=0.005, Momentum=0.4, BitFail-Limit=0.34
Aktivierungen: Hidden=SIGMOID, Steepness=1.2, Output=LINEAR
Trainingsalgorithmus: INCREMENTAL, Registry Version=v1_heatpump_active_pv
Zufallsgenerator: Mode=2, Period=10

=== Trainingsmetriken ===

bestes Modell bei Epoche: 3119 (max. 15000)
Training MSE: 0.000913
Validation MSE: 0.002237
Validation MSE Average: 0.002260
Validation MSE Standard Deviation: 0.000031
Validation Bit_Fail: 0
Model Bias: 21 Wh
Model Slope: 1.0
Trainingsbewertung: Retrain

=== Fehlermaße der Prognosen ===

MAE: 152.88 Wh
MedAE: 47.69 Wh
RMSE: 209.81 Wh
RMSE relative: 63 %
RMSE Rating: acceptable
MAPE: 17.58 %
MdAPE: 10.21 %
R²: 0.91

=== Rauschen ===

Rauschen Bewertung: borderline
Empfehlung für Bit_Fail: 0.34 (Einstellung von aiControl->aiConBitFailLimit)

=== Drift-Kennzahlen ===

Drift Score: 1.72
Drift RMSE ratio: 2.30
Drift Slope: 0.088
Drift Bias: 0.84
Drift Bewertung: none
#10
Multimedia / Aw: [Neues Modul] BOSE SoundTo...
Letzter Beitrag von FlatTV - 28 Januar 2026, 23:43:20
Also den Fehler mit der falsche Parameter Übergabe an BOSEST_Set, bei einer Auswahl der Source im fhem WebIF habe ich nicht korrigieren können.
Ein Log habe ich dafür noch eingeschaltet gelassen.
Da muss mal ein Profi ran.

Damit nicht immer die Box abschmiert, wenn das versehentlich trotzdem gemacht wird, prüfe ich den Wert (siehe FIXME).

Die Source ist jetzt in der ST300 auf ,,tv" und ,,hdmi1" umstellbar.

--- a/98_BOSEST.pm  2023-05-20 08:02:26.000000000 +0200
+++ b/98_BOSEST.pm 2026-01-28 23:30:18.795102399 +0100
@@ -7,10 +7,13 @@
 # FHEM module to communicate with BOSE SoundTouch system
 # API as defined in BOSE SoundTouchAPI_WebServices_v1.0.1.pdf
 #
-# Version: 2.2.1
+# Version: 2.2.2
 #
 #############################################################
 #
+# v2.2.2 - 20260125
+# - CHANGE: Add PRODUCT TV and HDMI_1 to source for ST300
+#
 # v2.2.1 - 20181127
 # - CHANGE:  add staticIPs documentation in commandref
 #
@@ -341,7 +344,7 @@
     $hash->{helper}{supportedBassCmds} = "";
     
     if (int(@a) < 3) {
-        Log3 $hash, 3, "BOSEST: BOSE SoundTouch v2.2.1";
+        Log3 $hash, 3, "BOSEST: BOSE SoundTouch v2.2.2";
         #start discovery process 30s delayed
         InternalTimer(gettimeofday()+30, "BOSEST_startDiscoveryProcess", $hash, 0);
         
@@ -374,9 +377,10 @@
     return undef;
 }
 
-sub BOSEST_Set($@) {
-    my ($hash, $name, @params) = @_;
-    my $workType = shift(@params);
+sub BOSEST_Set
+{
+    my ($hash, $name, $workType, @params) = @_;
+    Log3 $hash, 3, "BOSEST: BOSEST_Set: $name, $workType\n".Dumper(\@params) if ($workType ne "?");
     
     #get quoted text from params
     my $blankParams = join(" ", @params);
@@ -884,7 +888,23 @@
     
     $hash->{helper}{switchSource} = uc $source;
     
-    if($hash->{helper}{switchSource} eq "") {
+    #FIXME: switchSource has volume num value via fhem webif
+    if($hash->{helper}{switchSource} eq "" || looks_like_number($hash->{helper}{switchSource})) {
+        return undef;
+    }
+   
+    if($hash->{helper}{switchSource} eq "TV"  || $hash->{helper}{switchSource} eq "HDMI1") {
+        my $sourceAccount = $hash->{helper}{switchSource} eq "TV" ? "TV" : "HDMI_1";
+        my $postXml = "<ContentItem source=\"".
+                  "PRODUCT".
+                  "\" sourceAccount=\"".
+                  $sourceAccount.
+                  "\" isPresetable=\"true\">".
+                  "</ContentItem>";
+
+        if(BOSEST_HTTPPOST($hash, "/select", $postXml)) {
+                #ok
+        }
         return undef;
     }
     
@@ -2137,6 +2157,8 @@
             $deviceHash->{helper}{bluetoothSupport} = 0;
             $deviceHash->{helper}{auxSupport} = 0;
             $deviceHash->{helper}{airplaySupport} = 0;
+            $deviceHash->{helper}{productTvSupport} = 0;
+            $deviceHash->{helper}{productHdmi1Support} = 0;
             $deviceHash->{helper}{supportedSourcesCmds} = "";
             foreach my $source (@params) {
                 if($source eq "BLUETOOTH") {
@@ -2148,7 +2170,14 @@
                 } elsif($source eq "AIRPLAY") {
                     $deviceHash->{helper}{airplaySupport} = 1;
                     $deviceHash->{helper}{supportedSourcesCmds} .= "airplay,";
-                }
+                } elsif($source eq "PRODUCT") {
+                    #quick hack, we also need sourceAccount value for PRODUCT
+                    if($deviceHash->{helper}{productTvSupport} == 0 && $deviceHash->{helper}{productHdmi1Support} == 0) {
+                        $deviceHash->{helper}{productTvSupport} = 1;
+                        $deviceHash->{helper}{productHdmi1Support} = 1;
+                        $deviceHash->{helper}{supportedSourcesCmds} .= "tv,hdmi1,";
+                    }
+                }
             }
             $deviceHash->{helper}{supportedSourcesCmds} = substr($deviceHash->{helper}{supportedSourcesCmds}, 0, length($deviceHash->{helper}{supportedSourcesCmds})-1);
         } elsif($command eq "capabilities") {
@@ -2577,7 +2606,7 @@
         <li><code><b>repeat</b> all|one|off</code> &nbsp;&nbsp;-&nbsp;&nbsp; control repeat mode</li>
         <li><code><b>bass</b> 0...10</code> &nbsp;&nbsp;-&nbsp;&nbsp; set the bass level</li>
         <li><code><b>recent</b> 0...15</code> &nbsp;&nbsp;-&nbsp;&nbsp; set number of names in the recent list in readings</li>
-        <li><code><b>source</b> bluetooth,bt-discover,aux mode, airplay</code> &nbsp;&nbsp;-&nbsp;&nbsp; select a local source</li><br>
+        <li><code><b>source</b> bluetooth,bt-discover,aux mode,airplay,tv,hdmi1</code> &nbsp;&nbsp;-&nbsp;&nbsp; select a local source</li><br>
         <li><code><b>addDLNAServer</b> Name1 [Name2] [Namex]</code> &nbsp;&nbsp;-&nbsp;&nbsp; add DLNA servers Name1 (and Name2 to Namex) to the BOSE library</li>
         <li><code><b>removeDLNAServer</b> Name1 [Name2] [Namex]</code> &nbsp;&nbsp;-&nbsp;&nbsp; remove DLNA servers Name1 (and Name2 to Namex) to the BOSE library</li>
       </ul><br>