Ergonomische Version von 48_HomeConnect.pm

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

Vorheriges Thema - Nächstes Thema

Supadone

Hab die Dunstabzugshaube gelöscht und nochmal neu anlegen lassen, es waren auch ein paar Readings leer. Jetzt sieht alles gleich besser aus:

init:
2023.03.01 15:27:02.188 1: [HomeConnect_ResponseInit] LC97FMR60: defined as HomeConnect Hood Siemens LC97FMR60
2023.03.01 15:27:02.316 1: [HomeConnect_ResponseGetPrograms] LC97FMR60: get programs response {
  "data": {
    "programs": [{
      "constraints": {
        "execution": "startonly"
      },
      "key": "Cooking.Common.Program.Hood.Automatic"
    }, {
      "constraints": {
        "execution": "startonly"
      },
      "key": "Cooking.Common.Program.Hood.Venting"
    }, {
      "constraints": {
        "execution": "startonly"
      },
      "key": "Cooking.Common.Program.Hood.DelayedShutOff"
    }]
  }
}
2023.03.01 15:27:02.323 1: [HomeConnect_ResponseUpdateStatus] LC97FMR60: status response {
  "data": {
    "status": [{
      "key": "BSH.Common.Status.LocalControlActive",
      "value": false
    }, {
      "key": "BSH.Common.Status.OperationState",
      "value": "BSH.Common.EnumType.OperationState.Inactive"
    }, {
      "key": "BSH.Common.Status.RemoteControlActive",
      "value": true
    }, {
      "key": "BSH.Common.Status.RemoteControlStartAllowed",
      "value": true
    }]
  }
}
2023.03.01 15:27:02.324 1: [HomeConnect_ResponseUpdateStatus] LC97FMR60: updating reading LocalControlActive to 0
2023.03.01 15:27:02.324 1: [HomeConnect_ResponseUpdateStatus] LC97FMR60: updating reading RemoteControlStartAllowed to 1
2023.03.01 15:27:02.324 1: [HomeConnect_ResponseUpdateStatus] LC97FMR60: updating reading RemoteControlActive to 1
2023.03.01 15:27:02.324 1: [HomeConnect_ResponseUpdateStatus] LC97FMR60: updating reading OperationState to Inactive


get settings:
2023.03.01 15:27:15.623 1: [HomeConnect_ResponseGetSettings] LC97FMR60: get settings response {
  "data": {
    "settings": [{
      "key": "BSH.Common.Setting.PowerState",
      "value": "BSH.Common.EnumType.PowerState.Off"
    }, {
      "key": "Cooking.Common.Setting.Lighting",
      "value": false
    }, {
      "key": "Cooking.Common.Setting.LightingBrightness",
      "value": 10,
      "unit": "%"
    }]
  }
}
2023.03.01 15:27:15.623 1: [HomeConnect_ResponseGetSettings] LC97FMR60: new prefix found in Cooking.Common.Setting.LightingBrightness
2023.03.01 15:27:15.624 1: [HomeConnect_ResponseGetSettings] LC97FMR60: updating setting Cooking.Common.Setting.LightingBrightness to 10 %
2023.03.01 15:27:15.624 1: [HomeConnect_ResponseGetSettings] LC97FMR60: updating setting PowerState to Off
2023.03.01 15:27:15.624 1: [HomeConnect_ResponseGetSettings] LC97FMR60: new prefix found in Cooking.Common.Setting.Lighting
2023.03.01 15:27:15.624 1: [HomeConnect_ResponseGetSettings] LC97FMR60: updating setting Cooking.Common.Setting.Lighting to 0


get Programs:
2023.03.01 15:30:52.381 1: [HomeConnect_ResponseGetPrograms] LC97FMR60: get programs response {
  "data": {
    "programs": [{
      "constraints": {
        "execution": "startonly"
      },
      "key": "Cooking.Common.Program.Hood.Automatic"
    }, {
      "constraints": {
        "execution": "startonly"
      },
      "key": "Cooking.Common.Program.Hood.Venting"
    }, {
      "constraints": {
        "execution": "startonly"
      },
      "key": "Cooking.Common.Program.Hood.DelayedShutOff"
    }]
  }
}


