Ergonomische Version von 48_HomeConnect.pm

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

#105
So, ich habe jetzt noch einmal ordentlich nachgelegt, verschiedene kleinere Sachen behoben.

Alle Features habe ich mit meinen 4 Geräten durchgetestet.

Die Waschmaschine und die Spülmaschine steuer ich über je ein Dummy und ein DOIF so, dass ich mit einem einzigen Befehl alles starten kann und nicht fünfmal klicken muss. Nachfolgend zunächst diese Hilfsdevices:

defmod Geschirrspuelen dummy
attr Geschirrspuelen group Waschen
attr Geschirrspuelen readingList active event phase
attr Geschirrspuelen room Kontrollraum
attr Geschirrspuelen setList EndTime:time StartTime:time RelativeTime:time

defmod Geschirrspuelen.N DOIF ## 1. Setze Phase \
([SN55ZS49CE:".*tr_State1.*"] & [Geschirrspuelen:active] !~ /wait/)\
({fhem("setreading Geschirrspuelen phase ".ReadingsVal("SN55ZS49CE","tr_State1",""))},\
 {fhem90Cmd("setreading Geschirrspuelen phase ".ReadingsVal("SN55ZS49CE","tr_State1",""))})\
## 2. Finished\
DOELSEIF\
([SN55ZS49CE:".*Finished.*"] and [07:00-22:30])\
({speak("TText xxxx",":130:")},\
 {speak("Tab1.EG",":130:")},\
 setreading Geschirrspuelen event Finished,\
 {fhem90Cmd("setreading Geschirrspuelen event Finished")})\
## 3. und 4. Klarspüler\
DOELSEIF\
([SN55ZS49CE:".*RinseAidNearlyEmpty.*Present.*"])\
(set Geschirrspuelen event RinseAidNearlyEmpty,\
 {fhem90Cmd("set Geschirrspuelen event RinseAidNearlyEmpty")},\
 {fhem90Cmd("setreading Device.warn Appliance.nok Spülmaschine benötigt Klarspüler")})\
DOELSEIF\
([SN55ZS49CE:".*RinseAidNearlyEmpty.*Off.*"])\
({fhem90Cmd("setreading Device.warn Appliance.nok none")})\
## 5. und 6. Spülmaschinensalz\
DOELSEIF\
([SN55ZS49CE:".*SaltNearlyEmpty.*Present.*"])\
(set Geschirrspuelen event SaltNearlyEmpty,\
 {fhem90Cmd("set Geschirrspuelen event SaltNearlyEmpty")},\
 {fhem90Cmd("setreading Device.warn Appliance.nok Spülmaschine benötigt Salz")})\
DOELSEIF\
([SN55ZS49CE:".*SaltNearlyEmpty.*Off.*"])\
({fhem90Cmd("setreading Device.warn Appliance.nok none")})\
## 7. Anschalten\
DOELSEIF\
([Geschirrspuelen:".*Time.*"] and ([SN55ZS49CE:state] !~ /Ready/))\
 (set SN55ZS49CE PowerOn,\
  {Log 1,"=======> Powering on SN55ZS49CE"},\
  setreading Geschirrspuelen event $EVENT,\
  setreading Geschirrspuelen active wait)\
## 8. - 10. Auswahl Programm, Setzen Verzögerung, Start \
DOELSEIF\
( ([Geschirrspuelen:event] =~ /RelativeTime.*/ and [Geschirrspuelen:active] ne "start" and [SN55ZS49CE:".*Ready.*"]) or ([Geschirrspuelen:".*RelativeTime.*"] and [Geschirrspuelen:active] ne "start" and [SN55ZS49CE] =~ /Ready/) )\
 (set SN55ZS49CE SelectedProgram Eco50,\
  {Log 1,"=======> Selecting Eco50 on SN55ZS49CE"})\
 (set SN55ZS49CE DelayRelative {(my @evt = split(/ /,ReadingsVal("Geschirrspuelen","event",""));;;;Log 1,"=======> Setting SN55ZS49CE to relative delay $evt[1]";;;;return $evt[1])} )\
 (set SN55ZS49CE StartProgram,\
  {Log 1,"=======> Delayed start SN55ZS49CE"},\
  setreading Geschirrspuelen event DelayedStart,\
  setreading Geschirrspuelen active no)\
