Ergonomische Version von 48_HomeConnect.pm

Begonnen von Prof. Dr. Peter Henning, 11 September 2022, 09:28:52

Vorheriges Thema - Nächstes Thema

DerTom71

get KIF81HOD0 Settings bringt weiterhin keinen type und prefix. (Mehrfach KIF81HOD0 gelöscht und neu angelegt.)

{HomeConnect_Init($defs{'KIF81HOD0'})}" bingt den Erfolg: type und prefix werden gesetzt:  :)
   
Zitat2024.04.20 19:28:17.113 1: [HomeConnect_ResponseInit] KIF81HOD0: defined as HomeConnect Refrigerator Bosch KIF81HOD0
2024.04.20 19:28:17.718 1: [HomeConnect_ResponseGetPrograms] KIF81HOD0: no programs found
2024.04.20 19:28:17.726 1: [HomeConnect_ResponseGetSettings] KIF81HOD0: strange prefix Refrigeration.Common.Setting.Door found in Refrigeration.Common.Setting.Door.AssistantFridge
2024.04.20 19:28:17.726 1: [HomeConnect_ResponseGetSettings] KIF81HOD0: strange prefix Refrigeration.Common.EnumType.Door.AssistantForce. found in Refrigeration.Common.Setting.Door.AssistantForceFridge
2024.04.20 19:28:17.768 1: [HomeConnect_ResponseUpdateStatus] KIF81HOD0: found new status prefix in Refrigeration.Common.Status.Door.Refrigerator

Internals:
  CFGFN     
  DEF        hcconn BOSCH-KIF81HOD0-68A40E8EB085
  FUUID      6623faef-f33f-37a3-52e6-ff4989effe5791e4
  NAME      KIF81HOD0
  NR        36456
  STATE     
  TYPE      HomeConnect
  aliasname  Kühlschrank
  brand      Bosch
  eventChannelTimeout 1713634482.8281
  eventCount 8
  events    DoorAlarmRefrigerator
  haId      BOSCH-KIF81HOD0-68A40E8EB085
  hcconn    hcconn
  prefix    Refrigeration.FridgeFreezer
  retrycounter 0
  settings  SetpointTemperatureRefrigerator,SuperModeRefrigerator,AssistantFridge,AssistantForceFridge
  type      Refrigerator
  vib        KIF81HOD0
  READINGS:
    2024-04-20 19:28:17  AssistantForceFridge LowForce
    2024-04-20 19:28:17  AssistantFridge 1
    2024-04-20 19:33:12  DoorState      Closed
    2024-04-20 19:28:17  Refrigeration.Common.Status.Door.Refrigerator Refrigeration.Common.EnumType.Door.States.Closed
    2024-04-20 19:33:12  Refrigerator    Closed
    2024-04-20 19:28:17  SetpointTemperatureRefrigerator 6
    2024-04-20 19:28:17  SuperModeRefrigerator 0
    2024-04-20 19:33:12  state         
    2024-04-20 19:33:12  tr_DoorState    Tür geschlossen
    2024-04-20 19:33:12  tr_State1     
    2024-04-20 19:33:12  tr_State2     
    2024-04-20 19:33:12  tr_State3     
  data:
    settings:
      AssistantForceFridge:
        Refrigeration.Common.Setting.Door
        Refrigeration.Common.EnumType.Door.AssistantForce.
        LowForce
        undef
      AssistantFridge:
        Refrigeration.Common.Setting.Door
        Refrigeration.Common.Setting.Door
        1
        undef
      PowerState:
        BSH.Common.Setting
        BSH.Common.EnumType.PowerState.
        On
        undef
      SetpointTemperatureRefrigerator:
        Refrigeration.FridgeFreezer.Setting
        Refrigeration.FridgeFreezer.Setting
        6
        °C
      SuperModeRefrigerator:
        Refrigeration.FridgeFreezer.Setting
        Refrigeration.FridgeFreezer.Setting
        0
        undef
    trans:
      AssistantForceFridge TürKraft
      AssistantFridge TürAssistent
      SetpointTemperatureRefrigerator Temperatur
      SuperModeRefrigerator SuperMode