list
Internals:
   CFGFN     
   DEF        hcconn SIEMENS-LC97FMR60-68A40E083938
   FUUID      63ff609c-f33f-1d25-98aa-4ace1d5dd81dd1e1
   NAME       LC97FMR60
   NR         13499
   STATE      Inactive
   TYPE       HomeConnect
   aliasname  Dunstabzugshaube
   brand      Siemens
   eventChannelTimeout 1677681097.41412
   eventCount 4
   events     GreaseFilterMaxSaturationNearlyReached,GreaseFilterMaxSaturationReached
   haId       SIEMENS-LC97FMR60-68A40E083938
   hcconn     hcconn
   prefix     Cooking.Hob
   programs   Cooking.Common.Program.Hood.Automatic,Cooking.Common.Program.Hood.Venting,Cooking.Common.Program.Hood.DelayedShutOff
   retrycounter 0
   settings   Cooking.Common.Setting.LightingBrightness,PowerState,Cooking.Common.Setting.Lighting
   type       Hood
   vib        LC97FMR60
   READINGS:
     2023-03-01 15:27:15   Cooking.Common.Setting.Lighting 0
     2023-03-01 15:27:15   Cooking.Common.Setting.LightingBrightness 10 %
     2023-03-01 15:27:02   LocalControlActive 0
     2023-03-01 15:27:02   OperationState  Inactive
     2023-03-01 15:27:15   PowerState      Off
     2023-03-01 15:27:02   RemoteControlActive 1
     2023-03-01 15:27:02   RemoteControlStartAllowed 1
     2023-03-01 15:27:02   state           Inactive
     2023-03-01 15:27:02   tr_RemoteControlState Fernstart aktiv
     2023-03-01 15:27:02   tr_State1       Ruhezustand
     2023-03-01 15:27:02   tr_State2       Ruhezustand
   helper:
     bm:
       HomeConnect_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        01.03. 15:26:36
         max        4.10079956054688e-05
         tot        4.10079956054688e-05
         mAr:
           HASH(0x5596c42ba0)
           LC97FMR60 HomeConnect hcconn SIEMENS-LC97FMR60-68A40E083938
       HomeConnect_Get:
         cnt        11
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        01.03. 15:27:15
         max        0.00355410575866699
         tot        0.00589942932128906
         mAr:
           HASH(0x5596c42ba0)
           LC97FMR60
           Settings
       HomeConnect_Set:
         cnt        26
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        01.03. 15:27:01
         max        0.00465083122253418
         tot        0.0153396129608154
         mAr:
           HASH(0x5596c42ba0)
           LC97FMR60
           init


Zitat von: Prof. Dr. Peter Henning am 01 März 2023, 14:17:57
@Supadone:
Wundert mich etwas. Mindestens set childLock on/off sollte bei der Kaffeemaschine funktionieren.

Sorry, du hast recht. set childLock on/off ist mir wohl beim ausprobieren durchgerutscht
2023.03.01 15:40:29.090 3: [HomeConnect] TI909701HC: set command: childLock
2023.03.01 15:40:31.106 1: [HomeConnect_ReadEventChannel] TI909701HC: ChildLock = 1
2023.03.01 15:40:34.738 1: [HomeConnect_ReadEventChannel] TI909701HC: ChildLock = 1
2023.03.01 15:40:59.541 3: [HomeConnect] TI909701HC: set command: childLock
2023.03.01 15:41:01.318 1: [HomeConnect_ReadEventChannel] TI909701HC: ChildLock = 0
2023.03.01 15:41:05.061 1: [HomeConnect_ReadEventChannel] TI909701HC: ChildLock = 0

Prof. Dr. Peter Henning

Das hängt mit der vollkommen unlogischen Struktur des API zusammen: Es gibt Settings und Options, und bei den Options solche, die man separat setzen kann, und solche, die man nur zusammen mit dem Startbefehl loswerden kann. Und die Präfixe sind noch absurder gewählt...

LG

pah

Prof. Dr. Peter Henning

#32
So, jetzt habe ich nochmal heftig daran gearbeitet.

Das Modul holt sich jetzt - genau wie die App - alle erlaubten Optionen und Settings aus dem Gerät, es wird nichts mehr hart codiert. Das ist übrigens auch die Empfehlung von BSH für das API, die harte Codierung der Optionen in der "offiziellen" Modulversion ignoriert das vollkommen.

Derzeit muss man "Get <device> Settings" noch manuell anstoßen falls das leer ist. Mit einem "Get <device> Programs" werden die Programme befüllt - soweit vorhanden. Mit einem "Set <device> SelectedProgram <Programm>" wird das dann ausgewählt, ferner automatisch alle Optionen dafür geholt.

Derzeit muss man dann noch manuell einmal die Seite reloaden - damit die Dropdown-Liste im "Set" die richtigen Werte bekommt.

