48_HomeConnect.pm neue Überarbeitung

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

Vorheriges Thema - Nächstes Thema

Stonemuc

Hier mal ein Logfile vom Cookit...da müsstest du mal anpassen, dass der Programmfortschritt und eventuell der Operation State im Staus stehen...bei mir steht da nur stage1(state2).


2025-01-10_12:38:02 MCC9555DWC Offline
2025-01-10_12:38:03 MCC9555DWC lastErr: Program not supported
2025-01-10_12:38:03 MCC9555DWC lastErr: HomeAppliance is offline
2025-01-10_12:38:03 MCC9555DWC BSH.Common.Status.OperationState: Offline
2025-01-10_12:38:13 MCC9555DWC lastErr: HomeAppliance is offline
2025-01-10_12:38:13 MCC9555DWC BSH.Common.Status.OperationState: Offline
2025-01-10_12:38:14 MCC9555DWC lastErr: HomeAppliance is offline
2025-01-10_12:38:14 MCC9555DWC BSH.Common.Status.OperationState: Offline
2025-01-10_12:38:16 MCC9555DWC lastErr: HomeAppliance is offline
2025-01-10_12:38:16 MCC9555DWC BSH.Common.Status.OperationState: Offline
2025-01-10_12:38:22 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:44:27 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:44:37 MCC9555DWC BSH.Common.Option.ProgramProgress: 48 %
2025-01-10_12:44:37 MCC9555DWC BSH.Common.Option.ProgramProgress: 51 %
2025-01-10_12:45:02 MCC9555DWC BSH.Common.Option.ProgramProgress: 53 %
2025-01-10_12:45:57 MCC9555DWC BSH.Common.Option.ProgramProgress: 56 %
2025-01-10_12:46:02 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:46:07 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:46:12 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:46:17 MCC9555DWC BSH.Common.Option.ProgramProgress: 58 %
2025-01-10_12:46:17 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:46:27 MCC9555DWC BSH.Common.Option.ProgramProgress: 61 %
2025-01-10_12:46:32 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:46:42 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:46:47 MCC9555DWC BSH.Common.Option.ProgramProgress: 64 %
2025-01-10_12:46:47 MCC9555DWC BSH.Common.Option.ProgramProgress: 66 %
2025-01-10_12:47:17 MCC9555DWC BSH.Common.Option.ProgramProgress: 69 %
2025-01-10_12:47:22 MCC9555DWC BSH.Common.Option.ProgramProgress: 71 %
2025-01-10_12:47:22 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:47:37 MCC9555DWC BSH.Common.Option.ProgramProgress: 74 %
2025-01-10_12:47:42 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:50:42 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:50:42 MCC9555DWC BSH.Common.Option.ProgramProgress: 76 %
2025-01-10_12:51:12 MCC9555DWC BSH.Common.Option.ProgramProgress: 79 %
2025-01-10_12:51:17 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:58:23 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:58:28 MCC9555DWC BSH.Common.Option.ProgramProgress: 82 %
2025-01-10_12:58:28 MCC9555DWC BSH.Common.Option.ProgramProgress: 84 %
2025-01-10_12:59:13 MCC9555DWC BSH.Common.Option.ProgramProgress: 87 %
2025-01-10_12:59:13 MCC9555DWC BSH.Common.Option.ProgramProgress: 84 %
2025-01-10_12:59:18 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:59:38 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:59:43 MCC9555DWC BSH.Common.Option.ProgramProgress: 87 %
2025-01-10_12:59:43 MCC9555DWC BSH.Common.Option.ProgramProgress: 89 %
2025-01-10_12:59:43 MCC9555DWC BSH.Common.Status.OperationState: Run
2025-01-10_12:59:43 MCC9555DWC BSH.Common.Option.ProgramProgress: 92 %
2025-01-10_12:59:43 MCC9555DWC BSH.Common.Status.OperationState: ActionRequired
2025-01-10_12:59:48 MCC9555DWC BSH.Common.Option.ProgramProgress: 94 %
2025-01-10_12:59:48 MCC9555DWC BSH.Common.Option.ProgramProgress: 97 %
2025-01-10_12:59:48 MCC9555DWC BSH.Common.Option.ProgramProgress: 100 %
2025-01-10_12:59:53 MCC9555DWC BSH.Common.Event.ProgramFinished: Present
2025-01-10_12:59:53 MCC9555DWC BSH.Common.Event.ProgramFinished: Off
2025-01-10_12:59:53 MCC9555DWC BSH.Common.Setting.ActiveProgram:
2025-01-10_12:59:53 MCC9555DWC BSH.Common.Setting.SelectedProgram:
2025-01-10_12:59:53 MCC9555DWC BSH.Common.Status.OperationState: Ready
2025-01-10_12:59:53 MCC9555DWC BSH.Common.Option.ProgramProgress: 0 %
2025-01-10_13:12:34 MCC9555DWC BSH.Common.Status.OperationState: Inactive
2025-01-10_13:12:34 MCC9555DWC BSH.Common.Setting.PowerState: Standby
2025-01-10_13:13:34 MCC9555DWC BSH.Common.Status.OperationState: Ready
2025-01-10_13:13:34 MCC9555DWC BSH.Common.Setting.PowerState: On
2025-01-10_13:13:34 MCC9555DWC BSH.Common.Setting.ChildLock: On
2025-01-10_13:13:59 MCC9555DWC BSH.Common.Setting.ChildLock: Off
2025-01-10_13:13:59 MCC9555DWC BSH.Common.Status.OperationState: Inactive
2025-01-10_13:13:59 MCC9555DWC BSH.Common.Setting.PowerState: Standby