Attributes:
  alias      Kühlschrank

Prof. Dr. Peter Henning

#166
Zitatget KIF81HOD0 Settings bringt weiterhin keinen type und prefix.
Kann es ja auch nicht, das war nie so. Warum das Initialisierungsprogramm nicht automatisch aufgerufen wurde, verstehe ich nach wie vor nicht. Eine Vermutung dazu habe ich unten schon geschrieben.

So, den Präfix im Device haben wir.

Jetzt würde ich gerne wissen:
- Welche "set"-Kommandos stellt das Modul jetzt bereit?
- Funktionieren die, bzw. wenn nicht, wir lauten die Fehlermeldungen?
- Welche "get"-Kommandos stellt das Modul jetzt bereit?
- Funktioniert die Anzeige "Tür offen", d.h. ändern sich die Readings für den Türzustand?

LG

pah

P.S.: Das mit dem Löschen und neu Anlegen bitte nicht machen. Das ist ein relativ häufiger Anfängerfehler in FHEM, der die Fehlersuche in der Regel erschwert.

DerTom71

SET

1. AssistantForceFridge => Probiert mit LowForce, MiddleForce, HighForce, Low, Middle, High (Immer das Gleiche Ergebnis)
Zitat2024.04.21 09:42:39.841 1: [HomeConnect] KIF81HOD0: set command: AssistantForceFridge
2024.04.21 09:42:39.976 1: [HomeConnect_HandleError] KIF81HOD0: Error "Setting is not supported"

2. AssistantFridge => Probiert mit 0,1, true, false (Immer das Gleiche Ergebnis)
Zitat2024.04.21 09:48:54.577 1: [HomeConnect] KIF81HOD0: set command: AssistantFridge
2024.04.21 09:48:55.285 1: [HomeConnect_HandleError] KIF81HOD0: Error "Setting is not supported"

3. PowerOn
Zitat2024.04.21 09:31:02.294 1: [HomeConnect] KIF81HOD0: set command: PowerOn
2024.04.21 09:31:02.294 1: [HomeConnect_PowerState] KIF81HOD0: setting PowerState->On while OperationState= and PowerState=
2024.04.21 09:31:02.294 4: KIF81HOD0: request /api/homeappliances/BOSCH-KIF81HOD0-68A40E8EB085/settings/BSH.Common.Setting.PowerState
2024.04.21 09:31:02.295 4: KIF81HOD0: no token refresh needed
2024.04.21 09:31:02.295 4: KIF81HOD0: requestAfterToken https://api.home-connect.com/api/homeappliances/BOSCH-KIF81HOD0-68A40E8EB085/settings/BSH.Common.Setting.PowerState
2024.04.21 09:31:04.314 4: KIF81HOD0: response {
  "error": {
    "description": "BSH.Common.Setting.PowerState currently not available or writable",
    "key": "SDK.Error.InvalidSettingState"
  }
}

3. SelectProgramm => Gibt ja keine Programme bei einem Kühlschrank

4. SetpointTemperatureRefrigerator
Zitat2024.04.21 09:29:09.078 1: [HomeConnect] KIF81HOD0: set command: SetpointTemperatureRefrigerator
2024.04.21 09:29:09.091 4: KIF81HOD0: request /api/homeappliances/BOSCH-KIF81HOD0-68A40E8EB085/settings/SetpointTemperatureRefrigerator
2024.04.21 09:29:09.093 4: KIF81HOD0: no token refresh needed
2024.04.21 09:29:09.094 4: KIF81HOD0: requestAfterToken https://api.home-connect.com/api/homeappliances/BOSCH-KIF81HOD0-68A40E8EB085/settings/SetpointTemperatureRefrigerator
2024.04.21 09:29:09.215 4: KIF81HOD0: response {
  "error": {
    "description": "Setting is not supported",
    "key": "SDK.Error.UnsupportedSetting"
  }
}
2024.04.21 09:29:09.216 1: [HomeConnect_HandleError] KIF81HOD0: Error "Setting is not supported"