DOELSEIF\
(([Geschirrspuelen:event] =~ /EndTime.*/ and [Geschirrspuelen:active] ne "start" and [SN55ZS49CE:".*Ready.*"]) or ([Geschirrspuelen:".*EndTime.*"] and [Geschirrspuelen:active] ne "start" and [SN55ZS49CE] =~ /Ready/))\
 (set SN55ZS49CE SelectedProgram Eco50,\
  {Log 1,"=======> Selecting Eco50 on SN55ZS49CE"})\
 (set SN55ZS49CE DelayEndTime {(my @evt = split(/ /,ReadingsVal("Geschirrspuelen","event",""));;;;Log 1,"=======> Setting SN55ZS49CE to endtime delay $evt[1]";;;;return $evt[1])} )\
 (set SN55ZS49CE StartProgram,\
  {Log 1,"=======> Delayed start SN55ZS49CE"},\
  setreading Geschirrspuelen event DelayedStart,\
  setreading Geschirrspuelen active no)\
DOELSEIF\
(([Geschirrspuelen:event] =~ /StartTime.*/ and [Geschirrspuelen:active] ne "start" and [SN55ZS49CE:".*Ready.*"]) or ([Geschirrspuelen:".*StartTime.*"] and [Geschirrspuelen:active] ne "start" and [SN55ZS49CE] =~ /Ready/))\
 (set SN55ZS49CE SelectedProgram Eco50,\
  {Log 1,"=======> Selecting Eco50 on SN55ZS49CE"})\
 (set SN55ZS49CE DelayStartTime {(my @evt = split(/ /,ReadingsVal("Geschirrspuelen","event",""));;;;Log 1,"=======> Setting SN55ZS49CE to starttime delay $evt[1]";;;;return $evt[1])} )\
 (set SN55ZS49CE StartProgram,\
  {Log 1,"=======> Delayed start SN55ZS49CE"},\
  setreading Geschirrspuelen event DelayedStart,\
  setreading Geschirrspuelen active no)
attr Geschirrspuelen.N cmdpause 0:0:0:0:0:0:0:5:5:5
attr Geschirrspuelen.N comment [HomeConnect_ReadEventChannel] SN55ZS49CE: RinseAidNearlyEmpty = Present
attr Geschirrspuelen.N do always
attr Geschirrspuelen.N group Waschen
attr Geschirrspuelen.N repeatsame 0:1:1:1:1:1:3:1:1:1
attr Geschirrspuelen.N room Kontrollraum
attr Geschirrspuelen.N sortby 0
attr Geschirrspuelen.N stateFormat {ReadingsVal("Geschirrspuelen","event","")." ==> ".ReadingsVal($name,"state","")." ; ; ;".ReadingsTimestamp($name,"state","")}
attr Geschirrspuelen.N wait 0:0:0:0:0:0:0:5,10,2:5,10,2:5,10,2

Mit den Zeiten im wait-Attribut muss man ggf. noch spielen, bei mir funktioniert es so.

defmod Waschen dummy
attr Waschen userattr defaultProgram
attr Waschen defaultProgram Cotton
attr Waschen group Waschen
attr Waschen readingList active Temperature
attr Waschen room Kontrollraum
attr Waschen setList Temperature:30,60 EndTime:time StartTime:time RelativeTime:time Program

defmod Waschen.N DOIF ## 1. Setze Phase \
([WAV28G43:".*tr_State1.*"] & [Waschen:active] !~ /wait/)\
({fhem("setreading Waschen phase ".ReadingsVal("WAV28G43","tr_State1",""))},\
 {fhem90Cmd("setreading Waschen phase ".ReadingsVal("WAV28G43","tr_State1",""))})\
