HomeConnectLocal – Home-Connect-Geräte lokal und ohne Cloud in FHEM steuern

Begonnen von Shadow3561, 25 September 2026, 14:34:30

Vorheriges Thema - Nächstes Thema

Shadow3561

Danke für den Hinweis. Bei mir läuft noch alles ganz altmodisch mit ipv4 daher habe ich mir garnicht weiter Gedanken darum gemacht.
Gruss

Shadow3561

Zitat von: JudgeDredd am 06 Oktober 2026, 14:23:57
Zitat von: Shadow3561 am 25 September 2026, 14:34:30Feedback, Logs von weiteren Gerätetypen und Tests sind willkommen.
Hallo Shadow3561,
erstmal Danke für Deine Arbeit und das Modul.

Ich besitze 2 HomeConnect-Geräte und nutze FHEM eigentlich nur zur Überwachung und weniger zur Steuerung dieser.
  • Dishwasher
    aktueller Status des laufenden Programms
  • FridgeFreezer
    Überwachung, wenn die Türen zu lange geöffnet sind

Das Device des Geschirrspülers (deviceType=Dishwasher) kommt, wie vorgesehen, mit allen möglichen SET Befehlen
Das Device des Kühlschranks (deviceType=FridgeFreezer") erzeugt einige Readings (Tür auf/zu ist dabei).
SET-Befehle für die Steuerung (auch wenn ich das nicht brauche) werden keine generiert.

Vielleicht hast Du ja Interesse und Andere freuen sich darüber den deviceType FridgeFreezer vollständig zu integrieren.
Ich habe Dir mal die beiden XML Dateien angehängt.

Gruß,
JudgeDredd

Moin,

ich habe gerade erfolgreich FQDN und IPv6 in HomeConnectLocal integriert, die neue Version aber noch nicht auf GitHub hochgeladen.

Bevor ich das mache, möchte ich gerne noch ein paar Dinge über deinen Kühlschrank wissen:

1* Welche Verbindungsart zeigt FHEM unter ConnectionType an (AES oder TLS)?
2* Was steht beim Kühlschrank im Internal LastSetList?
3* Lässt sich die Kühlschranktemperatur über die Home-Connect-App ändern? In deiner DeviceDescription sind nämlich alle 17 Einstellungen als access="none" und available="false" gekennzeichnet. Schick mir bitte die readings
DescriptionChanges
MandatoryValues
oder ein anonymisiertes list vom device.
4* Werden die Readings des Kühlschranks zuverlässig und zeitnah aktualisiert, beispielsweise beim Öffnen und Schließen der Tür?

Gruss Daniel


JudgeDredd

Servus,
Zitat von: Shadow3561 am 17 Oktober 2026, 10:28:23ich habe gerade erfolgreich FQDN und IPv6 in HomeConnectLocal integriert, die neue Version aber noch nicht auf GitHub hochgeladen.
Dafür schonmal vielen Dank.

  • TLS
  • Internal: LastSetList => connect:noArg disconnect:noArg reloadMapping:noArg
  • Also in der App lässt sich da einiges einstellen. Mir reicht es eigentlich, wenn das Bier kühl ist ;-)
    Aber Ich versuche mal alles aufzulisten:
    • Externes Licht:
      => true/false (Reading: Power)
      => Helligkeit 0% - 100% (Reading: Brightness)
      => Nachleuchten true/false (Reading: AfterGlowEnabled)
      => Nachleucht Zeitraum 10 Min. - 6 Std. (Reading: AfterGlow)
    • Temperatur Kühlfach
      => Temperatur: 2° - 8° (Reading: SetpointTemperature)
      => Superkühlen: true/false (Reading: SuperMode)
    • Temperatur Gefrierfach
      => Temperatur: -16° - -24° (Reading: SetpointTemperature)
      => SuperGefrieren: true/false (Reading: SuperMode)
    • Optionen (nur eine gleichzeitig wählbar):
      => Urlaubs Modus true/false (Reading: VacationMode)
      => Energiesparmodus true/false (Reading: EcoMode)
      => Frische-Modus true/false (Reading: FreshMode)
      => Sabbat-Modus true/false (Reading: SabbathMode)
  • Das passt bestens.
    Der Kühlschrank verfügt über 2 Sensoren (Kühlschranktür / Gefrierschranktür)
    Reading: DoorState => Open/Close (dabei ist es egal welche Tür geöffnet ist)
    Reading: Refrigerator => Open/Close (nur Kühlschranktür)
    Reading: Freezer => Open/Close (nur Gefrierschranktür)