Und dann muss man das Programm auch noch mit "StartProgram" manuell starten.

Vorher kann man durchaus mit "Set <device> DelayEndTime <hh:mm>" eine Zeit setzen, zu der das Programm zu Ende sein soll.

Das funktioniert bei Waschmaschine und Spülmaschine schon sehr gut.

Auch der CoffeeMaker und andere Geräte sollten jetzt funktionieren. Achtung: Während die Set-Befehle vorher mit Kleinbuchstaben begannen, beginnen sie jetzt genau wie die Readings mit Großbuchstaben.

Noch nicht ganz ausgetestet ist, was beim Setzen von includePrefixes=1 geschieht. Das liegt daran, dass die BSH-Entwickler aus irgendeinem kühlen Grund sogar bei Programmen unterschiedliche Prefixes verwenden...

LG

pah

Supadone

Ich habe gerade mal versucht mir einen Kaffee mit dem Modul zu machen, hat leider noch nicht ganz geklappt ;)

Es fehlt leider ein Befehl die Maschine überhaupt einzuschalten.

set SelectedProgramm Beverega.Coffee wird an der Maschine korrekt ausgeführt
2023.03.03 10:11:50.349 3: [HomeConnect] TI909701HC: set command: SelectedProgram
2023.03.03 10:11:52.048 1: [HomeConnect_GetProgramOptionsResponse] TI909701HC: key CoffeeTemperature has current value  and default value 94C
2023.03.03 10:11:52.048 1: [HomeConnect_GetProgramOptionsResponse] TI909701HC: key BeanAmount has current value VeryStrong and default value VeryStrong
2023.03.03 10:11:52.048 1: [HomeConnect_GetProgramOptionsResponse] TI909701HC: key FillQuantity has current value 60 ml and default value 120
2023.03.03 10:11:52.048 1: [HomeConnect_GetProgramOptionsResponse] TI909701HC: key FlowRate has current value Normal and default value Normal
2023.03.03 10:11:52.049 1: [HomeConnect_GetProgramOptionsResponse] TI909701HC: key BeanContainerSelection has current value Right and default value Right
2023.03.03 10:11:54.652 1: [HomeConnect_ReadEventChannel] TI909701HC: SelectedProgram = Beverage.Coffee
2023.03.03 10:11:54.666 1: [HomeConnect_ReadEventChannel] TI909701HC: FillQuantity = 120


eine Veränderung der Parameter ist aber wiederum leider nicht möglich. Die Einstellungen per App werden aber von der Maschine unterstützt.
2023.03.03 10:11:59.357 3: [HomeConnect] TI909701HC: set command: CoffeeTemperature
2023.03.03 10:11:59.544 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.03 10:26:50.675 3: [HomeConnect] TI909701HC: set command: BeanAmount
2023.03.03 10:26:50.833 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.03 10:27:50.662 3: [HomeConnect] TI909701HC: set command: BeanContainerSelection
2023.03.03 10:27:50.817 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.03 10:28:03.069 3: [HomeConnect] TI909701HC: set command: FlowRate
2023.03.03 10:28:03.214 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"


Der Kaffee wird korrekt zubereitet:
2023.03.03 10:22:46.724 3: [HomeConnect] TI909701HC: set command: StartProgram
2023.03.03 10:22:46.724 1: [HomeConnect] TI909701HC: start program Beverage.Coffee with uri /api/homeappliances/SIEMENS-TI909701HC-68A40E15C2B9/programs/active and data {"data":{"key":"ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee","options":[]}}
2023.03.03 10:22:51.725 1: [HomeConnect_ReadEventChannel] TI909701HC: OperationState = ActionRequired
2023.03.03 10:22:51.745 1: [HomeConnect_ReadEventChannel] TI909701HC: OperationState = Run
2023.03.03 10:22:51.753 1: [HomeConnect_ReadEventChannel] TI909701HC: ActiveProgram = Beverage.Coffee
2023.03.03 10:22:51.760 1: [HomeConnect_ReadEventChannel] TI909701HC: key BSH.Common.Root.SelectedProgram has extra prefix for
2023.03.03 10:22:51.760 1: [HomeConnect_ReadEventChannel] TI909701HC: SelectedProgram =
2023.03.03 10:24:07.238 1: [HomeConnect_ReadEventChannel] TI909701HC: OperationState = Finished
2023.03.03 10:24:07.253 1: [HomeConnect_ReadEventChannel] TI909701HC: SelectedProgram = Beverage.Coffee
2023.03.03 10:24:07.268 1: [HomeConnect_ReadEventChannel] TI909701HC: OperationState = Ready
2023.03.03 10:24:07.283 1: [HomeConnect_ReadEventChannel] TI909701HC: key BSH.Common.Root.ActiveProgram has extra prefix for
2023.03.03 10:24:07.283 1: [HomeConnect_ReadEventChannel] TI909701HC: ActiveProgram =
2023.03.03 10:24:07.302 1: [HomeConnect_ReadEventChannel] TI909701HC: BeverageCounterCoffee = 1725