## 2. Finished\
DOELSEIF\
([WAV28G43:".*Finished.*"] and [07:00-22:30])\
({speak("TText xxxx",":131:")},\
 {speak("TText xxxx",":131:")},\
 {speak('Tab1.EG',":131:")},\
 setreading Waschen event Finished)\
## 3. - 5. Auswahl Programm, Setzen Verzögerung, Start \
DOELSEIF\
( [Waschen:".*RelativeTime.*"] and [Waschen:active] ne "start" and [WAV28G43:state] =~ /Ready/ )\
 ( setreading Waschen event $EVENT,\
   set WAV28G43 SelectedProgram Cotton,\
  {Log 1,"=======> Selecting Cotton on WAV28G43"})\
 ({fhem("set WAV28G43 Temperature GC".ReadingsVal("Waschen","Temperature","30"))})\
 (set WAV28G43 DelayRelative {(my @evt = split(/ /,ReadingsVal("Waschen","event",""));;;;Log 1,"=======> Setting WAV28G43 to relative delay $evt[1]";;;;return $evt[1])} )\
 (set WAV28G43 StartProgram,\
  {Log 1,"=======> Delayed start WAV28G43"},\
  setreading Waschen event DelayedStart,\
  setreading Waschen active no)\
DOELSEIF\
( [Waschen:".*EndTime.*"] and [Waschen:active] ne "start" and [WAV28G43:state] =~ /Ready/ )\
 (setreading Waschen event $EVENT,\
  set WAV28G43 SelectedProgram Cotton,\
  {Log 1,"=======> Selecting Cotton on WAV28G43"})\
 ({fhem("set WAV28G43 Temperature GC".ReadingsVal("Waschen","Temperature","30"))})\
 (set WAV28G43 DelayEndTime {(my @evt = split(/ /,ReadingsVal("Waschen","event",""));;;;Log 1,"=======> Setting WAV28G43 to endtime delay $evt[1]";;;;return $evt[1])} )\
 (set WAV28G43 StartProgram,\
  {Log 1,"=======> Delayed start WAV28G43"},\
  setreading Waschen event DelayedStart,\
  setreading Waschen active no)\
DOELSEIF\
( [Waschen:".*StartTime.*"] and [Waschen:active] ne "start" and [WAV28G43:state] =~ /Ready/ )\
 (setreading Waschen event $EVENT,\
  set WAV28G43 SelectedProgram Cotton,\
  {Log 1,"=======> Selecting Cotton on WAV28G43"})\
 ({fhem("set WAV28G43 Temperature GC".ReadingsVal("Waschen","Temperature","30"))})\
 (set WAV28G43 DelayStartTime {(my @evt = split(/ /,ReadingsVal("Waschen","event",""));;;;Log 1,"=======> Setting WAV28G43 to starttime delay $evt[1]";;;;return $evt[1])} )\
 (set WAV28G43 StartProgram,\
  {Log 1,"=======> Delayed start WAV28G43"},\
  setreading Waschen event DelayedStart,\
  setreading Waschen active no)\

attr Waschen.N cmdpause 10:60:60:60
attr Waschen.N comment 2022-09-06 18:54:31 HomeConnect HBG4785B6 Cooking.Oven.Event.PreheatFinished: BSH.Common.EnumType.EventPresentState.Present
attr Waschen.N do always
attr Waschen.N group Waschen
attr Waschen.N repeatsame 1,1,1,1,1
attr Waschen.N room Kontrollraum
attr Waschen.N sortby 0
attr Waschen.N stateFormat {ReadingsVal("Waschen","event","")." ==> ".ReadingsVal($name,"state","")." ; ; ;".ReadingsTimestamp($name,"state","")}
attr Waschen.N wait 0:0:0,5,10,5:0,5,10,5:0,5,10,5

Hier gilt dasselbe für die wait-Zeiten.

Natürlich kann man dies beliebig anpassen. Im Moment habe ich in den Waschen-Dummy nur das Setzen der Temperatur eingebaut, man könnte da noch 35 andere Dinge hineinsetzen.

