48_HomeConnect.pm neue Überarbeitung

Begonnen von Adimarantis, 24 Dezember 2024, 00:02:52

Vorheriges Thema - Nächstes Thema

DerTom71

Kühlschrank / Unten die Readings für open > alarm > closed => funktioniert  ;D

Kleine Unschönheit:
Im state1 ist '°C' doppelt
Im state2 steht 0 °C (Woher kommt den die 0 ?)

READINGS:
     2025-01-07 09:31:04   Event.DoorAlarmRefrigerator Off
     2025-01-07 18:38:52   Setting.Door.AssistantForceFridge LowForce
     2025-01-07 18:38:52   Setting.Door.AssistantFridge On
     2025-01-07 18:38:52   Setting.PowerState On
     2025-01-07 18:38:52   Setting.SetpointTemperatureRefrigerator 5 °C
     2025-01-07 18:38:52   Setting.SuperModeRefrigerator Off
     2025-01-07 18:40:57   Status.Door.Refrigerator Open
     2025-01-07 18:40:57   Status.DoorState Open
     2025-01-07 09:31:04   alarmCount      0
     2025-01-07 09:31:04   alarms         
     2025-01-07 18:29:04   lastErr         ok
     2025-01-07 18:40:57   state           open
     2025-01-07 18:40:57   state1          5 °C °C
     2025-01-07 18:40:57   state2          0 °C °C

READINGS:
     2025-01-07 18:42:52   Event.DoorAlarmRefrigerator Present
     2025-01-07 18:38:52   Setting.Door.AssistantForceFridge LowForce
     2025-01-07 18:38:52   Setting.Door.AssistantFridge On
     2025-01-07 18:38:52   Setting.PowerState On
     2025-01-07 18:38:52   Setting.SetpointTemperatureRefrigerator 5 °C
     2025-01-07 18:38:52   Setting.SuperModeRefrigerator Off
     2025-01-07 18:40:57   Status.Door.Refrigerator Open
     2025-01-07 18:40:57   Status.DoorState Open
     2025-01-07 18:42:52   alarmCount      1
     2025-01-07 18:42:52   alarms          DoorAlarmRefrigerator
     2025-01-07 18:29:04   lastErr         ok
     2025-01-07 18:42:52   state           alarm
     2025-01-07 18:42:52   state1          5 °C °C
     2025-01-07 18:42:52   state2          0 °C °C

READINGS:
     2025-01-07 18:43:22   Event.DoorAlarmRefrigerator Off
     2025-01-07 18:38:52   Setting.Door.AssistantForceFridge LowForce
     2025-01-07 18:38:52   Setting.Door.AssistantFridge On
     2025-01-07 18:38:52   Setting.PowerState On
     2025-01-07 18:38:52   Setting.SetpointTemperatureRefrigerator 5 °C
     2025-01-07 18:38:52   Setting.SuperModeRefrigerator Off
     2025-01-07 18:43:22   Status.Door.Refrigerator Closed
     2025-01-07 18:43:22   Status.DoorState Closed
     2025-01-07 18:43:22   alarmCount      0
     2025-01-07 18:43:22   alarms         
     2025-01-07 18:29:04   lastErr         ok
     2025-01-07 18:43:22   state           closed
     2025-01-07 18:43:22   state1          5 °C °C
     2025-01-07 18:43:22   state2          0 °C °C

Shadow3561

#91
Zitat von: Adimarantis am 07 Januar 2025, 18:35:03Folgende Liste ist sowieso schon im Modul hinterlegt - entspricht das dem was dein Gerät kann?
Wenn du die Liste aus dem Modul von pah hast, dann sind alle Programme, die mein Waschtrockner kann, drin.

Ich habe jetzt auch mal ein wenig dienSimulator bemüht. Die Programme werden auch dort nicht geladen. Es kommt nur ein [] zurück. Dann muss ich wohl damit leben bis BSH mal etwas erweitert.

MfG


isy

#92
Zitat von: Adimarantis am 07 Januar 2025, 17:02:33
Zitat von: isy am 07 Januar 2025, 10:47:45Sehen wir Anwender die Änderungen vom Post oben irgendwo in FHEM?
Bisher nicht. Ich habe gerade noch eine Version eingecheckt, die den gesetzen Scope in ein internal Reading schreibt.
Nachdem bei dir jetzt was verschwunden ist, weiss ich auch nicht, ob ich nicht übers Ziel hinausgeschossen bin. die Items mit Bindestrich sollten nicht nötig sein (aber auch nicht schaden). Ich hab das jetzt wieder vereinfacht (also nur noch "Dryer" und nicht zusätzlich "Dryer-*")
Vielleicht bringt das dein "FastPreHeat" zurück?