Offensichtlich wird bei den Temperatur-Readings nicht zwischen Kühl- und Gefrierfach unterschieden. Es wird immer die Temperatur von der letzten Einstellungsänderung angezeigt.
Ich hoffe Du kannst mit den Infos was anfangen, ansonsten frag ruhig nach.
Aber nicht das Du wissen willst, wozu man den Kram braucht 😅

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Shadow3561

Schick mir doch bitte noch die runtime-daten
DescriptionChanges
MandatoryValues
oder alternativ ein list vom device.
Hintergrund: Manche Berechtigungen zum schreiben von Daten werden erst zur Laufzeit freigegeben.

Gruss

JudgeDredd

Zitat von: Shadow3561 am 17 Oktober 2026, 12:34:19Schick mir doch bitte noch die runtime-daten
Das einzige was ich damit in Verbindung bringe ist:
RuntimeEffectiveOptions 0
RuntimeEffectivePrograms 0
RuntimeMetaCount 38
RuntimeMetaLastItems 38
RuntimeMetaRevision 1
MappingDeviceFile /opt/fhem/FHEM/FHEM_HomeConnectLocal/505090394546001809_DeviceDescription.xml
last_resource   /ro/descriptionChange
Wenn das nicht ausreicht, dann bekommst Du das List. Ist aber so groß, das ich es dann besser als TXT-Anhang poste.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Shadow3561

Ok,
das hätte ich wohl besser erklären können da die benötigten readings standartmässig ausgeblendet sind.

Mach bitte
set Device showRawReadings 1danach einen
set device connectdanach sollten neue readings auftauchen. ich benötige dann descriptionChangesund mandatoryValues
Gruss

JudgeDredd

Zitat von: Shadow3561 am 17 Oktober 2026, 13:07:16set Device showRawReadings 1
Was soll das sein ? Weder der Kühlschrank noch der Geschirrspüler hat einen solchen SET-Befehl 🤔
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

JudgeDredd

ok, war ein Attribut (verwende ich nicht sooft).
descriptionChanges:
{
    "data": [
        {
            "access": "WRITEONLY",
            "uid": 576,
            "available": true,
            "parentUID": 0
        },
        {
            "parentUID": 0,
            "available": true,
            "uid": 594
        },
        {
            "available": true,
            "parentUID": 0,
            "uid": 575
        },
        {
            "uid": 553,
            "available": true,
            "parentUID": 0,
            "access": "WRITEONLY"
        },
        {
            "access": "WRITEONLY",
            "available": true,
            "parentUID": 0,
            "uid": 554
        },
        {
            "access": "WRITEONLY",
            "parentUID": 0,
            "available": true,
            "uid": 1
        },
        {
            "access": "WRITEONLY",
            "uid": 560,
            "parentUID": 0,
            "available": true
        },
        {
            "parentUID": 0,
            "available": true,
            "uid": 3,
            "access": "READWRITE"
        },
        {
            "uid": 520,
            "parentUID": 259,
            "access": "READ"
        },
        {
            "access": "READWRITE",
            "uid": 524,
            "available": true,
            "parentUID": 0
        },
        {
            "access": "READ",
            "parentUID": 0,
            "available": true,
            "max": 2,
            "min": 1,
            "uid": 539
        },
        {
            "uid": 26,
            "parentUID": 259,
            "available": true
        },
        {
            "access": "READ",
            "parentUID": 0,
            "available": true,
            "uid": 5
        },
        {
            "access": "READ",
            "uid": 557,
            "available": true,
            "parentUID": 0
        },
        {
            "parentUID": 0,
            "available": true,
            "uid": 527,
            "access": "READ"
        },
        {
            "available": true,
            "parentUID": 0,
            "uid": 592
        },
        {
            "parentUID": 0,
            "available": true,
            "uid": 27,
            "access": "READ"
        },
        {
            "access": "READWRITE",
            "available": true,
            "parentUID": 0,
            "max": 1,
            "uid": 4211,
            "min": 1
        },
        {
            "access": "READWRITE",
            "available": true,
            "parentUID": 0,
            "uid": 8224
        },
        {
            "stepSize": 1,
            "min": -24,
            "uid": 8198,
            "max": -16,
            "parentUID": 0,
            "available": true,
            "access": "READWRITE"
        },
        {
            "uid": 8229,
            "parentUID": 0,
            "access": "READWRITE"
        },
        {
            "access": "READWRITE",
            "parentUID": 0,
            "available": true,
            "uid": 8208
        },
        {
            "access": "READWRITE",
            "uid": 8228,
            "available": true,
            "parentUID": 0
        },
        {
            "parentUID": 0,
            "available": true,
            "access": "READWRITE",
            "min": 600,
            "stepSize": 60,
            "uid": 20500,
            "max": 21600
        },
        {
            "access": "READWRITE",
            "uid": 20509,
            "available": true,
            "parentUID": 0
        },
        {
            "max": 100,
            "stepSize": 1,
            "uid": 20498,
            "min": 0,
            "access": "READWRITE",
            "available": true,
            "parentUID": 0
        },
        {
            "access": "READWRITE",
            "available": true,
            "parentUID": 0,
            "uid": 20497
        },
        {
            "uid": 20482,
            "stepSize": 1,
            "min": 0,
            "max": 100,
            "parentUID": 0,
            "available": true,
            "access": "READWRITE"
        },
        {
            "access": "READWRITE",
            "parentUID": 0,
            "available": true,
            "uid": 20483
        },
        {
            "uid": 20481,
            "parentUID": 0,
            "available": true,
            "access": "READWRITE"
        },
        {
            "uid": 20513,
            "parentUID": 0,
            "available": true,
            "access": "READWRITE"
        },
        {
            "max": 8,
            "stepSize": 1,
            "uid": 8199,
            "min": 2,
            "access": "READWRITE",
            "available": true,
            "parentUID": 0
        },
        {
            "access": "READWRITE",
            "uid": 8230,
            "parentUID": 0
        },
        {
            "uid": 8209,
            "available": true,
            "parentUID": 0,
            "access": "READWRITE"
        },
        {
            "access": "READWRITE",
            "uid": 8226,
            "available": true,
            "parentUID": 0
        },
        {
            "access": "READWRITE",
            "available": true,
            "parentUID": 0,
            "uid": 8225
        },
        {
            "access": "READ",
            "available": true,
            "parentUID": 0,
            "uid": 4096
        },
        {
            "available": true,
            "parentUID": 0,
            "uid": 4097,
            "access": "READ"
        }
    ],
    "msgID": 240978385,
    "action": "RESPONSE",
    "resource": "/ro/allDescriptionChanges",
    "sID": 1760250729,
    "version": 1
}