Die in dem DOIF verwendete Routine "speak" ist mein persönliches Messaging-System (Sprachausgabe und weiteres).

Und zum Schluss jetzt das Modul, langsam kann ich von einem Beta-Stadium sprechen. Die Fehler in den letzten paar Versionen sind darauf zurückzuführen, dass ich über viele Monate hinweg nicht die Muße hatte, das wirklich anzupacken.

LG

pah

Kuehnhackel

Guten Morgen PAH,

vielen Dank, nun läuft es wieder.

Besteht die Möglichkeit, die Favoriten der Kaffeemaschiene noch "auszulesen"?

In den Readings erscheint es, wenn ich dass entsprechende Programm in der App auswähle unter:
SelectedProgram BSH.Common.Program.Favorite.001
Aber über:
set  TP707D06  SelectedProgram ...erscheint keiner meiner 5 Favoriten in der Auflistung, sondern nur die "Standard" Kaffeesorten

Internals:
programs Beverage.Espresso,Beverage.EspressoDoppio,Beverage.Coffee,Beverage.CaffeGrande,Beverage.XLCoffee,Beverage.Cappuccino,Beverage.LatteMacchiato,Beverage.CaffeLatte,Beverage.MilkFroth,Beverage.WarmMilk,Beverage.HotWater,Beverage.Ristretto,Beverage.EspressoMacchiato,CoffeeWorld.Verlaengerter,CoffeeWorld.KleinerBrauner,CoffeeWorld.WienerMelange,CoffeeWorld.FlatWhite,CoffeeWorld.CafeConLeche,CoffeeWorld.CafeAuLait,CoffeeWorld.KoffieVerkeerd,CoffeeWorld.Americano,CoffeeWorld.GrosserBrauner,CoffeeWorld.VerlaengerterBraun,CoffeeWorld.Cortado,CoffeeWorld.Doppio,CoffeeWorld.CafeCortado,CoffeeWorld.Kaapi,CoffeeWorld.Galao,CoffeeWorld.Garoto,CoffeeWorld.RedEye,CoffeeWorld.BlackEye,CoffeeWorld.DeadEye

Das kommt beim ZZZ-Dump raus:
Device TP707D06 of type CoffeeMaker has
settings: $VAR1 = {
          'CupWarmer' => [
                           'ConsumerProducts.CoffeeMaker.Setting',
                           'ConsumerProducts.CoffeeMaker.Setting',
                           bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                           undef
                         ],
          'ChildLock' => [
                           'BSH.Common.Setting',
                           'BSH.Common.Setting',
                           bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                           undef
                         ],
          'PowerState' => [
                            'BSH.Common.Setting',
                            'BSH.Common.EnumType.PowerState.',
                            'Standby',
                            undef
                          ]
        };

options: $VAR1 = undef;

transtable: $VAR1 = {
          'Beverage.EspressoDoppio ' => ' Espresso doppio',
          'CoffeeWorld.VerlaengerterBraun' => 'Verlängerter Braun',
          'CoffeeWorld.Cortado' => 'Cortado',
          'CoffeeWorld.RedEye' => 'Red Eye',
          'CoffeeWorld.DeadEye' => 'Dead Eye',
          'CoffeeWorld.CafeConLeche' => 'Café con leche',
          'Beverage.LatteMacchiato' => 'Latte Macchiato',
          'CoffeeWorld.Americano' => 'Americano',
          'CoffeeWorld.Galao' => 'Galão',
          'Beverage.Espresso' => 'Espresso',
          'Beverage.Coffee' => 'Caffè crema',
          'CoffeeWorld.Verlaengerter' => 'Verlängerter',
          'CoffeeWorld.WienerMelange' => 'Wiener Melange',
          'Beverage.WarmMilk' => 'Warme Milch',
          'CoffeeWorld.GrosserBrauner' => 'Großer Brauner',
          'CoffeeWorld.Garoto' => 'Garoto',
          'CoffeeWorld.CafeAuLait' => 'Café au lait',
          'CoffeeWorld.Kaapi' => 'Kaapi',
          'Beverage.EspressoMacchiato' => 'Espresso Macchiato',
          'CoffeeWorld.CafeCortado' => 'Café cortado',
          'CoffeeWorld.KleinerBrauner' => 'Kleiner Brauner',
          'CoffeeWorld.FlatWhite' => 'Flat White',
          'CoffeeWorld.BlackEye' => 'Black Eye',
          'Beverage.CaffeeLatte ' => 'Milchkaffee',
          'Beverage.Ristretto' => 'Ristretto',
          'Beverage.Cappuccino' => 'Cappuccino',
          'Beverage.MilkFroth' => 'Milchschaum',
          'CoffeeWorld.KoffieVerkeerd' => 'Koffie verkeerd'
        };