Ich sehe keine Änderungen mit der aktuell Version (eben um 2025.01.07 23:17:46 eingespielt und Ofen ein- und ausgeschaltet).
Nach dem Load des Moduls und einem shutdown/restart wird die Temperatur wieder korrekt mit 20 Grad angezeigt.


Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Zitat von: isy am 07 Januar 2025, 23:25:30Ich sehe keine Änderungen mit der aktuell Version (eben um 2025.01.07 23:17:46 eingespielt und Ofen ein- und ausgeschaltet).
Nach dem Load des Moduls und einem shutdown/restart wird die Temperatur wieder korrekt mit 20 Grad angezeigt.
GetProgramOptions liefert weiter eine leere Liste. Sehr mystisch, insbesondere da die "Original" Einstellungen den "Oven" gar nicht drin hatten.
Jetzt wo du die Liste im internal Reading von HomeConnectConnection sehen kannst, probier doch mal die Liste ins Attribut zu kopieren und alles mit "Oven" wieder rauszulöschen - vielleicht bringt das was zurück.
Wenn das hilft, ist aber das Rechte System von denen echt kaputt.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Aktuelles update:
- Kühlschrank: Doppelte °C sollten weg sein, zweite Temperaturzeile entfernt wenn nur Kühlschrank (FridgeFreezer hat zwei)
- Waschtrocker: Wenn die Programmliste leer ist, wird der "hardcoded" default übernommen. Zum Testen bitte sicherstellen, dass die internal readings ".programs" und "programs" leer sind. Bitte logfile und "list -r" vom device
- Kochfeld (und ggf. andere): Wenn der Anwender das Gerät bedient wird jetzt auf ein LocalHandling=Off Event gewartet. Das sollte kommen, wenn der Anwender fertig ist, Tasten am Gerät zu drücken. Ich weiss aber nicht wie schnell das passiert - eventuell kommt das verzögert. Wenn das Event kommt wird automatisch ein GetStatus aufgerufen, so das entsprechende Readings aktualisiert werden sollten.
- Logging: HaId mit Bindestrich drin, werden jetzt auch entfernt
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

Zitat von: Adimarantis am 08 Januar 2025, 07:57:46
Zitat von: isy am 07 Januar 2025, 23:25:30Ich sehe keine Änderungen mit der aktuell Version (eben um 2025.01.07 23:17:46 eingespielt und Ofen ein- und ausgeschaltet).
Nach dem Load des Moduls und einem shutdown/restart wird die Temperatur wieder korrekt mit 20 Grad angezeigt.
GetProgramOptions liefert weiter eine leere Liste. Sehr mystisch, insbesondere da die "Original" Einstellungen den "Oven" gar nicht drin hatten.
Jetzt wo du die Liste im internal Reading von HomeConnectConnection sehen kannst, probier doch mal die Liste ins Attribut zu kopieren und alles mit "Oven" wieder rauszulöschen - vielleicht bringt das was zurück.
Wenn das hilft, ist aber das Rechte System von denen echt kaputt.

Moin Adimarantis,
gerade die aktuell Version geladen.
Temp war 49 Grad (falsch, Ofen hatte 20), nach dem Start des Ofens zeigt FHEM jetzt 44 Grad an, der Wert ist aber auch falsch, Ofen zeigt 75 Grad. Also Bewegung ist vorhanden......

Uhrzeit war 11.26 (für Log). Es wurde kein Programm (Heißluft 3D war aktiviert) angezeigt, daher FM:
2025.01.08 11:26:41 1: [HomeConnect_HandleError] HB772G1B1: Error "There is no program selected"

Ich habe jetzt den Ofen nochmals angeschaltet, jetzt mit Ober/Unterhitze. Ausgeschaltet um 11.37 Uhr.
Programm wird angezeigt, Options holen ohne FM im Log.

Mit dem Internal Reading im HomeConnectConnection habe ich u.U. Verständnisprobleme.
Die Liste wird nicht angezeigt.
Muss ich beim list einen besonderen Parameter eingeben?