5. StartProgramm => Gibt ja keine Programme bei einem Kühlschrank

6. StopProgramm => Gibt ja keine Programme bei einem Kühlschrank

7. SuperModeRefrigerator => Probiert mit true, false (Immer das Gleiche Ergebnis)
Zitat2024.04.21 09:57:14.598 1: [HomeConnect] KIF81HOD0: set command: SuperModeRefrigerator
2024.04.21 09:57:14.958 1: [HomeConnect_HandleError] KIF81HOD0: Error "Setting is not supported"

8. ZZZ_Dump
ZitatDevice KIF81HOD0 of type Refrigerator has
settings: $VAR1 = {
          'AssistantFridge' => [
                                 'Refrigeration.Common.Setting.Door',
                                 'Refrigeration.Common.Setting.Door',
                                 bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                                 undef
                               ],
          'AssistantForceFridge' => [
                                      'Refrigeration.Common.Setting.Door',
                                      'Refrigeration.Common.EnumType.Door.AssistantForce.',
                                      'LowForce',
                                      undef
                                    ],
          'SuperModeRefrigerator' => [
                                       'Refrigeration.FridgeFreezer.Setting',
                                       'Refrigeration.FridgeFreezer.Setting',
                                       bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                                       undef
                                     ],
          'PowerState' => [
                            'BSH.Common.Setting',
                            'BSH.Common.EnumType.PowerState.',
                            'On',
                            undef
                          ],
          'SetpointTemperatureRefrigerator' => [
                                                 'Refrigeration.FridgeFreezer.Setting',
                                                 'Refrigeration.FridgeFreezer.Setting',
                                                 6,
                                                 "\x{c2}\x{b0}C"
                                               ]
        };

options: $VAR1 = undef;

transtable: $VAR1 = {
          'SuperModeRefrigerator' => 'SuperMode',
          'SetpointTemperatureRefrigerator' => 'Temperatur',
          'AssistantFridge' => 'TürAssistent',
          'AssistantForceFridge' => 'TürKraft'
        };

poweroff: $VAR1 = undef;

GET
1. ProgrammOptions
2. Programs
3. Seetings

TÜRZUSTAND
Funktioniert:
Doorstate und Refrigerator: Open/Closed
tr_DoorState: Tür offen/Tür geschlossen

READING (Die SET-Befehle haben auch die Readings verändert)
ZitatREADINGS:
     2024-04-21 09:54:29   AssistantForceFridge "Refrigeration.Common.EnumType.Door.AssistantForce..high"
     2024-04-21 09:51:40   AssistantFridge "Refrigeration.Common.Setting.Door.true"
     2024-04-21 09:40:55   DoorState       Closed
     2024-04-20 19:28:17   Refrigeration.Common.Status.Door.Refrigerator Refrigeration.Common.EnumType.Door.States.Closed
     2024-04-21 09:40:55   Refrigerator    Closed
     2024-04-21 09:29:09   SetpointTemperatureRefrigerator 5
     2024-04-21 09:58:57   SuperModeRefrigerator "Refrigeration.FridgeFreezer.Setting.false"
     2024-04-21 09:40:55   state           
     2024-04-21 09:40:55   tr_DoorState    Tür geschlossen
     2024-04-21 09:40:55   tr_State1       
     2024-04-21 09:40:55   tr_State2       
     2024-04-21 09:40:55   tr_State3   

Prof. Dr. Peter Henning

#168
OK, das hilft schon. Immerhin funktioniert die Türanzeige.

LG

pah

P.S.: Man kann an dieser Stelle leider nur mit Raten weiterkommen - solche Sachen wie "AssistantForceFridge" tauchen nämlich in der API-Dokumentation von HomeConnect schlichtweg nicht auf.