poweroff: $VAR1 = 'PowerStandby';

LG Ralf

Prof. Dr. Peter Henning

#107
Hm... ich habe mal eine einfach Änderung vorgenommen, vielleicht reicht die schon aus. Bitte mal die anhängende Version einspielen.

Zum Thema Kaffemaschine noch etwas, irgendjemand hatte mal geschrieben
ZitatWas ich noch komisch finde: In der App und an der Maschine kann ich noch die Programme "Heißwasser" und "Kaffeekanne" auswählen, in Fhem gibts die aber nicht

Was steht denn in den Readings des Moduls, wenn man diese Programme in der App auswählt?

LG

pah

Kuehnhackel

Zitat von: Prof. Dr. Peter Henning am 11 März 2024, 09:33:05Hm... ich habe mal eine einfach Änderung vorgenommen, vielleicht reicht die schon aus. Bitte mal die anhängende Version einspielen.

Zum Thema Kaffemaschine noch etwas, irgendjemand hatte mal geschrieben
ZitatWas ich noch komisch finde: In der App und an der Maschine kann ich noch die Programme "Heißwasser" und "Kaffeekanne" auswählen, in Fhem gibts die aber nicht

Was steht denn in den Readings des Moduls, wenn man diese Programme in der App auswählt?

LG

pah

Ich kann Milchschaum, Warme Milch und Heisses Wasser auswählen, auch über dein Modul. Aber keine "Kanne Kaffee", dass geht auch bei mir über die App nicht.
In den Readings steht folgendes:
Internals:
programs Beverage.Espresso,Beverage.EspressoDoppio,Beverage.Coffee,Beverage.CaffeGrande,Beverage.XLCoffee,Beverage.Cappuccino,Beverage.LatteMacchiato,Beverage.CaffeLatte,[b]Beverage.MilkFroth[/b],[b]Beverage.WarmMilk[/b],[b]Beverage.HotWater[/b],Beverage.Ristretto,Beverage.EspressoMacchiato,CoffeeWorld.Verlaengerter,CoffeeWorld.KleinerBrauner,CoffeeWorld.WienerMelange,CoffeeWorld.FlatWhite,CoffeeWorld.CafeConLeche,CoffeeWorld.CafeAuLait,CoffeeWorld.KoffieVerkeerd,CoffeeWorld.Americano,CoffeeWorld.GrosserBrauner,CoffeeWorld.VerlaengerterBraun,CoffeeWorld.Cortado,CoffeeWorld.Doppio,CoffeeWorld.CafeCortado,CoffeeWorld.Kaapi,CoffeeWorld.Galao,CoffeeWorld.Garoto,CoffeeWorld.RedEye,CoffeeWorld.BlackEye,CoffeeWorld.DeadEye

Ich teste jetzt mal die letzte Version, von gerade.

LG Ralf

Kuehnhackel

Leider keine Änderung, zu den Favoriten.