Ein set PowerOff klappt leider auch nicht und führt zu folgender Meldung
2023.03.03 10:10:34.221 3: [HomeConnect] TI909701HC: set command: PowerOff
2023.03.03 10:10:34.455 1: [HomeConnect_HandleError] TI909701HC: Error "Key BSH.Common.Setting.PowerState has unknown enum type or enum member BSH.Common.EnumType.PowerState.Off."


Es gibt noch auch noch ein set ConsumerProducts.CoffeeMaker.Setting.CupWarmer, hier müsste noch der Präfix entfernt werden.


Supadone

Bei der Dunstabzughaube klappt leider der Befehl zum starten nicht.

2023.03.03 11:30:20.730 3: [HomeConnect] LC97FMR60: set command: StartProgram
2023.03.03 11:30:20.730 1: [HomeConnect] LC97FMR60: start program Hood.Venting with uri /api/homeappliances/SIEMENS-LC97FMR60-68A40E083938/programs/active and data {"data":{"key":"Cooking.Hob.Program.Hood.Venting","options":[]}}
2023.03.03 11:30:21.274 1: [HomeConnect_HandleError] LC97FMR60: Error "Unknown program feature key: Cooking.Hob.Program.Hood.Venting"


Die set-Befehle Cooking.Common.Setting.Lighting und Cooking.Common.Setting.LightingBrightness haben noch den Präfix und können nicht über ein Dropdown-Feld geschaltet werden. Mit 1/0 bzw on/off wird der Befehl aber ausgeführt
2023.03.03 11:33:22.132 3: [HomeConnect] LC97FMR60: set command: Cooking.Common.Setting.Lighting
2023.03.03 11:33:25.194 1: [HomeConnect_ReadEventChannel] LC97FMR60: Lighting = 1
2023.03.03 11:33:25.195 1: [HomeConnect_ReadEventChannel] LC97FMR60: LightingBrightness = 15
2023.03.03 11:33:25.209 1: [HomeConnect_ReadEventChannel] LC97FMR60: LightingBrightness = 82
2023.03.03 11:33:25.216 1: [HomeConnect_ReadEventChannel] LC97FMR60: LightingBrightness = 100


Grüße

Andy

Prof. Dr. Peter Henning

#35
ZitatDer Kaffee wird korrekt zubereitet:

Das ist mal das Allerwichtigste. Den Rest bekommen wir auch noch hin, da muss ich noch ein wenig in der Doku für CoffeeMaker wühlen.

Schon mal vorab zur Dunstabzugshaube: In Zeile 137 des Moduls steht
my $HC_HoodPrefix = "Cooking.Hob";
Das ist natürlich falsch, dort muss hin
my $HC_HoodPrefix = "Cooking.Hood";
Dann sollte auch das Schalten klappen und die Settings stimmen.

Edit: Zum Coffeemaker.

PowerOn wird nur angezeigt, wenn die Kiste ausgeschaltet ist. Erschien mir sinnvoll.


Bitte mal im Device das Attribut HC_debug auf 1 setzen. Dann kommt beim Ändern einer Option eine Nachricht im Log wie
Zitat[HomeConnect_Set] changing option with uri .... and data ...

Die bräuchte ich mal.

LG

pah

Anliegend Version 1.0alpha6

Supadone

Zitat von: Prof. Dr. Peter Henning am 03 März 2023, 15:23:30
PowerOn wird nur angezeigt, wenn die Kiste ausgeschaltet ist. Erschien mir sinnvoll.

Ja, aber leider wird bei der Kaffeemaschine auch im ausgeschaltetem Zustand nur PowerOff angezeigt.

