Hauptmenü

Neueste Beiträge

#41
Multimedia / Aw: Modul für Denon (Marantz) ...
Letzter Beitrag von vneise - 19 Januar 2026, 11:38:33
Zitat von: Shadow3561 am 18 Januar 2026, 18:50:54Moin,
probiere mal die Version im Anhang. Bei mir klappt das mit dem DeviceInfo.

Mit freundlichen Grüßen

Beim Auslesen der deviceinfo tritt soweit kein Fehler mehr auf.

toggle ist in meiner Umgebung (Denon X1500H) jedoch immer noch fehlerhaft, da auf das Reading "state" mit den Werten disconnected|opened zugegriffen wird.

Mit dem Reading "stateAV" (Werte absend|off|on) funktioniert es prinzipiell, da toggle nur sinnvoll ist, wenn der AVR sowieso "nicht absent" ist. Alternativ wäre "power" eine Option.

Ich habe noch ein toggle für eine Zone aufgenommen, beispielsweise mit "set DenonAVR toggle zoneMain;"

Hier meine wesentlichen Änderungen zur Version # $Id: 70_DENON_AVR.pm 25787 2024-03-31 13:00:00Z Shadow3561 $


um Zeile 2911:

< my $newPowerState = DENON_GetValue('SWITCH', ReadingsVal( $name, "state", "on"));
< return DENON_AVR_Command_SetPower($hash, $newPowerState);
---
> my $reading = defined($a[2]) ? $a[2] : "stateAV";
> my $newPowerState = DENON_GetValue('SWITCH', ReadingsVal( $name, $reading, "on"));
> Log3 $name, 4, "jG982A DENON_AVR_SET - toggle reading: $reading / new-value: $newPowerState";
> if ($reading eq "stateAV") {
> return DENON_AVR_Command_SetPower($hash, $newPowerState);
> }
> else {
> return DENON_AVR_Command_SetPowerZone($hash, $newPowerState,$reading);
> }


neue Sub:

sub DENON_AVR_Command_SetPowerZone($$$) {
    my ($hash, $power, $zone) = @_;
    my $name = $hash->{NAME};

my %map = ( "zoneMain" => "ZM", "zone2" => "Z2", "zone3" => "Z3", "zone4" => "Z4" );
my $readingName = ($zone ne "") ? $zone : "undefined";
my $internalName = $map{$readingName} if exists $map{$readingName};

# Zone poweron/of
if ( ($internalName !~ /^Z([M2-4])/) ) {
Log3 $name, 1, "DENON_AVR_Command_SetPower - SetPower unbekannte zone: $zone";
return undef;

}
my $msg=$internalName.uc($power); # ON|OFF
my $event=$zone;
my $value=lc($power);

Log3 $name, 5, "DENON_AVR_Command_SetPower, msg: $msg, event: $event, value: $value";

DENON_AVR_Write($hash, $msg, $event);

readingsBulkUpdate($hash, $readingName, $value);
readingsBulkUpdate($hash, "stateAV", DENON_AVR_GetStateAV($hash));
readingsEndUpdate($hash, 1);

return undef;

}


vg
#42
Multimedia / Aw: [Neues Modul] BOSE SoundTo...
Letzter Beitrag von Prof. Dr. Peter Henning - 19 Januar 2026, 11:16:02
Sicher. Allerdings müsste man dann erstmal verstehen, wo diese Aufrufe überall auftauchen.

Heute morgen zickt der Server wieder herum, ein "GET /marge/streaming/account/6080831/full" liefert einen Error 400 - bad request.
Gestern gab es eine schöne XML-Datei zurück ...

Ich habe das mal hier zusammengefasst: https://github.com/deborahgu/soundcork/discussions/110

Der Server läuft jetzt auch als Service. Dazu musste ich als service description setzen
[Unit]
Description=Gunicorn Daemon for Soundcork
After=network.target

[Service]
User=soundcork
WorkingDirectory=/home/soundcork/soundcork/soundcork
ExecStart=/home/soundcork/soundcork/.venv/bin/gunicorn -c gunicorn_conf.py main:app


[Install]
WantedBy=multi-user.target



LG