Hier die Readings:
ActiveProgram   
BSH.Common.Option.ProgramProgress    0%
BSH.Common.Root.ActiveProgram    -
BSH.Common.Root.SelectedProgram    BSH.Common.Program.Favorite.001
BSH.Common.Setting.PowerState    BSH.Common.EnumType.PowerState.Standby
BSH.Common.Status.LocalControlActive    0
BSH.Common.Status.OperationState    BSH.Common.EnumType.OperationState.Inactive
BSH.Common.Status.RemoteControlStartAllowed    1
BeanAmount    Strong
BeverageCounterCoffee    880
BeverageCounterCoffeeAndMilk    41
BeverageCounterHotWater    0 ml
BeverageCounterHotWaterCups    0
BeverageCounterMilk    0
ChildLock    0
CoffeeMilkRatio    75Percent
ConsumerProducts.CoffeeMaker.Event.DripTrayFull    BSH.Common.EnumType.EventPresentState.Off
ConsumerProducts.CoffeeMaker.Option.BeanAmount    "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.Mild"
ConsumerProducts.CoffeeMaker.Option.FillQuantity    200 ml
ConsumerProducts.CoffeeMaker.Option.MultipleBeverages    true
ConsumerProducts.CoffeeMaker.Status.BeverageCounterCoffee    155
ConsumerProducts.CoffeeMaker.Status.BeverageCounterCoffeeAndMilk    11
ConsumerProducts.CoffeeMaker.Status.BeverageCounterHotWater    0 ml
ConsumerProducts.CoffeeMaker.Status.BeverageCounterHotWaterCups    0
ConsumerProducts.CoffeeMaker.Status.BeverageCounterMilk    0
ConsumerProducts.CoffeeMakerBeverageCounterCoffee    880
ConsumerProducts.CoffeeMakerBeverageCounterCoffeeAndMilk    41
ConsumerProducts.CoffeeMakerBeverageCounterHotWater    0 ml
ConsumerProducts.CoffeeMakerBeverageCounterHotWaterCups    0
ConsumerProducts.CoffeeMakerBeverageCounterMilk    0
CupWarmer    0
DescalingIn15Cups    Off
DescalingIn20Cups    Off
DeviceShouldBeCleaned    Off
DripTrayFull    Off
EstimatedTotalProgramTime    180 seconds
FillQuantity    50 ml
HotWaterTemperature    90C
LocalControlActive    0
MultipleBeverages    0
OperationState    Ready
PowerState    On
ProgramFinished    Off
ProgramProgress    0%
RemoteControlStartAllowed    1
SelectedProgram    CoffeeWorld.KleinerBrauner
WaterTankEmpty    Off
state    Ready
tr_RemoteControlState    Fernstart aktiv
tr_State1    Bereit
tr_State2    Bereit
tr_State3    Bereit

LG Ralf

Rainer H.

#110
Guten Tag,

ich habe seit kurzer Zeit einen Siemens Geschirrspüler. Ich habe diesen laut WIKI in Fhem eingebunden was auch gut funktionierte.

Danach hatte ich die 48:HomeConnect getauscht und mit reload aktiviert.

So nun zu meiner Frage: Das dropdown mit den Programmen ist jetzt weg - ist das so gewollt? oder anders - ist das normal und ist nur noch als INFO gedacht?

Ich habe dann alles gelöscht neu angelegt - dabei ist mir aufgefallen das das webcmd BSH.Common.Root.SelectedProgram:startProgram:stopProgram nicht mehr angelegt wurde.
Wenn ich es manuell wieder einfüge kommt BSH.Common.Root.SelectedProgram an dieser Stelle. Wenn ich den Text anklicke kommt[HomeConnect_Set] SN65YX00AE: unknown program , choose one of Intensiv70,Auto2,Eco50,Quick45,PreRinse,Kurz60,MachineCare,NightWash,MixedLoad,Super60
Hat jemand einen Tip?  unten habe ich ein list und ZZZ_Dump angefügt.

Schon mal Danke für eine Rückmeldung

Rainer