Außerdem nochmal das List vom Device

Internals:
   DEF        hcconn 710110514461014727
   FUUID      677f7a64-f33f-37e6-16bf-abe08e97b36365f5
   NAME       MCC9555DWC
   NR         676
   NTFY_ORDER 50-MCC9555DWC
   STATE      state1 (state2)
   TYPE       HomeConnect
   aliasname  Cookit
   brand      Bosch
   eventCount 113
   events     
   haId       710110514461014727
   hcconn     hcconn
   options   
   prefix     
   programs   
   settings   PowerState
   type       CookProcessor
   vib        MCC9555DWC
   READINGS:
     2025-01-10 12:59:53   BSH.Common.Event.ProgramFinished Off
     2025-01-10 12:59:53   BSH.Common.Option.ProgramProgress 0 %
     2025-01-10 12:59:53   BSH.Common.Setting.ActiveProgram
     2025-01-10 13:13:59   BSH.Common.Setting.ChildLock Off
     2025-01-10 13:13:59   BSH.Common.Setting.PowerState Standby
     2025-01-10 12:59:53   BSH.Common.Setting.SelectedProgram
     2025-01-10 13:13:59   BSH.Common.Status.OperationState Inactive
     2025-01-10 12:38:16   lastErr         HomeAppliance is offline
     2025-01-10 12:38:02   state           Offline
   data:
     options:
     settings:
       PowerState:
         name       BSH.Common.Setting.PowerState
         type       BSH.Common.EnumType.PowerState
         value      On
         values     On,Off
     status:
       OperationState:
         name       BSH.Common.Status.OperationState
         type       BSH.Common.EnumType.OperationState
         value      Run
   helper:
     ActiveProgram GuidedProgram
     eventChannelTimeout 1736513956.77698
     init       status_done
     init_count 1
     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

Ok, dann muss ich da "Pause" behandeln wie laufendes Programm. Das sollte helfen.
Das FastPreHeat würde theoretisch dann beim "StartProgram" übertragen - aber wir wissen ja, das der Ofen das nicht erlaubt.
Beim "get Status" oder "get Settings" ist FastPreHeat nicht dabei - du solltest am Besten als Test nach dem "set FastPreHeat On" ein "get ProgramOptions" machen - wenn FastPreHeat dann nicht auf den alten Wert zurückspringt, würde ich denke der Ofen hat die Änderung gefressen.
Würde aber auch davon ausgehen, dass der das irgendwo am Gerät anzeigt.
Wenn das Gerät abgeschaltet wird, verbleiben viele Setting im alten Zustand. Auch hier hilft am ehesten "get ProgramOptions" nach dem Einschalten. Wäre zu überlegen das Prinzipiell nach PowerState=On zu machen

Der Status "Autostart" heisst im Prinzip das Gerät ist Bereit (OperationState=Ready) und RemoteControlStartAllowed=On, als es darf von FHEM (oder der App) gesteuert werden.

V1.11: Sollte besser mit Pause umgehen und ich hatte noch ein Problem mit StartProgram, weil er immer noch einige Options in den falschen Topf geschmissen hatte. Vielleicht macht das deine FastPreHeat Setting auch konsistenter. Ich bin da ehrlich gesagt jetzt nicht durch jedes Szenario im Detail durchgestiegen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Zitat von: Stonemuc am 10 Januar 2025, 14:00:33Hier mal ein Logfile vom Cookit...da müsstest du mal anpassen, dass der Programmfortschritt und eventuell der Operation State im Staus stehen...bei mir steht da nur stage1(state2).

Ein großes Problem hier: FHEM hat kaum Infos zu deinem Gerät.
Kannst du mal bitte folgendes machen:

1. Update auf V1.11
2. Setze das Attribut "logfile" - z.B. auf "log/cookit.log" damit die ganze Kommunikation mitgeloggt wird.
3. save config
4. Schalte das Gerät ein (ohne ein Programm zu starten)
5. FHEM restart, es sollte aber auch ein "set <device> init" in der Kommandozeile reichen
6. Jetzt sollten hoffentlich internal readings wie "prefix" und "programs" mit Werten befüllt sein. Wenn du nochmal "save config" machst werden die gespeichert, dann muss das Gerät beim FHEM Start nicht zwingend an sein.
7. Mal ein Programm durchlaufen - eventuell schaut der State jetzt schon besser aus.
8. Das log/cookit.log und ein aktuelles "list" posten - dann sehe ich die ganze Kommunikation zwischen FHEM und Gerät und kann daraus Schlüsse über potentielle Verbesserungen ziehen.