Bei der Dunstabzugshaube funktioniert nun auch das PowerOn und PowerOff.
Hier finde ich es aber nicht so sinnvoll alle weiteren set-Befehle erst nach einem PowerOn zu bekommen. Das PowerOn startet automatisch die Dunstabzugshaube, die Kochfeldbeleuchtung kann somit nicht mehr unabhängig von der Abluftfunktion gesteuert werden (hatte ich zum Beispiel immer mit einem Bewegungsmelder in der Küche gekoppelt)

Zitat von: Prof. Dr. Peter Henning am 03 März 2023, 15:23:30
Bitte mal im Device das Attribut HC_debug auf 1 setzen. Dann kommt beim Ändern einer Option eine Nachricht im Log wie
Die bräuchte ich mal.
2023.03.03 17:26:31.071 1: [HomeConnect_Set] changing setting with uri /api/homeappliances/SIEMENS-LC97FMR60-68A40E083938/settings/Cooking.Common.Setting.Lighting and data {"data":{"key":"Cooking.Common.Setting.Lighting","value":true}}


Grüße

Andy

Prof. Dr. Peter Henning

ZitatJa, aber leider wird bei der Kaffeemaschine auch im ausgeschaltetem Zustand nur PowerOff angezeigt.
Hmmmm. Verstehe ich noch nicht ganz.

ZitatHier finde ich es aber nicht so sinnvoll alle weiteren set-Befehle erst nach einem PowerOn zu bekommen
Das ist sehr richtig - beim Kochfeld und den Backöfen geht ja der AlarmTimer auch unabhängig vom Betriebszustand. Da werde ich mir also für die "Hood" irgendetwas ausdenken, um das zu vermeiden.

Was ergibt denn der Befehl
{Dumper($defs{"LC97FMR60"}->{data}->{options})}

LG

pah

Supadone

Zitat von: Prof. Dr. Peter Henning am 03 März 2023, 20:06:17
Hmmmm. Verstehe ich noch nicht ganz.

Es sieht so aus als würde nicht "erkannt werden" dass der Status Inactive ist. Das Reading ist zwar da, aber es sind alle anderen set-Befehle vorhanden wie wenn das Gerät eingeschaltet ist.

Zitat von: Prof. Dr. Peter Henning am 03 März 2023, 20:06:17
Was ergibt denn der Befehl
{Dumper($defs{"LC97FMR60"}->{data}->{options})}

Sorry, ich steh gerade auf dem Schlauch. Wo soll ich das denn eingeben? Einfach in der Eingabezeile? Dann kommt
$VAR1 = {};

Grüße

Andy

Prof. Dr. Peter Henning

#39
Hmmm. Wieder eine Ungereimtheit im API, denn bisher habe ich die Anzeige davon abhängig gemacht, ob "PowerState" = Off ist. Scheint also beim Coffemaker nicht zu funktionieren, sondern da ist dann "OperationState" das Relevante.

Ich habe jetzt mal die ganzen Restriktionen für die Anzeige der grundlegenden Kommandos herausgenommen, sie werden also in der anliegenden Version immer(!) in der Liste angezeigt. Das ist offenbar für die Entwicklung nötig.

Und zum Thema des Dumper-Kommandos: Ja, genau dort. Und eigentlich sollte dann die Anzeige der ganze mit GetProgramOptions geholte Kram sein, also z.B.

Zitat$VAR1 = {
          'FinishInRelative' => [
                                  'BSH.Common.Option',
                                  'Int',
                                  0,
                                  '(0,86400)',
                                  undef,
                                  undef
                                ],
          'Temperature' => [
                             'LaundryCare.Washer.Option',
                             'LaundryCare.Washer.EnumType.Temperature',
                             'Cold',
                             'Cold,GC20,GC30,GC40,GC50,GC60,GC70,GC80,GC90',
                             bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                             undef
                           ],
          'SpinSpeed' => [
                           'LaundryCare.Washer.Option',
                           'LaundryCare.Washer.EnumType.SpinSpeed',
                           'RPM400',
                           'RPM400,RPM600,RPM800,RPM1000,RPM1200,RPM1400',
                           $VAR1->{'Temperature'}[4],
                           undef
                         ]
        };

LG

pah

Supadone

Bei der Kaffeemaschine klappts, bei der Dunstabzugshaube leider nicht. Ändert auch nichts daran ob der Status Inactive oder Running ist.