Internals:
   DEF        hcconn 013100394784009311
   FUUID      65edda73-f33f-1d6a-36e9-2ff7450b06d4b3fe
   NAME       SN65YX00AE
   NR         1331
   STATE      Ready
   TYPE       HomeConnect
   aliasname  Geschirrspüler
   brand      Siemens
   eventChannelTimeout 1710150973.60862
   eventCount 13
   events     SaltNearlyEmpty,RinseAidNearlyEmpty
   haId       013100394784009311
   hcconn     hcconn
   options    StartInRelative,HygienePlus,HalfLoad,VarioSpeedPlus,BrillianceDry
   prefix     Dishcare.Dishwasher
   programs   Intensiv70,Auto2,Eco50,Quick45,PreRinse,Kurz60,MachineCare,NightWash,MixedLoad,Super60
   retrycounter 0
   type       Dishwasher
   vib        SN65YX00AE
   READINGS:
     2024-03-11 10:55:14   DoorState       Open
     2024-03-11 10:55:14   OperationState  Ready
     2024-03-11 10:52:57   PowerState      On
     2024-03-11 10:52:57   RemainingProgramTime 17700 seconds
     2024-03-11 10:52:57   RemainingProgramTimeHHMM 04:55
     2024-03-11 10:55:14   RemoteControlActive 1
     2024-03-11 10:55:14   RemoteControlStartAllowed 0
     2024-03-11 10:56:16   SelectedProgram Eco50
     2024-03-11 10:55:14   state           Ready
     2024-03-11 10:55:14   tr_DoorState    Tür offen
     2024-03-11 10:55:14   tr_RemoteControlState Fernstart inaktiv
     2024-03-11 10:55:14   tr_State1       Bereit
     2024-03-11 10:55:14   tr_State2       Bereit
     2024-03-11 10:55:14   tr_State3       Bereit
   data:
     poweroff   PowerOff
     options:
       BrillianceDry:
         Dishcare.Dishwasher.Option
         Boolean
         0
         
         1
         undef
       HalfLoad:
         Dishcare.Dishwasher.Option
         Boolean
         0
         
         1
         undef
       HygienePlus:
         Dishcare.Dishwasher.Option
         Boolean
         0
         
         1
         undef
       StartInRelative:
         BSH.Common.Option
         Int
         undef
         (0,86400)
         undef
         undef
       VarioSpeedPlus:
         Dishcare.Dishwasher.Option
         Boolean
         0
         
         1
         undef
     trans:
       Auto2      Auto 45-65
       Eco50      Eco 50
       Favorite.001 Favorit
       GlassShine Brilliant Shine
       Intensiv70 Intensiv 70
       Kurz60     Speed 60
       MachineCare Maschinenpflege
       NightWash  Leise
       PreRinse   Vorspülen
       Quick45    Speed 45
   hmccu:
Attributes:
   alias      Geschirrspüler
   room       Home conect
   webCmd     BSH.Common.Root.SelectedProgram:startProgram:stopProgram

ZZZ_Dump

Device SN65YX00AE of type Dishwasher has
settings: $VAR1 = undef;

options: $VAR1 = {
          'HalfLoad' => [
                          'Dishcare.Dishwasher.Option',
                          'Boolean',
                          bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                          '',
                          bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                          undef
                        ],
          'StartInRelative' => [
                                 'BSH.Common.Option',
                                 'Int',
                                 undef,
                                 '(0,86400)',
                                 undef,
                                 undef
                               ],
          'HygienePlus' => [
                             'Dishcare.Dishwasher.Option',
                             'Boolean',
                             $VAR1->{'HalfLoad'}[2],
                             '',
                             $VAR1->{'HalfLoad'}[4],
                             undef
                           ],
          'BrillianceDry' => [
                               'Dishcare.Dishwasher.Option',
                               'Boolean',
                               $VAR1->{'HalfLoad'}[2],
                               '',
                               $VAR1->{'HalfLoad'}[4],
                               undef
                             ],
          'VarioSpeedPlus' => [
                                'Dishcare.Dishwasher.Option',
                                'Boolean',
                                $VAR1->{'HalfLoad'}[2],
                                '',
                                $VAR1->{'HalfLoad'}[4],
                                undef
                              ]
        };