Danke
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Stonemuc

#123
Habe auf V1.11 geupdatet...jetzt sind alle devices verschwunden und kommen auch mit einem set ScanDevices nicht mehr zurück....
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Prof. Dr. Peter Henning

#124
Zitat2025.01.10 14:57:58 0: syntax error at /opt/fhem/FHEM/48_HomeConnect.pm line 653, near "=~ or"
Execution of /opt/fhem/FHEM/48_HomeConnect.pm aborted due to compilation errors.

Da ist einfach ein "$key =~ or " zuviel.

Außerdem in Zeile 1641 eine Klammer "(" zuviel

LG

pah

Anbei der Quickfix, damit nicht jeder selbst darin suchen muss. Erledigt.

Adimarantis

Mea Culpa.
Bitte nochmal holen.

Da hab ich wohl dieses eine Mal vergessen eine Änderung zu Testen und prompt waren 2 Stellen nicht korrekt editiert.

Edit: Wenn du kein "save" gemacht hast, sollte nach Dateiaustausch und "shutdown restart" alles wieder da sein
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Prof. Dr. Peter Henning

#126
ZitatMea Culpa.
Nicht doch, nur wer nichts macht, macht keine Fehler.

Zum Thema "Programs" beim Kochfeld: Bei mir kommen ganz korrekt   
PowerLevelMode,FryingSensorMode,PowerMoveMode

Zum Thema "Programs" bei der Spülmaschine: Da hatte ich ja mal das Attribut "extraPrograms" eingeführt, in der Hoffnung, damit die Zusatzprogramme starten zu können, die man in der BSH App auf der Spülmaschine installieren kann. Hat aber bisher nicht funktioniert.

LG

pah

Adimarantis

Zitat von: Prof. Dr. Peter Henning am 10 Januar 2025, 15:15:05Zum Thema "Programs" bei der Spülmaschine: Da hatte ich ja mal das Attribut "extraPrograms" eingeführt, in der Hoffnung, damit die Zusatzprogramme starten zu können, die man in der BSH App auf der Spülmaschine installieren
Den Parameter gibt es noch.
Wird aber wahrscheinlich nicht benötigt. Ich hab mal spasshalber für meinen Trockner (mit dem experimentiere ich lieber) das ExtraProgram "Jeans" runtergeladen.
In FHEM ein "get Programs" und prompt taucht "Jeans" in der Liste der Programme auf und kann auch "selected" werden.
Spülmaschine kann ich gerade nicht testen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Stonemuc

Da geht nix...

