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.

Kuehnhackel

Zitat von: Prof. Dr. Peter Henning am 15 März 2024, 04:22:16Obwohl der Thread inzwischen ziemlich zugemüllt ist, werde ich ihn weiterführen.

Um was geht es hier: Das offiziell verteilte Modul 48_HomeConnect.pm greift auf das API von BSH zu und erlaubt zwar eine eingeschränke Bedienung der Geräte. Hat aber ziemlich absurde und schwer verständliche Reading-Namen und -Werte. Mit dem hier angehängten Modul, das vorerst einfach als Ersatz des offiziell verteilten dienen kann, soll das bereinigt werden.

Das Modul ist inzwischen auf einem relativ guten Beta-Stand. Aktuell offene Probleme:

1. Bei Kaffeemaschinen: Wie kann man auf die Favoriten zugreifen?
==> Bitte mal für kurze Zeit in dem Device verbose=5 setzen und get programs ausführen. Und hier einen Logauszug posten.



LG

pah

Sorry, komme erst jetzt dazu die "geforderten Infos" zu liefern:


2024.04.25 09:27:11 4: TP707D06: request /api/homeappliances/712080385904001727/programs/available
2024.04.25 09:27:11 4: TP707D06: no token refresh needed
2024.04.25 09:27:11 4: TP707D06: requestAfterToken https://api.home-connect.com/api/homeappliances/712080385904001727/programs/available
2024.04.25 09:27:11 4: TP707D06: response {
  "data": {
    "active": {
      "constraints": {
        "access": "readWrite"
      }
    },
    "programs": [
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Espresso"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoDoppio"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeGrande"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.XLCoffee"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Cappuccino"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.LatteMacchiato"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeLatte"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.MilkFroth"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.WarmMilk"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.HotWater"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Ristretto"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoMacchiato"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Verlaengerter"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KleinerBrauner"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.WienerMelange"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.FlatWhite"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeConLeche"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeAuLait"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KoffieVerkeerd"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.GrosserBrauner"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.VerlaengerterBraun"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Cortado"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Doppio"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeCortado"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Kaapi"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Galao"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Garoto"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.RedEye"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.BlackEye"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.DeadEye"
      }
    ],
    "selected": {
      "constraints": {
        "access": "readWrite"
      },
      "key": "BSH.Common.Program.Favorite.001",
      "options": [
        {
          "key": "BSH.Common.Option.ProgramName",
          "value": "Kaffee normal"
        },
        {
          "key": "BSH.Common.Option.BaseProgram",
          "value": "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeGrande"
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.BeanAmount",
          "value": "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.Normal"
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.FillQuantity",
          "value": 240,
          "unit": "ml"
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.MultipleBeverages",
          "value": false
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.AromaSelect",
          "value": "ConsumerProducts.CoffeeMaker.EnumType.AromaSelect.balanced"
        }
      ]
    }
  }
}
2024.04.25 09:27:11 5: [HomeConnect_ResponseGetPrograms] TP707D06: get programs response {
  "data": {
    "active": {
      "constraints": {
        "access": "readWrite"
      }
    },
    "programs": [
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Espresso"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoDoppio"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeGrande"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.XLCoffee"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Cappuccino"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.LatteMacchiato"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeLatte"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.MilkFroth"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.WarmMilk"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.HotWater"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.Ristretto"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.Beverage.EspressoMacchiato"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Verlaengerter"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KleinerBrauner"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.WienerMelange"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.FlatWhite"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeConLeche"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeAuLait"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KoffieVerkeerd"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.GrosserBrauner"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.VerlaengerterBraun"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Cortado"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Doppio"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeCortado"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Kaapi"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Galao"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Garoto"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.RedEye"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.BlackEye"
      },
      {
        "constraints": {
          "execution": "selectandstart"
        },
        "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.DeadEye"
      }
    ],
    "selected": {
      "constraints": {
        "access": "readWrite"
      },
      "key": "BSH.Common.Program.Favorite.001",
      "options": [
        {
          "key": "BSH.Common.Option.ProgramName",
          "value": "Kaffee normal"
        },
        {
          "key": "BSH.Common.Option.BaseProgram",
          "value": "ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeGrande"
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.BeanAmount",
          "value": "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.Normal"
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.FillQuantity",
          "value": 240,
          "unit": "ml"
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.MultipleBeverages",
          "value": false
        },
        {
          "key": "ConsumerProducts.CoffeeMaker.Option.AromaSelect",
          "value": "ConsumerProducts.CoffeeMaker.EnumType.AromaSelect.balanced"
        }
      ]
    }
  }
}
2024.04.25 09:27:14 5: [HomeConnect_ReadEventChannel] TP707D06: event channel searching for data, fileno:"159", nfound:"0", loopCounter:"1"
2024.04.25 09:27:14 5: [HomeConnect_ReadEventChannel] TP707D06: event channel received no more data
2024.04.25 09:27:19 5: [HomeConnect_ReadEventChannel] TP707D06: event channel searching for data, fileno:"159", nfound:"0", loopCounter:"1"
2024.04.25 09:27:19 5: [HomeConnect_ReadEventChannel] TP707D06: event channel received no more data