transtable: $VAR1 = {
          'NightWash' => 'Leise',
          'MachineCare' => 'Maschinenpflege',
          'Favorite.001' => 'Favorit',
          'PreRinse' => 'Vorspülen',
          'Eco50' => 'Eco 50',
          'Kurz60' => 'Speed 60',
          'GlassShine' => 'Brilliant Shine',
          'Auto2' => 'Auto 45-65',
          'Intensiv70' => 'Intensiv 70',
          'Quick45' => 'Speed 45'
        };

poweroff: $VAR1 = 'PowerOff';

Prof. Dr. Peter Henning

@Kuehnhackel:

Die Readings mit Präfix sind wohl ein Überbleibsel der defekten Zwischenversion des Moduls. Einfach mal mit deletereading <Device> .*alle Readings löschen und dann mit get settings, get programs etc. neu anlegen.

Das mit den Favoriten ist schwierig, weil für mich kaum zu testen. Ich muss mal sehen, irgendwie gibt es bei der Spülmaschine auch die Möglichkeit, einen Favoriten zu definieren.

@Rainer H.:

Ich verstehe nicht was hier gemeint ist. Was ist "das Dropdpown mit den Programmen", wo soll das denn stehen?

Was bedeutet "Wenn ich es manuell wieder einfüge kommt BSH.Common.Root.SelectedProgram an dieser Stelle"? Das Attribut webcmd wird nicht vom Modul gesetzt. Und nein, bitte nicht den typischen Anfängerfehler machen und "einfach alles löschen". Wir sind hier nicht bei Windows.

LG

pah


Rainer H.

Hallo pah,

zuerst Danke für dir schnelle Antwort. Ich bin leider unterwegs versuche es mit einem Bild vom Mobile vielleicht reicht das schon.

Du darfst diesen Dateianhang nicht ansehen.

 
Das meine ich - wo BSH.Common.Root.SelectedProgram steht war das Menü mit den möglichen Programmen. Wenn ich den Text anklicke kommt dann  die Meldung  [HomeConnect_Set] SN65YX00AE: unknown program , choose one of Intensiv70,Auto2,Eco50,Quick45,PreRinse,Kurz60,MachineCare,NightWash,MixedLoad,Super60

Manuell meinte ich das webcmd erstellen


Wenn das nicht als Erklärung reicht mache ich es am Freitag ausführlicher am Mobile ist das recht "popelig"

....  ;) und ja löschen ist wirklich nicht so toll - gelobe Besserung

Grüße
Rainer

Prof. Dr. Peter Henning

Noch einmal: Das Modul legt im Attribut webcmd _gar nichts_ an. Das muss man bitte selbst machen.

LG

pah

Rainer H.

Hmmm.... warum wird es dann angezeigt wenn ich die Originale Version einspiele?

Ich bin kein Programmierer aber wenn ich das Modul tausch muss da irgendwas noch passieren - frage is nur was?

Prof. Dr. Peter Henning

Zitatmuss da irgendwas noch passieren
Ganz sicher nicht.

pah

Rainer H.

Ich versuch es am WE nochmal und mache ggf. ein Video

Shadow3561

Ich denke, dass ihr beide aneinander vorbei redet.
Er meint nicht das WebCmd.

Ich habe das gleiche Problem bei meinem Testsystem.
Es ist nur ein ,,get settings" vorhanden. Jedoch tut sich nichts wenn man es absetzt.
Meiner Meinung nach vermisst er die ,,Set Befehle", im Bild rot markiert.
Anbei ein Bild von meinem Produktivsystem zur Verdeutlichung.

LG
Daniel

Prof. Dr. Peter Henning

Ich glaube nicht, dass wir da aneinander vorbeireden. Er hat ein Bild der Kurzdarstellung gepostet, und die zeigt nicht die get /set-Befehle, sondern nur das webcmd.

LG

pah

Rainer H.

#119
Ich meine schon das was Daniel schreibt.

Danke Daniel

Im Bild ist halt die Auswirkung auf das System.
Gut hätte auch das device noch aufrufen können

Sorry wenn ich da missverstanden wurde

Du darfst diesen Dateianhang nicht ansehen.

 Also ich vermisse die set Befehle und bei get settings tut sich nichts wie Daniel geschrieben hat.