2025-01-10_15:15:52 global ATTR MCC9555DWC logfile log/cookit.log
2025.01.10 15:16:37 Event:$VAR1 = {'haId' => '710110514461014727','items' => [{'level' => 'hint','uri' => '/api/homeappliances/XXXX/settings/BSH.Common.Setting.PowerState','key' => 'BSH.Common.Setting.PowerState','handling' => 'none','value' => 'BSH.Common.EnumType.PowerState.On','timestamp' => 1736518593}]};
2025-01-10_15:16:37 MCC9555DWC BSH.Common.Setting.PowerState: On
2025.01.10 15:16:37 Event:$VAR1 = {'haId' => '710110514461014727','items' => [{'uri' => '/api/homeappliances/XXXX/status/BSH.Common.Status.OperationState','level' => 'hint','handling' => 'none','key' => 'BSH.Common.Status.OperationState','timestamp' => 1736518593,'value' => 'BSH.Common.EnumType.OperationState.Ready'}]};
2025-01-10_15:16:37 MCC9555DWC BSH.Common.Status.OperationState: Ready
2025-01-10_15:16:59 MCC9555DWC init
2025.01.10 15:17:06 Request:$VAR1 = {'uri' => '/api/homeappliances','callback' => sub { "DUMMY" }};
2025.01.10 15:17:06 responseInit:$VAR1 = {'data' => {'homeappliances' => [{'haId' => 'SIEMENS-HN678G4S6-68A40E51CDF1','enumber' => 'HN678G4S6/87','name' => 'Backofen','connected' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),'brand' => 'Siemens','type' => 'Oven','vib' => 'HN678G4S6'},{'haId' => 'SIEMENS-KG36NHI32-68A40E00C725','enumber' => 'KG36NHI32/01','name' => "K\x{c3}\x{bc}hl-Gefrier-Kombination",'brand' => 'Siemens','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'type' => 'FridgeFreezer','vib' => 'KG36NHI32'},{'connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'brand' => 'Siemens','vib' => 'SX758X06TE','type' => 'Dishwasher','haId' => 'SIEMENS-SX758X06TE-68A40E061F58','name' => "Geschirrsp\x{c3}\x{bc}ler",'enumber' => 'SX758X06TE/29'},{'haId' => '710110514461014727','enumber' => 'MCC9555DWC/01','name' => 'Cookit','brand' => 'Bosch','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'type' => 'CookProcessor','vib' => 'MCC9555DWC'},{'brand' => 'Bosch','connected' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),'type' => 'Washer','vib' => 'WAYH2841','haId' => 'BOSCH-WAYH2841-68A40E124827','enumber' => 'WAYH2841/09','name' => 'Waschmaschine'},{'haId' => 'BOSCH-WTWH7591-68A40E10F03D','enumber' => 'WTWH7591/04','name' => 'Trockner','connected' => $VAR1->{'data'}{'homeappliances'}[4]{'connected'},'brand' => 'Bosch','type' => 'Dryer','vib' => 'WTWH7591'}]}};
2025.01.10 15:17:08 Init Watch MCC9555DWC stage init_done count 0

2025.01.10 15:17:08 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances/XXXX/settings'};
2025.01.10 15:17:08 Get_settings:$VAR1 = {'data' => {'settings' => [{'value' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),'key' => 'BSH.Common.Setting.ChildLock'},{'key' => 'BSH.Common.Setting.PowerState','value' => 'BSH.Common.EnumType.PowerState.On'}]}};
2025.01.10 15:17:08 Checking key BSH.Common.Setting.ChildLock settings ChildLock Off

2025.01.10 15:17:08 Checking key BSH.Common.Setting.PowerState settings PowerState On

2025-01-10_15:17:08 MCC9555DWC BSH.Common.Setting.ChildLock: Off
2025-01-10_15:17:08 MCC9555DWC BSH.Common.Setting.PowerState: On
2025.01.10 15:17:10 Init Watch MCC9555DWC stage settings_done count 1

2025.01.10 15:17:10 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/programs','callback' => sub { "DUMMY" }};
2025.01.10 15:17:10 ResponseGetPrograms:$VAR1 = {'data' => {'selected' => {'constraints' => {'access' => 'readWrite'}},'active' => {'constraints' => {'access' => 'read'}},'programs' => []}};
2025.01.10 15:17:10 ProgramList:
2025-01-10_15:17:10 MCC9555DWC lastErr: No programs found
2025.01.10 15:17:12 Init Watch MCC9555DWC stage programs count 1

2025.01.10 15:17:17 Init Watch MCC9555DWC stage programs count 2

2025.01.10 15:17:18 Init Watch MCC9555DWC stage programs count 3

2025.01.10 15:17:20 Init Watch MCC9555DWC stage programs count 4

2025.01.10 15:17:20 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances/XXXX/programs'};
2025.01.10 15:17:20 ResponseGetPrograms:$VAR1 = {'data' => {'programs' => [],'active' => {'constraints' => {'access' => 'read'}},'selected' => {'constraints' => {'access' => 'readWrite'}}}};
2025.01.10 15:17:20 ProgramList:
2025-01-10_15:17:20 MCC9555DWC lastErr: No programs found
2025.01.10 15:17:21 Init Watch MCC9555DWC stage programs count 1

2025.01.10 15:17:23 get MCC9555DWC ProgramOptions
2025-01-10_15:17:23 MCC9555DWC lastErr: No programs selected or active
2025.01.10 15:17:25 Init Watch MCC9555DWC stage programs count 2

2025.01.10 15:17:29 get MCC9555DWC Status
2025.01.10 15:17:29 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/status','callback' => sub { "DUMMY" }};
2025.01.10 15:17:29 Get_status:$VAR1 = {'data' => {'status' => [{'value' => 'BSH.Common.EnumType.OperationState.Ready','key' => 'BSH.Common.Status.OperationState'}]}};
2025.01.10 15:17:29 Checking key BSH.Common.Status.OperationState status OperationState Ready

2025-01-10_15:17:29 MCC9555DWC BSH.Common.Status.OperationState: Ready
2025.01.10 15:17:30 Init Watch MCC9555DWC stage status_done count 3

2025.01.10 15:17:33 get MCC9555DWC Settings
2025.01.10 15:17:33 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/settings','callback' => sub { "DUMMY" }};
2025.01.10 15:17:33 Get_settings:$VAR1 = {'data' => {'settings' => [{'key' => 'BSH.Common.Setting.ChildLock','value' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )},{'key' => 'BSH.Common.Setting.PowerState','value' => 'BSH.Common.EnumType.PowerState.On'}]}};
2025.01.10 15:17:33 Checking key BSH.Common.Setting.ChildLock settings ChildLock Off

2025.01.10 15:17:33 Checking key BSH.Common.Setting.PowerState settings PowerState On

2025-01-10_15:17:33 MCC9555DWC BSH.Common.Setting.ChildLock: Off
2025-01-10_15:17:33 MCC9555DWC BSH.Common.Setting.PowerState: On
2025.01.10 15:17:39 get MCC9555DWC Programs
2025.01.10 15:17:39 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/programs','callback' => sub { "DUMMY" }};
2025.01.10 15:17:39 ResponseGetPrograms:$VAR1 = {'data' => {'programs' => [],'selected' => {'constraints' => {'access' => 'readWrite'}},'active' => {'constraints' => {'access' => 'read'}}}};
2025.01.10 15:17:39 ProgramList:
2025-01-10_15:17:39 MCC9555DWC lastErr: No programs found
2025.01.10 15:17:41 get MCC9555DWC ProgramOptions
2025-01-10_15:17:41 MCC9555DWC lastErr: No programs selected or active
2025-01-10_15:18:23 MCC9555DWC init
2025.01.10 15:18:35 Request:$VAR1 = {'uri' => '/api/homeappliances','callback' => sub { "DUMMY" }};
2025.01.10 15:18:35 responseInit:$VAR1 = {'data' => {'homeappliances' => [{'connected' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),'brand' => 'Siemens','vib' => 'HN678G4S6','type' => 'Oven','haId' => 'SIEMENS-HN678G4S6-68A40E51CDF1','name' => 'Backofen','enumber' => 'HN678G4S6/87'},{'enumber' => 'KG36NHI32/01','name' => "K\x{c3}\x{bc}hl-Gefrier-Kombination",'haId' => 'SIEMENS-KG36NHI32-68A40E00C725','type' => 'FridgeFreezer','vib' => 'KG36NHI32','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'brand' => 'Siemens'},{'name' => "Geschirrsp\x{c3}\x{bc}ler",'enumber' => 'SX758X06TE/29','haId' => 'SIEMENS-SX758X06TE-68A40E061F58','vib' => 'SX758X06TE','type' => 'Dishwasher','brand' => 'Siemens','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'}},{'enumber' => 'MCC9555DWC/01','name' => 'Cookit','haId' => '710110514461014727','type' => 'CookProcessor','vib' => 'MCC9555DWC','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'brand' => 'Bosch'},{'enumber' => 'WAYH2841/09','name' => 'Waschmaschine','haId' => 'BOSCH-WAYH2841-68A40E124827','type' => 'Washer','vib' => 'WAYH2841','brand' => 'Bosch','connected' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )},{'name' => 'Trockner','enumber' => 'WTWH7591/04','haId' => 'BOSCH-WTWH7591-68A40E10F03D','vib' => 'WTWH7591','type' => 'Dryer','brand' => 'Bosch','connected' => $VAR1->{'data'}{'homeappliances'}[4]{'connected'}}]}};
2025.01.10 15:18:36 Init Watch MCC9555DWC stage init_done count 0