pah
#43
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von TheTrumpeter - 19 Januar 2026, 09:12:46
Zitat von: 300P am 19 Januar 2026, 08:36:53Dadurch werden von der internen Steuerungslogik der WP bereits gedämpfte Temperaturen (bei mir je nach Heizkreis möglich) zur Eigensteuerung berechnet.
Genau, ist bei mir auch so.

Die Frage ist, ob es besser ist diese gedämpfte Temperatur für SolarForcast zu "registrieren" oder doch eher die ungefilterte Außentemperatur?

Die WP steuert ja mit der gedämpften Temperatur, d.h. wenn die KI Zusammenhänge lernen will, wäre das die erste Wahl.
Andererseits ist die Leistung der Wärmepumpe von der aktuellen Außentemperatur und nicht der gedämpften abhängig, d.h. wenn es um den tatsächlich erzeugten Wärmebedarf geht, so ist die ungefilterte Temperatur spannend.
#44
MAX / Aw: Neue Beta Test Runde für a...
Letzter Beitrag von RappaSan - 19 Januar 2026, 09:09:12
OK, das wußte ich (noch) nicht.
Ich hab hier Roborock Saugroboter mittels XiaomiDevice Modul im Einsatz, dort funktioniert die Namensauflösung allerdings.

Nachtrag: Ich habe dnsutils per apt installiert, seitdem funktioniert es auch bei den MAX Modulen mit DNS-Namen als Adresse.
#45
Multimedia / Aw: Modul für Denon (Marantz) ...
Letzter Beitrag von olwaldi - 19 Januar 2026, 08:43:26
Danke für den Hinweis - aber ich brauche (an anderer Stelle), daß state auf on steht (zur Not könnte ich aber auch stateAV nutzen).
Im Prinzip ist mit mittlerweile auch klar, daß während der Initialisierung Attriute u.U. noch nicht verfügbar sind, d.h. man muß das in DENON_AVR_Notify tun (so wie Du im DENON_AVR_DoInit).

Aber was sollen die Routinen DENON_AVR_RequestDeviceinfo oder DENON_AVR_RequestProductTypeName überhaupt bewirken? Wenn ich den Code richtig verstanden habe, soll "nur" zwischen Denon und Marantz unterschieden werden, um genau einen(!) Funktionsunterschied bei smartselect (nur Marantz) automatisiert zu unterstützen.

Obendrein sind beide Funktionen so "verbandelt", daß DENON_AVR_RequestDeviceinfo im Fehlerfall automatisch als Fallback DENON_AVR_RequestProductTypeName aufruft, d.h. man "soll" vermutlich gar nicht beide Funktionen direkt aufrufen, nur die erste.

Vermutlich gibt es beide Funktionen, da ältere Denon-AVRs nur einen der beiden dahinter steckenden URLs kennen (http://$hash->{IP}:$port/goform/Deviceinfo.xml oder http://$hash->{IP}/ajax/get_config?type=25). Funktional erscheint mir der ajax-Aufruf besser. da nur die gewünschte Information abgeholt wird. Der goform-Aufruf liefert bei mir 64kB an XML, die speicherhungrig geparset werden.

[Abenteuerliche NB: Die erste URL kann ich problemlos via curl aufrufen, die zweite mit ajax liefert Nonsense via curl, funktioniert aber tadellos in Firefox).]

Ich überlege also noch, was ich tun werde. U.U. schreibe ich das ganze DevIo-Handling in 70_DENON_AVR um (damit z.B. die RS232-Unterstützung stabil tut).

Grüßle, Michael
#46
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 19 Januar 2026, 08:36:53
Zitat von: TheTrumpeter am 19 Januar 2026, 07:08:03Meine Wärmepumpe, vmtl. auch viele weitere Modelle, "arbeiten" für die Heizbedarfsberechnung nicht mit der Außentemperatur, sondern mit dem Durchschnitt der letzten x Stunden. x sollte dabei auf die Charakteristik des Hauses abgestimmt sein: wenig Speichermasse => geringe Dämpfung, große Speichermasse => große Dämpfung.