Prof. Dr. Peter Henning

OK, mal sehen, ob ich was damit anfangen kann. Wird aber ne Weile dauern...

LG

pah

Jamspoon

Hallo pah,

jetzt muss doch einmal fragen warum ich seit einsetzten der Ergonomischen Version des Moduls nicht mehr alle Readings
ausgelesen bekomme.

Ich hatte mir fürs Tablet eine "Übersetzung" der Programmreadings angelegt, nun erhalte ich aber selbst mit den angepassten userReadings
keine Übersetzung der Programmnamen.

Beispiel:

programm {if(ReadingsVal("WM14VL40","SelectedProgram","")eq"SpinDrain") {return "Schleudern und Abpumpen"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Outdoor") {return "Outdoorwäsche"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"EasyCare") {return "Pflegeleicht"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Super153045.Super1530") {return "Super 15-30"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"PowerSpeed59") {return "Schnellwäsche 59"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"HygienicSteam.DrumClean") {return "Trommelreinigung"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"HygienicSteam.HygienicWash") {return "Hygiene MIX"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Cotton") {return "Baumwolle"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Cotton.CottonEco") {return "Baumwolle ECO"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Rinse") {return "Spühlen"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Wool") {return "Wolle"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"DelicatesSilk") {return "Fein Seide"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"Mix") {return "Schnell MIX"}
elsif (ReadingsVal("WM14VL40","SelectedProgram","")eq"SensoFresh") {return "Auffrischen"}
else {return "- - -"}}

putziger Weise funktioniert das auslesen aber wie gehabt bei allen nummerischen Werten und bei den neu vorhandenen tr_State1 ..2 ..3 Werten
nur bei den Programmen eben nicht.

Ein DOIF welches ich zum Starten der WaMa wenn genung PV-Leistung vorhanden ist einsetze, reagiert auch nicht wenn ich als weitere Bedingung

[?WM14VL40:OperationState]eq"Ready"bzw.
[?WM14VL40]eq"Ready"
abfrage.

Woran wird das liegen?

Dankeschön vorab und viele Grüße aus Sachsen.
Having trouble in Windows? Reboot! Having trouble in Linux? Be root!

Prof. Dr. Peter Henning

Na, welchen Programmnamen meldet das "ergonomische Modul" denn? Offenbar keinen, der zu dem Perl-Codefragment passt.
Tipps:
1. Nicht solchen Spaghetti-Code schreiben. Perl-Hashes einsetzen
2. Bei mehreren Fallunterscheidungen immer einen Default-Fall einsetzen, der gemeldet wird, wenn kein anderer passt.

Das mit dem DOIF kann ich so auf keinen Fall nachvollziehen, da ich die ganzen anderen Bedingungen nicht kenne. Bitte um Verständnis, dass ich zu nicht funktionierenden DOIF-Abfragen keine Hilfestellung anbiete.

LG

pah

Stonemuc

Wird das überarbeitete  HC Modul denn noch gepflegt? ICh frage wegen meinem Serverumzug. Hab dabei mal meine fhem.cfg etwas aufgeräumt und ausgemistet und würde nun gern mal die überarbeitete HC Version testen....
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Shadow3561

Moin,
Bei mir läuft im Moment nichts mehr. Ich hatte folgende Fehlermeldung fast stündlich im log
event channel received an http error: HTTP/1.1 503 Service Temporarily Unavailable
Habe dann einen Logout durchgeführt und kann mich seit dem nicht mehr mit ,,HomeConnect Login" einloggen.
Ich werde dann immer auf eine Seite geleitet ,,403 Forbidden"
FHEM ist aktuell und läuft seit 6 Monaten ohne eine aktive Änderung von mir.

Habt ihr das Problem auch?


MfG

tomhead