2025.01.10 15:18:36 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances/XXXX/settings'};
2025.01.10 15:18:36 Get_settings:$VAR1 = {'data' => {'settings' => [{'value' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),'key' => 'BSH.Common.Setting.ChildLock'},{'value' => 'BSH.Common.EnumType.PowerState.On','key' => 'BSH.Common.Setting.PowerState'}]}};
2025.01.10 15:18:36 Checking key BSH.Common.Setting.ChildLock settings ChildLock Off

2025.01.10 15:18:36 Checking key BSH.Common.Setting.PowerState settings PowerState On

2025-01-10_15:18:36 MCC9555DWC BSH.Common.Setting.ChildLock: Off
2025-01-10_15:18:36 MCC9555DWC BSH.Common.Setting.PowerState: On
2025.01.10 15:18:39 Init Watch MCC9555DWC stage settings_done count 1

2025.01.10 15:18:39 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances/XXXX/programs'};
2025.01.10 15:18:39 ResponseGetPrograms:$VAR1 = {'data' => {'programs' => [],'active' => {'constraints' => {'access' => 'read'}},'selected' => {'constraints' => {'access' => 'readWrite'}}}};
2025.01.10 15:18:39 ProgramList:
2025-01-10_15:18:39 MCC9555DWC lastErr: No programs found
2025.01.10 15:18:42 Init Watch MCC9555DWC stage programs count 1

2025.01.10 15:18:43 Init Watch MCC9555DWC stage programs count 2

2025.01.10 15:18:48 Init Watch MCC9555DWC stage programs count 3