mandatoryValues:
{
    "resource": "/ro/allMandatoryValues",
    "action": "RESPONSE",
    "version": 1,
    "sID": 1760250729,
    "data": [
        {
            "uid": 3,
            "value": true
        },
        {
            "value": true,
            "uid": 5
        },
        {
            "uid": 21,
            "value": 0
        },
        {
            "uid": 520,
            "value": "2026-10-17T11:15:22"
        },
        {
            "value": false,
            "uid": 524
        },
        {
            "value": 1,
            "uid": 527
        },
        {
            "uid": 535,
            "value": false
        },
        {
            "value": 2,
            "uid": 539
        },
        {
            "value": true,
            "uid": 547
        },
        {
            "value": 0,
            "uid": 559
        },
        {
            "value": 0,
            "uid": 592
        },
        {
            "uid": 593,
            "value": 0
        },
        {
            "uid": 595,
            "value": 0
        },
        {
            "uid": 598,
            "value": 0
        },
        {
            "uid": 4096,
            "value": 0
        },
        {
            "uid": 4097,
            "value": 0
        },
        {
            "uid": 4211,
            "value": 1
        },
        {
            "uid": 8198,
            "value": -16
        },
        {
            "value": 6,
            "uid": 8199
        },
        {
            "value": false,
            "uid": 8208
        },
        {
            "uid": 8209,
            "value": false
        },
        {
            "value": false,
            "uid": 8224
        },
        {
            "uid": 8225,
            "value": false
        },
        {
            "value": false,
            "uid": 8226
        },
        {
            "uid": 8228,
            "value": false
        },
        {
            "uid": 12288,
            "value": 0
        },
        {
            "value": 0,
            "uid": 12289
        },
        {
            "uid": 12304,
            "value": 0
        },
        {
            "uid": 12368,
            "value": 0
        },
        {
            "uid": 12369,
            "value": 0
        },
        {
            "uid": 12370,
            "value": 0
        },
        {
            "uid": 20481,
            "value": true
        },
        {
            "uid": 20482,
            "value": 100
        },
        {
            "uid": 20483,
            "value": true
        },
        {
            "value": true,
            "uid": 20497
        },
        {
            "value": 100,
            "uid": 20498
        },
        {
            "uid": 20500,
            "value": 600
        },
        {
            "uid": 20509,
            "value": false
        },
        {
            "value": true,
            "uid": 20513
        }
    ],
    "msgID": 240978386
}
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)