Für die Kaffeemaschine:
$VAR1 = {
          'BeanContainerSelection' => [
                                        'ConsumerProducts.CoffeeMaker.Option',
                                        'ConsumerProducts.CoffeeMaker.EnumType.BeanContainerSelection',
                                        'Right',
                                        'Right,Left',
                                        bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                                        undef
                                      ],
          'CoffeeTemperature' => [
                                   'ConsumerProducts.CoffeeMaker.Option',
                                   'ConsumerProducts.CoffeeMaker.EnumType.CoffeeTemperature',
                                   '94C',
                                   '88C,90C,92C,94C,95C,96C',
                                   $VAR1->{'BeanContainerSelection'}[4],
                                   undef
                                 ],
          'FillQuantity' => [
                              'ConsumerProducts.CoffeeMaker.Option',
                              'Int',
                              120,
                              '(60,260)',
                              $VAR1->{'BeanContainerSelection'}[4],
                              undef
                            ],
          'BeanAmount' => [
                            'ConsumerProducts.CoffeeMaker.Option',
                            'ConsumerProducts.CoffeeMaker.EnumType.BeanAmount',
                            'VeryStrong',
                            'VeryMild,Mild,MildPlus,Normal,NormalPlus,Strong,StrongPlus,VeryStrong,VeryStrongPlus,ExtraStrong,DoubleShot,DoubleShotPlus,DoubleShotPlusPlus,CoffeeGround',
                            $VAR1->{'BeanContainerSelection'}[4],
                            undef
                          ],
          'FlowRate' => [
                          'ConsumerProducts.CoffeeMaker.Option',
                          'ConsumerProducts.CoffeeMaker.EnumType.FlowRate',
                          'Normal',
                          'Normal,Intense,IntensePlus',
                          $VAR1->{'BeanContainerSelection'}[4],
                          undef
                        ]
        };


Zitat von: Prof. Dr. Peter Henning am 04 März 2023, 05:54:48
Ich habe jetzt mal die ganzen Restriktionen für die Anzeige der grundlegenden Kommandos herausgenommen, sie werden also in der anliegenden Version immer(!) in der Liste angezeigt. Das ist offenbar für die Entwicklung nötig.
Jetzt ist auch PowerOn vorhanden und lässt sich problemlos starten :)

Grüße

Andy

Prof. Dr. Peter Henning

#41
Na, schon einen Schritt weiter...

1. Funktioniert jetzt ALLES bei der Kaffeemaschine? Auch der CupWarmer?

2. Es gibt eine neue Logzeile für Debug-Zwecke:
"[HomeConnect_PowerState] $name: setting PowerState->$target while OperationState=$operationState and PowerState=$powerState";

Da wüsste ich doch gerne mal, wie die bei den beiden Geräten lautet.

3. Betreffend die Haube: Unten hieß es ja
Zitat2023.03.03 11:30:20.730 3: [HomeConnect] LC97FMR60: set command: StartProgram
2023.03.03 11:30:20.730 1: [HomeConnect] LC97FMR60: start program Hood.Venting with uri /api/homeappliances/SIEMENS-LC97FMR60-68A40E083938/programs/active and data {"data":{"key":"Cooking.Hob.Program.Hood.Venting","options":[]}}
2023.03.03 11:30:21.274 1: [HomeConnect_HandleError] LC97FMR60: Error "Unknown program feature key: Cooking.Hob.Program.Hood.Venting"

was nicht funktionieren konnte wegen "Hob". Wie bitte lautet die Fehlermeldung jetzt?

Edit 4. Ich habe für Debugzwecke ein neues Kommando eingebaut, das in der "Set"-Liste als "ZZZ_Dump" auftaucht. Damit kann man die umständlichen Dumper-Befehle auf einen Knopfdruck ausführen. Was ergibt dieses ZZZ_Dump bei der Dunstabzugshaube?


LG

pah

Supadone

1. Der CupWarmer lässt sich mit set TI909701HC ConsumerProducts.CoffeeMaker.Setting.CupWarmer 1 einschalten und mit 0 ausschalten
2023.03.04 12:03:12.262 3: [HomeConnect] TI909701HC: set command: ConsumerProducts.CoffeeMaker.Setting.CupWarmer
2023.03.04 12:03:18.036 1: [HomeConnect_ReadEventChannel] TI909701HC: CupWarmer = 1
2023.03.04 12:03:25.593 3: [HomeConnect] TI909701HC: set command: ConsumerProducts.CoffeeMaker.Setting.CupWarmer
2023.03.04 12:03:30.761 1: [HomeConnect_ReadEventChannel] TI909701HC: CupWarmer = 0