#175
Hallo, bei mir funktioniert HomeConnect aktuell auch nicht mehr. Bei mir haben sich am Freitag die letzten Readings aktualisiert, seit dem nicht mehr. Habe gestern dann meinen Geschirrspüler aus FHEM gelöscht und über scan devices neu angelegt, aber in FHEM wurde nur das Device angelegt, ein get settings erzeugt keine Reading Einträge mehr.
Gestern Nachmittag / Abend ging auch die HomeConnect App in iOS vorübergehend nicht mehr, die hat zwar nun wieder Verbindung zu den Geräten, aber in FHEM geht es nach wie vor nicht. Evtl. wurde was bei Bosch/Siemens geändert?

Prof. Dr. Peter Henning

Derzeit haben weder die App, noch FHEM eine Verbindung zu den HC Servern. In der App steht etwas von "Verbindungsausfälle" und "Entschuldigung". Unter aller Kritik, dieser Laden...

Zitat von: tomhead am 20 Oktober 2024, 08:45:13Habe gestern dann meinen Geschirrspüler aus FHEM gelöscht
Kleiner Tipp: Niemals "Löschen und wieder neu anlegen".

Führt in der Regel zu gar nichts.

LG

Shadow3561

Ja, Bosch hat Marvin anscheinend einen Festvertrag gegeben und lässt ihn einfach machen.

Dann bin ich ja beruhigt, dass ich nicht der einzige mit Problemen bin. Habe schon befürchtet, dass das Problem vor dem Rechner sitzt.
Also abwarten und regelmäßig kontrollieren.
PS: Die App läuft wieder bei mir, aber in FHEM bekomme ich leider noch ein 403.

Schönen Sonntag euch

Prof. Dr. Peter Henning

Ich kann mich noch daran erinnern, wie BSH auf der Suche nach Beratung für eine Cloudlösung war. Um ein Haar hätte ich seinerzeit mit meiner Arbeitsgruppe ein Gebot abgegeben.

Leider sind die wohl auf die falschen Ratschläge gestoßen, und haben ihre Marketing-Abteilung mit eingebunden. Und die sind dann mit tollen Vorschlägen wie "Kundenbindung", "Werbung integrieren" etc. aufgelaufen. Hat ungefähr dieselbe Qualität wie bei der Sirius-Kybernetik-Corporation:

ZitatDer Reiseführer Per Anhalter durch die Galaxis definiert die Marketing-Abteilung der Sirius-Kybernetik-Corporation als »ein Rudel hirnloser Irrer, die als erste an die Wand gestellt werden, wenn die Revolution kommt« [...]. Komischerweise definierte ein Exemplar der Encyclopaedia Galactica, das das große Glück hatte, aus der tausend Jahre entfernten Zukunft herauszufallen, die Marketing-Abteilung der Sirius-Kybernetik-Corporation als »ein Rudel hirnloser Irrer, die als erste an die Wand gestellt wurden, als die Revolution kam«.

Stattdessen wäre es sehr viel sinnvoller, ein API zu den einzelnen Geräten zu definieren und endlich einmal stabil zu halten.

LG

pah

Adimarantis

Habe gerade mein drittes HomeConnect Gerät eingebunden (zur 4 Jahre alten Waschmaschine kamen jetzt Trockner und Spülmaschine dazu) und beschäftige ich mich gerade intensiver mit der Anbindung.
Dabei habe ich gleich festgestellt, dass das Original Modul so seine Schwächen hat:
Aktuell nervt mich, dass bei der Waschmaschine ein "startProgram" zwingend den Programmnamen braucht (der doch schon eingestellt ist) sowie die fehlende Möglichkeit den Trockner zu pausieren um den Stromverbrauch zu optimieren (was per App geht).
Generisch festzustellen, dass ein Gerät fertig ist und jetzt gerne geleert würde, ist auch nicht ganz so trivial (einige haben einen "finished" state - andere nicht, der Trockner geht mitunter in den Knitterschutz Modus und meldet erst danach wirklich "fertig" etc....)

Das Original Modul wird ja wohl seit 3 Jahren (siehe Github) nicht mehr gepflegt - ist ein Umstieg vom "Original" Modul auf die "Ergnonomische" Variante ohne große Probleme (sprich: Einfach Moduldatei austauschen) möglich?
Ist die Version 0.9beta3 vom 16.3.2024 die aktuelleste oder gibt es irgendwo auch ein Github?

Mir ist klar, dass ich meine Routinen welche die kryptischen BSH.Common.... Bezeichnungen verwenden anpassen muss.
Sonst Erfahrungen?

Ich hatte übrigens keine großen Probleme die neuen Geräte mit dem Original Modul einzubinden, vor einiger Zeit musste ich  mal den Login Mechanismus umstellen und dabei hat es dann mit IP vs hostname etwas geholpert, was aber am Ende mit "hostname.local" funktioniert hat.


Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)