VG Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Also wenn du folgende Schritte korrekt durchlaufen hast:
- HomeConnectConnection.pm aktualisiert (inkl. reload oder shutdown restart)
- logout
- Neues login
Solltest du unter Internals folgendes Reading finden:
accessScope
IdentifyAppliance Monitor Settings Control Oven Dishwasher Washer Dryer WasherDryer Refrigerator Freezer FridgeFreezer-Control FridgeFreezer-Monitor FridgeFreezer-Settings WineCooler CoffeeMaker Hob Hood CleaningRobot CookProcessor

Wegen Fehlermeldung: Anscheinend setzt der Ofen ActiveProgram nicht zuverlässig. Ich teste jetzt mal zusätzlich auf OperationState=Run - das sollte zumindest in dem von dir geloggten Fehlerfall helfen.

Mit deinen Temperaturen: Wie gesagt, spiel gerne noch mit den Permissions (wenn das wie oben geschrieben klappt) aber da mache ich mir eigentlich keine großen Hoffnungen. Das scheint einfach auf API-Seite kaputt zu sein.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

Top, das hat funktioniert, die Readings sind exakt so vorhanden.
Die HC Seite sieht nach dem Login vollkommen anders aus, als letzte Woche.

Übernahme der Liste ins Attribut ohne "Oven" geht auch, anschließend Restart FHEM.
Alles wieder zurück.
In Gänze keine Änderung in der Temperaturanzeige. OK, dann ist dass eben so.

Neu: Nach Start des Ofens wird der Status (inkl. der Temperatur) sofort im FHEM Frontend angezeigt, also ohne manuellen Trigger.
Super.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Zitat von: isy am 08 Januar 2025, 12:56:35Übernahme der Liste ins Attribut ohne "Oven" geht auch, anschließend Restart FHEM.
Alles wieder zurück.
Vorsicht: Das Reading wird genau einmal: Beim "Login" aktualisiert. Wenn es nach Neustart wieder zurück ist, dann nur weil du kein "Save config" gemacht hast. Die Verbindung mit Home Connect basiert weiter auf den Parametern des letzten Login - wofür ich keinen Weg kenne es abzufragen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

OK, ja, save config hatte ich vergessen.
Das Ganze wiederholt, ändert aber nichts.
Access Scope bleibt aber jetzt erhalten.

By the way - meine Spülmaschine läuft perfekt, super Entwicklung Log anbei.
Mal sehen, ob es irgendwann Meldungen gibt bzgl. Mangel an Salz oder Klarspüler.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Zitat von: isy am 08 Januar 2025, 15:27:38Das Ganze wiederholt, ändert aber nichts.

Wir hatten doch den mystischen Effekt beim Ofen, dass FastPreHeat als selektierbare Programmoption veschwunden ist.
Zumindest im Logfile vom 6.1. lieferte GetProgramOptions für "HotAir" noch SetpointTemperature und FastPreHeat als setzbare Optionen - seit dem 7.1. ist die Antwort leer obwohl ich keinen Unterschied im Request sehen kann.
Das wäre der Punkt den du mit verschiedenen accessScope testen könntest.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Stonemuc

Habe jetzt mal die neue HC von hier installiert....bis auf den Cookit geben eigentlich alle Geräte sinnvolle readings aus.

Internals:
   CFGFN     
   DEF        hcconn 710110514461014727
   FUUID      677f7a64-f33f-37e6-16bf-abe08e97b36365f5
   NAME       MCC9555DWC
   NR         682
   NTFY_ORDER 50-MCC9555DWC
   STATE      state1 (state2)
   TYPE       HomeConnect
   aliasname  Cookit
   brand      Bosch
   eventCount 8
   events     
   haId       710110514461014727
   hcconn     hcconn
   prefix     
   programs   
   settings   PowerState
   type       CookProcessor
   vib        MCC9555DWC
   READINGS:
     2025-01-09 08:28:47   BSH.Common.Setting.PowerState Standby
     2025-01-09 08:34:52   BSH.Common.Status.OperationState Inactive
     2025-01-09 08:34:46   lastErr         No programs found
   data:
     settings:
       PowerState:
         name       BSH.Common.Setting.PowerState
         type       BSH.Common.EnumType.PowerState
         value      Standby
     status:
       OperationState:
         name       BSH.Common.Status.OperationState
         type       BSH.Common.EnumType.OperationState
         value      Inactive
   helper:
     eventChannelTimeout 1736408902.68891
     init       status_done
     init_count 4
     retrycounter 0
     total_count 10
     updatePO   0