Bei allen anderen gibt es leider wieder Fehlermeldungen
2023.03.04 12:10:05.981 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.04 12:10:31.181 3: [HomeConnect] TI909701HC: set command: FillQuantity
2023.03.04 12:10:31.195 1: [HomeConnect_Set] changing option with uri /api/homeappliances/SIEMENS-TI909701HC-68A40E15C2B9/programs/active/options/FillQuantity and data {"data":{"key":"FillQuantity","value":200,"unit":"ml"}}
2023.03.04 12:10:31.327 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.04 12:10:43.561 3: [HomeConnect] TI909701HC: set command: BeanContainerSelection
2023.03.04 12:10:43.570 1: [HomeConnect_Set] changing option with uri /api/homeappliances/SIEMENS-TI909701HC-68A40E15C2B9/programs/active/options/BeanContainerSelection and data {"data":{"key":"BeanContainerSelection","value":"optval"}}
2023.03.04 12:10:43.864 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.04 12:10:51.849 3: [HomeConnect] TI909701HC: set command: BeanAmount
2023.03.04 12:10:51.862 1: [HomeConnect_Set] changing option with uri /api/homeappliances/SIEMENS-TI909701HC-68A40E15C2B9/programs/active/options/BeanAmount and data {"data":{"key":"BeanAmount","value":"optval"}}
2023.03.04 12:10:51.996 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.04 12:11:09.202 3: [HomeConnect] TI909701HC: set command: FlowRate
2023.03.04 12:11:09.214 1: [HomeConnect_Set] changing option with uri /api/homeappliances/SIEMENS-TI909701HC-68A40E15C2B9/programs/active/options/FlowRate and data {"data":{"key":"FlowRate","value":"optval"}}
2023.03.04 12:11:09.419 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"
2023.03.04 12:11:37.074 3: [HomeConnect] TI909701HC: set command: CoffeeTemperature
2023.03.04 12:11:37.085 1: [HomeConnect_Set] changing option with uri /api/homeappliances/SIEMENS-TI909701HC-68A40E15C2B9/programs/active/options/CoffeeTemperature and data {"data":{"key":"CoffeeTemperature","value":"optval"}}
2023.03.04 12:11:37.211 1: [HomeConnect_HandleError] TI909701HC: Error "Program option not supported"


2. Die Kaffeemaschine lässt sich jetzt mit PowerOff nicht mehr ausschalten. Einschalten geht aber.
2023.03.04 12:27:22.372 3: [HomeConnect] TI909701HC: set command: PowerOff
2023.03.04 12:27:22.376 1: [HomeConnect_PowerState] TI909701HC: setting PowerState->Off while OperationState=Ready and PowerState=On
2023.03.04 12:27:22.627 1: [HomeConnect_HandleError] TI909701HC: Error "Key BSH.Common.Setting.PowerState has unknown enum type or enum member BSH.Common.EnumType.PowerState.Off."

2023.03.04 12:29:04.863 3: [HomeConnect] TI909701HC: set command: PowerOn
2023.03.04 12:29:04.863 1: [HomeConnect_PowerState] TI909701HC: setting PowerState->On while OperationState=Inactive and PowerState=Standby
2023.03.04 12:29:13.931 1: [HomeConnect_ReadEventChannel] TI909701HC: OperationState = Run
2023.03.04 12:29:13.946 1: [HomeConnect_ReadEventChannel] TI909701HC: PowerState = On
2023.03.04 12:29:13.961 1: [HomeConnect_ReadEventChannel] TI909701HC: ActiveProgram = CleaningModes.ApplianceOnRinsing


Ausschalten der Dunstabzugshaube
2023.03.04 12:26:04.455 1: [HomeConnect_PowerState] LC97FMR60: setting PowerState->On while OperationState=Inactive and PowerState=Off


3. PowerOn und PowerOff funktionieren hier problemlos
2023.03.04 12:33:06.765 3: [HomeConnect] LC97FMR60: set command: PowerOn
2023.03.04 12:33:06.765 1: [HomeConnect_PowerState] LC97FMR60: setting PowerState->On while OperationState=Inactive and PowerState=Off
2023.03.04 12:33:12.124 1: [HomeConnect_ReadEventChannel] LC97FMR60: PowerState = On
2023.03.04 12:33:12.125 1: [HomeConnect_ReadEventChannel] LC97FMR60: key BSH.Common.Root.ActiveProgram has extra prefix for Cooking.Common.Program.Hood.Venting
2023.03.04 12:33:12.125 1: [HomeConnect_ReadEventChannel] LC97FMR60: ActiveProgram = Cooking.Common.Program.Hood.Venting
2023.03.04 12:33:12.366 1: [HomeConnect_ReadEventChannel] LC97FMR60: OperationState = Run