2025-01-10_15:19:02 MCC9555DWC init
2025-01-10_15:19:12 MCC9555DWC init
2025.01.10 15:19:15 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances'};
2025.01.10 15:19:16 responseInit:$VAR1 = {'data' => {'homeappliances' => [{'enumber' => 'HN678G4S6/87','type' => 'Oven','brand' => 'Siemens','haId' => 'SIEMENS-HN678G4S6-68A40E51CDF1','vib' => 'HN678G4S6','connected' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),'name' => 'Backofen'},{'vib' => 'KG36NHI32','name' => "K\x{c3}\x{bc}hl-Gefrier-Kombination",'connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'enumber' => 'KG36NHI32/01','type' => 'FridgeFreezer','brand' => 'Siemens','haId' => 'SIEMENS-KG36NHI32-68A40E00C725'},{'type' => 'Dishwasher','enumber' => 'SX758X06TE/29','haId' => 'SIEMENS-SX758X06TE-68A40E061F58','brand' => 'Siemens','vib' => 'SX758X06TE','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'},'name' => "Geschirrsp\x{c3}\x{bc}ler"},{'enumber' => 'MCC9555DWC/01','type' => 'CookProcessor','brand' => 'Bosch','haId' => '710110514461014727','vib' => 'MCC9555DWC','name' => 'Cookit','connected' => $VAR1->{'data'}{'homeappliances'}[0]{'connected'}},{'brand' => 'Bosch','haId' => 'BOSCH-WAYH2841-68A40E124827','enumber' => 'WAYH2841/09','type' => 'Washer','connected' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),'name' => 'Waschmaschine','vib' => 'WAYH2841'},{'haId' => 'BOSCH-WTWH7591-68A40E10F03D','brand' => 'Bosch','type' => 'Dryer','enumber' => 'WTWH7591/04','name' => 'Trockner','connected' => $VAR1->{'data'}{'homeappliances'}[4]{'connected'},'vib' => 'WTWH7591'}]}};
2025.01.10 15:19:19 Init Watch MCC9555DWC stage init_done count 0

2025.01.10 15:19:19 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/settings','callback' => sub { "DUMMY" }};
2025.01.10 15:19:20 Get_settings:$VAR1 = {'data' => {'settings' => [{'value' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),'key' => 'BSH.Common.Setting.ChildLock'},{'key' => 'BSH.Common.Setting.PowerState','value' => 'BSH.Common.EnumType.PowerState.On'}]}};
2025.01.10 15:19:20 Checking key BSH.Common.Setting.ChildLock settings ChildLock Off

2025.01.10 15:19:20 Checking key BSH.Common.Setting.PowerState settings PowerState On

2025-01-10_15:19:20 MCC9555DWC BSH.Common.Setting.ChildLock: Off
2025-01-10_15:19:20 MCC9555DWC BSH.Common.Setting.PowerState: On
2025.01.10 15:19:22 Init Watch MCC9555DWC stage settings_done count 1

2025.01.10 15:19:22 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances/XXXX/programs'};
2025.01.10 15:19:23 ResponseGetPrograms:$VAR1 = {'data' => {'programs' => [],'selected' => {'constraints' => {'access' => 'readWrite'}},'active' => {'constraints' => {'access' => 'read'}}}};
2025.01.10 15:19:23 ProgramList:
2025-01-10_15:19:23 MCC9555DWC lastErr: No programs found
2025.01.10 15:19:25 Init Watch MCC9555DWC stage programs count 1

2025.01.10 15:19:28 Init Watch MCC9555DWC stage programs count 2

2025.01.10 15:19:33 Init Watch MCC9555DWC stage programs count 3

2025.01.10 15:19:38 Init Watch MCC9555DWC stage programs count 4

2025.01.10 15:19:38 Request:$VAR1 = {'callback' => sub { "DUMMY" },'uri' => '/api/homeappliances/XXXX/programs'};
2025.01.10 15:19:39 ResponseGetPrograms:$VAR1 = {'data' => {'programs' => [],'selected' => {'constraints' => {'access' => 'readWrite'}},'active' => {'constraints' => {'access' => 'read'}}}};
2025.01.10 15:19:39 ProgramList:
2025-01-10_15:19:39 MCC9555DWC lastErr: No programs found
2025.01.10 15:19:42 Init Watch MCC9555DWC stage programs count 1

2025.01.10 15:19:46 Init Watch MCC9555DWC stage programs count 2

2025.01.10 15:19:47 Init Watch MCC9555DWC stage programs count 3

2025.01.10 15:19:52 Init Watch MCC9555DWC stage programs count 4

2025.01.10 15:19:52 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/programs','callback' => sub { "DUMMY" }};
2025.01.10 15:19:53 ResponseGetPrograms:$VAR1 = {'data' => {'active' => {'constraints' => {'access' => 'read'}},'selected' => {'constraints' => {'access' => 'readWrite'}},'programs' => []}};
2025.01.10 15:19:53 ProgramList:
2025-01-10_15:19:53 MCC9555DWC lastErr: No programs found
2025.01.10 15:20:13 get MCC9555DWC Status
2025.01.10 15:20:13 Request:$VAR1 = {'uri' => '/api/homeappliances/XXXX/status','callback' => sub { "DUMMY" }};
2025.01.10 15:20:13 Get_status:$VAR1 = {'data' => {'status' => [{'value' => 'BSH.Common.EnumType.OperationState.Inactive','key' => 'BSH.Common.Status.OperationState'}]}};
2025.01.10 15:20:13 Checking key BSH.Common.Status.OperationState status OperationState Inactive

2025-01-10_15:20:13 MCC9555DWC BSH.Common.Status.OperationState: Inactive
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Adimarantis

Zitat von: Stonemuc am 10 Januar 2025, 16:05:05Da geht nix...
Ja leider - das Gerät weigert sich eine Liste seiner Programme zu schicken.
Mir ist aufgefallen, dass CookProzessor wohl ein recht neues Gerät ist und dafür im Modul noch gar keine Defaults hinterlegt sind. Ich hab jetzt mal aus der Liste die ich aus der App extrahiert habe welche erstellt.
In dem Fall ist aber wohl ein "shutdown restart" notwendig weil das globale Variablen sind.

Langsam werden diese Defaults zu lang. Werde mir mal anschauen wie HMCCU das macht - zap hat die ausgelagert.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Prof. Dr. Peter Henning


Stonemuc

Der Cookit liefert jetzt zumindest mal was zurück und zeigt auch den Fortschritt in Prozent an...so wie es zuvor auch war...

Internals:
   DEF        hcconn 710110514461014727
   FUUID      67812a97-f33f-37e6-21b7-fc9f8b2e896e6e26
   NAME       MCC9555DWC
   NR         677
   NTFY_ORDER 50-MCC9555DWC
   STATE      Bereit (-)
   TYPE       HomeConnect
   aliasname  Cookit
   brand      Bosch
   eventCount 7
   events     StepFinished
   haId       710110514461014727
   hcconn     hcconn
   logfile    log/cookit.log
   prefix     ConsumerProducts.CookProcessor
   programs   BuildingBlock.Boiling,BuildingBlock.CookingSugarSirup,BuildingBlock.SimmeringLiquidDishes,BuildingBlock.MixingBatter,BuildingBlock.StewingSensibleDishes,BuildingBlock.Sweating,BuildingBlock.KneadingHeavyDough,BuildingBlock.DoughProving,BuildingBlock.WeighingVolume,Manual,BuildingBlock.Pureeing,BuildingBlock.WarmingMilk,BuildingBlock.HeatingManualMode1,BuildingBlock.SteamingTowerCooking,BuildingBlock.ManualCookingParameter,BuildingBlock.ServingOrKeepWarmHighViscous,BuildingBlock.WaterFastBoiling,BuildingBlock.Beating,BuildingBlock.SteamingLow,BuildingBlock.Stirring,BuildingBlock.SteamingHighReduced,BuildingBlock.SteamingHigh,BuildingBlock.WarmingUpLiquidDishes,BuildingBlock.ColdPreCleaning,BuildingBlock.KeepWarmHighViscous,BuildingBlock.LeaveToCulture,BuildingBlock.SimmeringFruitSpread,BuildingBlock.AutomaticWarmingUpViscousDishes,BuildingBlock.BraisingBigParts,BuildingBlock.Soaking,BuildingBlock.HeatingManualMode3,BuildingBlock.Caramelizing,BuildingBlock.Stewing,BuildingBlock.FryingRoastingSearing,BuildingBlock.Melting
   settings   ChildLock,PowerState
   type       CookProcessor
   version    1.12
   vib        MCC9555DWC
   READINGS:
     2025-01-11 11:58:37   BSH.Common.Event.ProgramAborted Off
     2025-01-11 11:58:37   BSH.Common.Option.ProgramProgress 0 %
     2025-01-11 11:58:37   BSH.Common.Setting.ActiveProgram
     2025-01-10 15:19:20   BSH.Common.Setting.ChildLock Off
     2025-01-11 11:58:37   BSH.Common.Setting.PowerState Standby
     2025-01-11 11:58:37   BSH.Common.Setting.SelectedProgram
     2025-01-11 11:58:37   BSH.Common.Status.OperationState Inactive
     2025-01-11 13:07:30   Setting.ChildLock Off
     2025-01-11 13:07:30   Setting.PowerState Standby
     2025-01-11 13:06:54   Status.OperationState Inactive
     2025-01-11 13:07:02   lastErr         No programs found
     2025-01-11 13:06:54   state           idle
     2025-01-11 13:06:54   state1          Bereit
     2025-01-11 13:06:54   state2          -
   data:
     poweroff   PowerOff
     retrans:
       AutomaticWarmingUpViscousDishes BuildingBlock.AutomaticWarmingUpViscousDishes
       Beating    BuildingBlock.Beating
       Boiling    BuildingBlock.Boiling
       BraisingBigParts BuildingBlock.BraisingBigParts
       Caramelizing BuildingBlock.Caramelizing
       ColdPreCleaning BuildingBlock.ColdPreCleaning
       CookingSugarSirup BuildingBlock.CookingSugarSirup
       DoughProving BuildingBlock.DoughProving
       FryingRoastingSearing BuildingBlock.FryingRoastingSearing
       HeatingManualMode1 BuildingBlock.HeatingManualMode1
       HeatingManualMode3 BuildingBlock.HeatingManualMode3
       KeepWarmHighViscous BuildingBlock.KeepWarmHighViscous
       KneadingHeavyDough BuildingBlock.KneadingHeavyDough
       LeaveToCulture BuildingBlock.LeaveToCulture
       Manual     Manual
       ManualCookingParameter BuildingBlock.ManualCookingParameter
       Melting    BuildingBlock.Melting
       MixingBatter BuildingBlock.MixingBatter
       Pureeing   BuildingBlock.Pureeing
       ServingOrKeepWarmHighViscous BuildingBlock.ServingOrKeepWarmHighViscous
       SimmeringFruitSpread BuildingBlock.SimmeringFruitSpread
       SimmeringLiquidDishes BuildingBlock.SimmeringLiquidDishes
       Soaking    BuildingBlock.Soaking
       SteamingHigh BuildingBlock.SteamingHigh
       SteamingHighReduced BuildingBlock.SteamingHighReduced
       SteamingLow BuildingBlock.SteamingLow
       SteamingTowerCooking BuildingBlock.SteamingTowerCooking
       Stewing    BuildingBlock.Stewing
       StewingSensibleDishes BuildingBlock.StewingSensibleDishes
       Stirring   BuildingBlock.Stirring
       Sweating   BuildingBlock.Sweating
       WarmingMilk BuildingBlock.WarmingMilk
       WarmingUpLiquidDishes BuildingBlock.WarmingUpLiquidDishes
       WaterFastBoiling BuildingBlock.WaterFastBoiling
       WeighingVolume BuildingBlock.WeighingVolume
     settings:
       ChildLock:
         name       BSH.Common.Setting.ChildLock
         value      Off
         values     On,Off
       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
     trans:
       BuildingBlock.AutomaticWarmingUpViscousDishes AutomaticWarmingUpViscousDishes
       BuildingBlock.Beating Beating
       BuildingBlock.Boiling Boiling
       BuildingBlock.BraisingBigParts BraisingBigParts
       BuildingBlock.Caramelizing Caramelizing
       BuildingBlock.ColdPreCleaning ColdPreCleaning
       BuildingBlock.CookingSugarSirup CookingSugarSirup
       BuildingBlock.DoughProving DoughProving
       BuildingBlock.FryingRoastingSearing FryingRoastingSearing
       BuildingBlock.HeatingManualMode1 HeatingManualMode1
       BuildingBlock.HeatingManualMode3 HeatingManualMode3
       BuildingBlock.KeepWarmHighViscous KeepWarmHighViscous
       BuildingBlock.KneadingHeavyDough KneadingHeavyDough
       BuildingBlock.LeaveToCulture LeaveToCulture
       BuildingBlock.ManualCookingParameter ManualCookingParameter
       BuildingBlock.Melting Melting
       BuildingBlock.MixingBatter MixingBatter
       BuildingBlock.Pureeing Pureeing
       BuildingBlock.ServingOrKeepWarmHighViscous ServingOrKeepWarmHighViscous
       BuildingBlock.SimmeringFruitSpread SimmeringFruitSpread
       BuildingBlock.SimmeringLiquidDishes SimmeringLiquidDishes
       BuildingBlock.Soaking Soaking
       BuildingBlock.SteamingHigh SteamingHigh
       BuildingBlock.SteamingHighReduced SteamingHighReduced
       BuildingBlock.SteamingLow SteamingLow
       BuildingBlock.SteamingTowerCooking SteamingTowerCooking
       BuildingBlock.Stewing Stewing
       BuildingBlock.StewingSensibleDishes StewingSensibleDishes
       BuildingBlock.Stirring Stirring
       BuildingBlock.Sweating Sweating
       BuildingBlock.WarmingMilk WarmingMilk
       BuildingBlock.WarmingUpLiquidDishes WarmingUpLiquidDishes
       BuildingBlock.WaterFastBoiling WaterFastBoiling
       BuildingBlock.WeighingVolume WeighingVolume
       Manual     Manual
     value:
   helper:
     eventChannelTimeout 1736611080.69315
     init       settings_done
     init_count 4
     key       
     retrycounter 0
     total_count 5
Attributes:
   alias      Cookit
   icon       scene_cooking
   logfile    log/cookit.log
   room       Home Connect
   stateFormat state1 (state2)

FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

DerTom71

Bei 2 meiner Geräte (Backoffen und Geschirrspüler) wird sein 24h "HomeAppliance is offline" angezeigt.
Die 2 anderen Geräte (Kühkschrank und Herd) funktionieren problemlos. In der HomeConnect-App sind alle 4 Geräte online und steuerbar.
Liegt das am neuen Modul oder hat der HomeConnect-Server gerade ein Problem?

Adimarantis

Zitat von: DerTom71 am 11 Januar 2025, 20:24:53Bei 2 meiner Geräte (Backoffen und Geschirrspüler) wird sein 24h "HomeAppliance is offline" angezeigt.
Kannst du dazu ein logfile eines "set xxx init" protokollieren und dann ein list machen?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

DerTom71

In der Anlage die logs für den Geschirrspüler.