Attributes:
   alias      Cookit
   icon       scene_cooking
   room       Home Connect
   stateFormat state1 (state2)
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Adimarantis

Zitat von: Stonemuc am 09 Januar 2025, 09:06:34Habe jetzt mal die neue HC von hier installiert....bis auf den Cookit geben eigentlich alle Geräte sinnvolle readings aus.
In der API Doku steht:
ZitatCook Processor
Program support is currently not planned to be released. Selected and active program can be already requested.

Wär also höchstens mal interessant das Logfile zu aktivieren und mitzuprotkollieren was passiert, wenn du das Gerät verwendest.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

Zitat von: Adimarantis am 08 Januar 2025, 16:10:41
Zitat von: isy am 08 Januar 2025, 15:27:38Das Ganze wiederholt, ändert aber nichts.

Wir hatten doch den mystischen Effekt beim Ofen, dass FastPreHeat als selektierbare Programmoption veschwunden ist.
Zumindest im Logfile vom 6.1. lieferte GetProgramOptions für "HotAir" noch SetpointTemperature und FastPreHeat als setzbare Optionen - seit dem 7.1. ist die Antwort leer obwohl ich keinen Unterschied im Request sehen kann.
Das wäre der Punkt den du mit verschiedenen accessScope testen könntest.

Moin,
Das stimmt. In den Readings werden diese setzbaren Optionen angezeigt, aber im Drop Down Menü unter "set" gibt es nur die drei Alarm Settings, Childlock und Power. Diese Settings funktionieren.

Bei manuellem set HB772G1B1 Option.FastPreHeat On wird eine Zeile ins Fhem Log geschrieben, aber der Wert im Readings ändert sich nicht.
2025.01.09 09:31:14 3: [HomeConnect] HB772G1B1: set command: Option.FastPreHeat

Bei jedem Einschalten des Backofens werden diese 2 Zeilen ins Fhem Log geschrieben:
2025.01.09 09:30:38 1: [HomeConnect_HandleError] HB772G1B1: Error "There is no program active"
2025.01.09 09:30:48 1: [HomeConnect_HandleError] HB772G1B1: Error "There is no program active
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Das Holen und Verwalten von Programmoptionen ist leider etwas tricky.
Es gibt 3 verschiedene API Calls die sich teilweise überschneiden, oder eben auch nicht.
Desweiteren ist die Verwendung von Options und Settings nicht wirklich konsistent.
Ich gehe jetzt mal davon aus, dass "Common" Options NICHT gesetzt werden können, sondern nur Informationen sind, dagegen die gerätespezifischen Options gesetzt werden können (und m.E. daher eher Settings genannt werden sollten).
Ich merke mir jetzt auch einige Infos die nicht in jedem Call kommen an zentraler Stelle.
Desweiteren muss man aufpassen in welchem Modus (active, selected, available) man abfragt. Ich hoffe das ist jetzt auch besser und "There is no program active" kommt nicht mehr.
Bei "set option"  Befehlen werden Readings jetzt "auf Verdacht" aktualisiert und im Fehlerfall der Status erneut abgefragt, damit es ggf. wieder auf den korrekten Wert zurückfällt.
Grundsätzlich ist es möglich, dass anfangs Optionen angeboten werden, die nicht funktionieren. Hier "lernt" das Modul, indem es im Fehlerfall das Attribut "excludeSettings" mit invaliden Optionen/Settings belegt, wodurch die Liste schnell auf Dinge reduziert wird, die für das spezifische Gerät wirklich funktionieren.


Langer Rede: Die Logik für Abfrage und Speicherung von Programmoptionen wurde nochmal etwas überarbeitet. Bei meinen 3 Geräten schauts vernünftig aus, aber da heisst ja leider nicht unbedingt dass es überall und immer funktioniert.

Ich versuche jetzt übrigens auch eine Modulversion zu pflegen. Die aktuelle hat V1.7 und diese landet regelmäßig an zentraler Stelle im Logfile.
2025.01.09 16:11:57 [HomeConnect_CheckState] V1.7 from s:idle d:Closed o:Ready
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)