Den Modus (automatische Stärke, Timer) wechseln kann man leider nicht, es kommt (bei bereits laufendem Dunstabzug:
2023.03.04 12:32:42.264 3: [HomeConnect] LC97FMR60: set command: StartProgram
2023.03.04 12:32:42.264 1: [HomeConnect] LC97FMR60: start program Hood.DelayedShutOff with uri /api/homeappliances/SIEMENS-LC97FMR60-68A40E083938/programs/active and data {"data":{"key":"Cooking.Hob.Program.Hood.DelayedShutOff","options":[]}}
2023.03.04 12:32:42.518 1: [HomeConnect_HandleError] LC97FMR60: Error "Unknown program feature key: Cooking.Hob.Program.Hood.DelayedShutOff"


Auch nur die Kochfeldbeleuchtung steuern funktioniert:
2023.03.04 12:31:20.961 3: [HomeConnect] LC97FMR60: set command: Cooking.Common.Setting.Lighting
2023.03.04 12:31:20.973 1: [HomeConnect_Set] changing setting with uri /api/homeappliances/SIEMENS-LC97FMR60-68A40E083938/settings/Cooking.Common.Setting.Lighting and data {"data":{"key":"Cooking.Common.Setting.Lighting","value":true}}
2023.03.04 12:31:25.609 1: [HomeConnect_ReadEventChannel] LC97FMR60: Lighting = 1
2023.03.04 12:31:25.609 1: [HomeConnect_ReadEventChannel] LC97FMR60: LightingBrightness = 66
2023.03.04 12:31:25.615 1: [HomeConnect_ReadEventChannel] LC97FMR60: LightingBrightness = 100


Ich vermisse hier nur irgendwie noch die Möglichkeit die Stufe der Absaugung zu ändern.

Edit 4:
Device LC97FMR60 of type Hood has
settings: $VAR1 = undef;

options: $VAR1 = {};


Grüße

Andy

Prof. Dr. Peter Henning

Zu 1a, CupWarmer: OK, abgehakt - ist also ein Setting, keine Option
Zu 1b: Bitte vorher ausführen: 1. Get Programs, 2. Set SelectedProgram <irgendwas> 3. Get ProgramOptions. Dann reload der Seite, erst dann sieht man, ob diese Options in diesem Programm überhaupt verfügbar sind.

Zu 2: OK, beim Ausschalten muss man ggf. mit Standby arbeiten. Bitte mal in der Kommandozeile eingeben: set TI909701HC PowerStandby

Zu 3: Sonnenklar. Mit "Cooking.Hob.Program.Hood.DelayedShutOff" kann man eine Dunstabzugshaube nicht schalten, da müsste "Cooking.Hood.Program.Hood.DelayedShutOff" stehen. Ich frage mich, wieso da immer noch "Cooking.Hob" steht. Eventuell müsste FHEM mal neu gestartet werden.

Zu 4: Das sollte nicht leer sein. Also auch hier bitte mal 1. Get Programs, 2. Get Settings 3. Set SelectedProgram <irgendwas> 4. Get ProgramOptions.

LG

pah

Supadone

So, bei der Gelegenheit hab ich gleich mal den ganzen Raspberry neugestartet.

Jetzt ist im Device alles wieder auf Anfang und ich kann nur ein get TI909701HC settings ausführen, ist das noch so gewollt?

get settings führt jetzt nun leider zu einem neustart von Fhem
2023.03.06 10:16:57.960 1: [HomeConnect_Set] TI909701HC: no settings defined, please execute Get TI909701HC Settings
2023.03.06 10:21:32.728 1: [HomeConnect_ResponseGetSettings] TI909701HC: get settings response {
  "data": {
    "settings": [{
      "key": "BSH.Common.Setting.ChildLock",
      "value": false
    }, {
      "key": "BSH.Common.Setting.PowerState",
      "value": "BSH.Common.EnumType.PowerState.Standby"
    }]
  }
}
2023.03.06 10:21:32.728 1: [HomeConnect_ResponseGetSettings] TI909701HC: updating setting ChildLock to 0
Undefined subroutine &main::defind called at ./FHEM/48_HomeConnect.pm line 1376.
2023.03.06 10:21:33.452 1: Including fhem.cfg


Danach ist wieder nur ein get TI909701HC settings verfügbar, bei der Dunstabzugshaube passiert leider das gleiche...

Grüße

Andy