Bei den aktuellen Modellen ist / sollte diese Charakteristik des Hauses in den Werten zur Temperaturführung so einberechnet / enthalten sein.
->> Die Charakteristik des Hauses wird in der Steuerung der WP bei der Installierung hinterlegt / dort abgeändert.
Meist sind dies 3 oder 4 einstellbare "Punkte".
Dadurch werden von der internen Steuerungslogik der WP bereits gedämpfte Temperaturen (bei mir je nach Heizkreis möglich) zur Eigensteuerung berechnet.
Die gedämpften Aussemtemperaturwerte je Heizkreis sind bei mir gleich - sind ja im gleichen Gebäude.

Hier zwei Grafiken als Anlage bei mir:
1 x Aussentemperatur 24 h
1 x gedämpfte Aussentemperatur 24 h



#47
FHEM Code changes / Revision 30753: controls_fhem....
Letzter Beitrag von System - 19 Januar 2026, 08:00:28
Revision 30753: controls_fhem.txt: fhemupdate checkin

controls_fhem.txt: fhemupdate checkin

Source: Revision 30753: controls_fhem.txt: fhemupdate checkin
#48
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von TheTrumpeter - 19 Januar 2026, 07:32:17
Zitat von: DS_Starter am 18 Januar 2026, 18:17:55Mit der kommenden Version wird beim Consumertyp "heatpump" der Schlüssel swstate Pflicht. Dadurch kann ich der KI explizit die Laufzeit der WP mitteilen was ich für die weiteren Semantiken benötige.
Wenn man, wie du es getan hast, nur in dem heatpump-Consumer die Schaltzeiten für Wärmeerzeugung erfasst und die anderen Zweige für WW und Heizstab nicht als Consumertyp "heatpump" definiert, dann fallen diese Zeiten in der expliziten Betrachtung des Heizverhaltens (oder Kühlverhaltens) in den vorgesehenen Semantiken heraus.
Also ich denke das wird die KI verstehen.
Genau so habe ich das auch von Anfang an umgesetzt, damit die Solarprognose die WW-Bereitung steuern kann.

Was ist künftig mit der Kühlung über die Wärmepumpe? Auch die habe ich in einem separaten Gerät abgebildet. Zum Einen, weil die Leistungsaufnahme im Kühlbetrieb höher ist, und zum Anderen um der Prognose die Chance zu geben die Abhängigkeiten richtig zu lernen.
Allerdings - und das ist der große Unterschied zum Heizen - ist der Kühlbetrieb da auch "ein", wenn der Verdichter nicht läuft:
Im Kühlbetrieb wird permanent das Wasser durch die Kühlkreise gepumpt, der Verdichter schaltet zyklisch ein, um es abzukühlen. Ein/Aus über "swstate" zu erkennen, wäre dann eher kontraproduktiv, weil das die Info zum Stromverbrauch ad absurdum führt. Hierfür wäre dann doch die Schwelle des Energiebedarfs sinnvoll, von mir aus auch eine Kombination aus beidem?
#49
Solaranlagen / Aw: [36_Senec.pm] FHEM module ...
Letzter Beitrag von HGButte - 19 Januar 2026, 07:22:59
V2.21.1

Changelog:
  - Token handling fixed when Internet connection is lost.


Nach einem Firmware Update meiner Fritzbox musste ich feststellen dass sich die Verbindung zur Senec API nicht wieder gefangen hat.
Jetzt funktioniert es aber. Ich hoffe mal dass der Token Refresh nach 30 Tagen auch spielt.
Durch mein Basteln am Modul ist es noch nie 30 Tage am Stück gelaufen.
#50
Sprachsteuerung / Aw: [37_echodevice] Amazon Ech...
Letzter Beitrag von mthome - 19 Januar 2026, 07:11:31
Zitat von: cs-online am 16 Januar 2026, 17:23:37ich bekomme seit kurzem immer viele dieser Logeinträge:
HttpUtils_Connect2NonblockingSSL: connection handle in Echos was replaced, terminating connection
Das ist bei mir auch so. Ich habe zwei Installationen . Bei einer sehe ich die Einträge verhältnismäßig oft - bei der anderen nur gelegentlich.
Ich habe auch das echodevice im Verdacht - kann es aber nicht nachvollziehen.

VG,
mthome