48_HomeConnect.pm neue Überarbeitung

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

Vorheriges Thema - Nächstes Thema

Adimarantis

Ok, ich glaube das mit den Umbruch klappt, desweiteren hole ich jetzt die offiziellen deutschen Bezeichnungen (dazu muss auch HomeConnectConnection aktualisiert werden). Falls es Probleme bei der Auswahl/Start von Programmen gibt, bitte Bescheid geben.
Bei den Programmnamen werden eventuelle Leerzeichen mit Unterstrichen ersetzt, weil sonst die "set" Liste durcheinander kommt. Sonst scheinen Sonderzeichen (z.B. "°" nicht zu stören).

Da es auch für die Options/Settings deutsche Namen über das Interface gibt, könnte man diese z.B. als Readingnamen für die übersetzen Readings (attribute translate) nutzen.
Aus "ChildLock" würde dann z.B. "Kindersicherung" werden oder aus "DoorState" einfach "Tür". Oder verwirrt das eher?

Wer sich die deutschen Bezeichner ansehen möchte, macht ein "list" vom Device und schaut unter data->options/setting. Im Feld "trans" steht jeweils die Übersetzung.
Unter data->trans die komplette Liste der Programmnamen - das ist evtl. mit den Defaults zusammengewürfelt.

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

Shadow3561

Mhhhh,
das attr "stateUpdate" hat bei mir keinen Effekt.
Manuelles Update mit "get device ProgramStatus" funktioniert hingegen.

Adimarantis

attr xxx stateUpdate 120 sollte dazu führen, dass ca. alle 120 Sekunden ein "get ProgramStatus" ausgeführt wird - natürlich nur im state=run
Bei meiner Waschmaschine funktioniert das gut - ich finde jetzt allerdings in keinem deiner Logs den state "run" - klappt die Erkennung hier nicht?

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

Shadow3561

#228
Ich hänge mal ein list an.
Was mir noch aufgefallen ist, dass die Programmnamen jetzt vor dem letzten Punkt abgeschnitten werden. Statt "Mix.HHMix.HHMix" erscheint in den readings nur noch HHMix. Dadurch funktioniert die Übersetzung nicht mehr.

Internals:
   DEF        hcconn_new XXXXX
   FUUID      65ed8f3f-f33f-e62d-8059-23a39d365322868c
   NAME       WNC244070_new
   NR         70
   NTFY_ORDER 50-WNC244070_new
   STATE      Mode: <span style="color:green">Waschen und Trocknen</span></br>
<span style="color:green">Schnell/Mix </span> 1400 U/min (Fortschritt 33 %) (fertig in 2:29 h) (um 20:28) </br>
Programmschritt: <span style="color:green">trocknen</span>
   TYPE       HomeConnect
   aliasname  Waschtrockner
   brand      Bosch
   eventCount 294
   events     
   haId       XXXXX
   hcconn     hcconn_new
   logfile    log/HC/WasherDryer
   model      WasherDryer
   offline    0
   prefix     LaundryCare.WasherDryer
   programs   ShirtsBlouses.ShirtsBlouses.ShirtsBlouses, PlushToy.PlushToy.PlushToy, HygieneDryLaundry.FastHygiene.FastHygiene, DelicatesSilk.DelicatesSilk.DelicatesSilk, Sensitive.Sensitive.Sensitiv, LabelEU19.LabelEU19.Eco4060, EasyCare.HHSynthetics.HHSynthetics, Spin.Spin.SpinDrain, Wool.Wool.Wool, DryingTime.MyTimeDry.MyTimeDry, HHMix, LaundryWarming.LaundryWarming.LaundryWarming, Cotton.Cotton.Cotton, FastWashDry.WD45.WD45, MoistRemove.DrumDry.DrumDry, RefreshWD.Refresh.Refresh, SportFitness.SportFitness.SportFitness, DrumCleanDry.DrumCare.DrumCare, Rinse.Rinse.Rinse
   settings   ChildLock, PowerState
   type       WasherDryer
   version    1.29
   vib        WNC244070
   READINGS:
     2025-01-25 16:10:24   Endzeit         05:10
     2025-01-25 11:23:08   Event.ProgramFinished Off
     2025-01-25 13:13:34   LaundryCare.Washer.Option.IntensivePlus Off
     2025-01-25 10:42:36   LaundryCare.Washer.Option.LessIroning Off
     2025-01-25 17:31:35   LaundryCare.Washer.Option.MiniLoad Off
     2025-01-25 17:31:35   LaundryCare.Washer.Option.Prewash Off
     2025-01-25 10:59:19   LaundryCare.Washer.Option.RinseHold Off
     2025-01-25 17:31:35   LaundryCare.Washer.Option.RinsePlus Off
     2025-01-25 17:31:35   LaundryCare.Washer.Option.Soak Off
     2025-01-25 17:31:35   LaundryCare.Washer.Option.SpinSpeed RPM1400
     2025-01-25 17:31:35   LaundryCare.Washer.Option.Stains Off
     2025-01-25 13:13:34   LaundryCare.Washer.Option.Temperature GC40
     2025-01-25 17:31:35   LaundryCare.Washer.Option.WaterPlus Off
     2025-01-20 17:26:27   Option.Duration 1200 seconds
     2025-01-25 17:58:26   Option.ElapsedProgramTime 4621 seconds
     2025-01-25 17:58:26   Option.ElapsedProgramTimeHHMM 1:18
     2025-01-25 17:59:27   Option.EstimatedTotalProgramTime 8940 seconds
     2025-01-25 17:59:27   Option.FinishAtHHMM 20:28
     2025-01-25 17:59:27   Option.FinishInRelative 0
     2025-01-25 17:59:27   Option.FinishInRelativeHHMM 2:29
     2025-01-25 17:31:35   Option.LoadRecommendation 2500 gram
     2025-01-25 10:42:36   Option.LowTemperatureHygiene Off
     2025-01-25 17:31:35   Option.ProcessPhase Drying
     2025-01-25 17:31:35   Option.ProgramMode WashingAndDrying
     2025-01-25 17:58:26   Option.ProgramProgress 33 %
     2025-01-25 17:59:27   Option.RemainingProgramTime 8940 seconds
     2025-01-25 17:59:27   Option.RemainingProgramTimeHHMM 2:29
     2025-01-25 17:31:35   Option.RemainingProgramTimeIsEstimated On
     2025-01-25 17:31:35   Option.SilentMode Off
     2025-01-25 17:31:35   Option.SpeedPerfect Off
     2025-01-25 12:04:36   Option.StartAtHHMM
     2025-01-25 17:31:35   ProcessPhase    trocknen
     2025-01-25 17:31:35   ProgramMode     Waschen und Trocknen
     2025-01-25 17:59:27   Schleuderdrehzahl 1400 U/min
     2025-01-25 16:39:54   SelectedProgram Schnell/Mix
     2025-01-25 16:39:54   Setting.ActiveProgram HHMix
     2025-01-25 16:39:49   Setting.ChildLock Off
     2025-01-25 16:39:49   Setting.PowerState On
     2025-01-25 16:39:54   Setting.SelectedProgram HHMix
     2025-01-25 16:39:52   Status.DoorState Locked
     2025-01-25 16:39:52   Status.LocalControlActive Off
     2025-01-25 16:39:52   Status.OperationState Run
     2025-01-25 16:39:52   Status.RemoteControlActive On
     2025-01-25 16:39:52   Status.RemoteControlStartAllowed On
     2025-01-25 17:59:27   Temperatur      40
     2025-01-25 17:40:22   lastErr         ok
     2025-01-25 16:10:24   operation-progress 0
     2025-01-25 17:59:27   state           run
     2025-01-25 17:59:27   state1          Schnell/Mix
     2025-01-25 17:59:27   state2          2:29
   data:
     finished   
     poweroff   PowerOff
     options:
       EstimatedTotalProgramTime:
         name       BSH.Common.Option.EstimatedTotalProgramTime
         trans      Geschätzte Gesamtprogrammlaufzeit
         unit       seconds
         value      7140
       FinishInRelative:
         name       BSH.Common.Option.FinishInRelative
         trans      Endzeit
         unit       seconds
         value      5717
       LoadRecommendation:
         name       LaundryCare.Common.Option.LoadRecommendation
         trans      Beladungsempfehlung
         unit       gram
         value      2500
       MiniLoad:
         name       LaundryCare.Washer.Option.MiniLoad
         trans      Miniload
         value      Off
         values     On,Off
       Prewash:
         name       LaundryCare.Washer.Option.Prewash
         trans      Vorwäsche
         value      Off
         values     On,Off
       ProcessPhase:
         name       LaundryCare.Common.Option.ProcessPhase
         trans      Prozessphase
         type       LaundryCare.Common.EnumType.ProcessPhase
         value      Drying
       ProgramMode:
         name       LaundryCare.WasherDryer.Option.ProgramMode
         trans      Programmtyp
         type       LaundryCare.WasherDryer.EnumType.ProgramMode
         value      WashingAndDrying
       ProgramProgress:
         name       BSH.Common.Option.ProgramProgress
         trans      aktueller Programmfortschritt
         unit       %
         value      47
       RemainingProgramTime:
         name       BSH.Common.Option.RemainingProgramTime
         trans      Verbleibende Programmlaufzeit
         unit       seconds
         value      7112
       RemainingProgramTimeIsEstimated:
         name       BSH.Common.Option.RemainingProgramTimeIsEstimated
         trans      Geschätzte Restprogrammlaufzeit
         value      On
         values     On,Off
       RinsePlus:
         name       LaundryCare.Washer.Option.RinsePlus
         trans      Extra Spülen
         type       LaundryCare.Washer.EnumType.RinsePlus
         value      Off
         values     On,Off
       SilentMode:
         name       LaundryCare.Common.Option.SilentMode
         trans      Leiser waschen
         value      Off
         values     On,Off
       Soak:
         name       LaundryCare.Washer.Option.Soak
         trans      Einweichen
         value      Off
         values     On,Off
       SpeedPerfect:
         name       LaundryCare.Common.Option.SpeedPerfect
         trans      SpeedPerfect
         value      Off
         values     On,Off
       SpinSpeed:
         name       LaundryCare.Washer.Option.SpinSpeed
         trans      Drehzahl
         type       LaundryCare.Washer.EnumType.SpinSpeed
         value      RPM1400
       Stains:
         name       LaundryCare.Washer.Option.Stains
         trans      Flecken Automatik
         type       LaundryCare.Washer.EnumType.Stains
         value      Off
         values     On,Off
       WaterPlus:
         name       LaundryCare.Washer.Option.WaterPlus
         trans      Wasser Plus
         value      Off
         values     On,Off
     retrans:
       Baumwolle  Cotton.Cotton.Cotton
       Blusen/Hemden ShirtsBlouses.ShirtsBlouses.ShirtsBlouses
       Eco40-60   LabelEU19.LabelEU19.Eco4060
       ExtraKurz15/Wash&Dry45 FastWashDry.WD45.WD45
       Fast_Hygiene HygieneDryLaundry.FastHygiene.FastHygiene
       Fein/Seide DelicatesSilk.DelicatesSilk.DelicatesSilk
       Feuchtigkeit_entfernen MoistRemove.DrumDry.DrumDry
       HygienePlus Sensitive.Sensitive.Sensitiv
       IronAssist RefreshWD.Refresh.Refresh
       Kuscheltiere PlushToy.PlushToy.PlushToy
       MyDryTime  DryingTime.MyTimeDry.MyTimeDry
       Pflegeleicht EasyCare.HHSynthetics.HHSynthetics
       Schleudern/Abpumpen Spin.Spin.SpinDrain
       Schnell/Mix HHMix
       Sportswear SportFitness.SportFitness.SportFitness
       Spülen    Rinse.Rinse.Rinse
       Trommelreinigung DrumCleanDry.DrumCare.DrumCare
       Wolle      Wool.Wool.Wool
       Wäsche_erwärmen LaundryWarming.LaundryWarming.LaundryWarming
     sets:
       MiniLoad   1
       Prewash    1
       ProgramMode 1
       RinsePlus  1
       Soak       1
       SpinSpeed  1
       Stains     1
       WaterPlus  1
     settings:
       ChildLock:
         name       BSH.Common.Setting.ChildLock
         trans      Kindersicherung
         value      Off
         values     On,Off
       PowerState:
         name       BSH.Common.Setting.PowerState
         trans      Energiezustand
         type       BSH.Common.EnumType.PowerState
         value      On
         values     On,Off
     status:
       DoorState:
         name       BSH.Common.Status.DoorState
         trans      Tür
         type       BSH.Common.EnumType.DoorState
         value      Locked
       LocalControlActive:
         name       BSH.Common.Status.LocalControlActive
         trans      Lokale Bedienung aktiv
         value      Off
         values     On,Off
       OperationState:
         name       BSH.Common.Status.OperationState
         trans      Betriebsstatus
         type       BSH.Common.EnumType.OperationState
         value      Run
       RemoteControlActive:
         name       BSH.Common.Status.RemoteControlActive
         trans      Fernbedienung
         value      On
         values     On,Off
       RemoteControlStartAllowed:
         name       BSH.Common.Status.RemoteControlStartAllowed
         trans      Fernstart
         value      On
         values     On,Off
     trans:
       Cotton.Cotton.Cotton Baumwolle
       DelicatesSilk.DelicatesSilk.DelicatesSilk Fein/Seide
       DrumCleanDry.DrumCare.DrumCare Trommelreinigung
       DryingTime.MyTimeDry.MyTimeDry MyDryTime
       EasyCare.HHSynthetics.HHSynthetics Pflegeleicht
       FastWashDry.WD45.WD45 ExtraKurz15/Wash&Dry45
       HHMix      Schnell/Mix
       HygieneDryLaundry.FastHygiene.FastHygiene Fast_Hygiene
       LabelEU19.LabelEU19.Eco4060 Eco40-60
       LaundryWarming.LaundryWarming.LaundryWarming Wäsche_erwärmen
       MoistRemove.DrumDry.DrumDry Feuchtigkeit_entfernen
       PlushToy.PlushToy.PlushToy Kuscheltiere
       RefreshWD.Refresh.Refresh IronAssist
       Rinse.Rinse.Rinse Spülen
       Sensitive.Sensitive.Sensitiv HygienePlus
       ShirtsBlouses.ShirtsBlouses.ShirtsBlouses Blusen/Hemden
       Spin.Spin.SpinDrain Schleudern/Abpumpen
       SportFitness.SportFitness.SportFitness Sportswear
       Wool.Wool.Wool Wolle
   helper:
     clear      0
     details    -1
     elapsed    0
     etime      1737819685
     eventChannelTimeout 1737824382.81515
     init       1
     init_count 3
     key        LaundryCare.WasherDryer.Program.Mix.HHMix.HHMix
     options    -1
     programs   0
     remaining  7112
     retrycounter 0
     settings   1
     stateupdate 1737824442
     status     1
Attributes:
   alias      Waschtrockner
   disable    0
   icon       scene_washing_machine
   logfile    log/HC/WasherDryer
   room       Bosch
   stateFormat Mode: <span style="color:green">ProgramMode</span></br>
<span style="color:green">SelectedProgram </span> Schleuderdrehzahl (Fortschritt Option.ProgramProgress) (fertig in Option.RemainingProgramTimeHHMM h) (um Option.FinishAtHHMM) </br>
Programmschritt: <span style="color:green">ProcessPhase</span>
   stateUpdate 100
   translate  ProcessPhase,ProgramMode,SelectedProgram
   updateTimer 5
   userReadings Schleuderdrehzahl {(split( 'RPM', ReadingsVal($NAME,"LaundryCare.Washer.Option.SpinSpeed","")))[1]." U/min"},
Temperatur {(split( '([0-9][0-9]|Auto)', ReadingsVal($NAME,"LaundryCare.Washer.Option.Temperature","")))[1]},
   verbose    0

Adimarantis

Wo funktioniert die Übersetzung nicht?
    2025-01-25 16:39:54   SelectedProgram Schnell/Mix
    2025-01-25 16:39:54   Setting.SelectedProgram HHMix

Im übersetzten Reading steht doch die deutsche Version. Aber das klappt eben nur für das aktuelle Programm.
Meinst du im Pulldown für "SelectedProgram"?

Die Kürzung greift analog zum Trockner, der so quatsch wie "Mix.Mix.Mix" zurückliefert, aber problemlos bloß "Mix" beim select/start versteht.
Möglicherweise macht es hier einfach Sinn auch die Defaults auf den letzten String zu kürzen. Beim Washdryer funktioniert ja sowieso nur die Anzeige und dafür ist es egal. Macht auch die List im programs Reading übersichtlicher.
Was meinst du?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Prof. Dr. Peter Henning

So, wie gewünscht noch einmal Test mit meinem Ofen.

Funkioniert wie geplant
- set AlarmEndTime
- set AlarmRelative
- set AlarmCancel
- set ChildLock
- set SabbathMode
- set StopProgram bei voreingestelltem Garprogramm

Keine Funktion
- set SelectedProgram ==> Fehlermeldung "Unknown program feature key: Cooking.Oven.Program"
- set StartProgram bei SelectedProgram (möglicherweise Folgefehler zum obigen)
- set Duration bei voreingestelltem Garprogramm
- set StartProgram bei voreingestelltem Garprogramm
- set PauseProgram

Auffälligkeiten im Modul
- Die Befehle set xxx OpenDoor und set xxx PartlyOpenDoor machen wenig Sinn, das sind ja keine setzbaren Optionen.
- Bei den wählbaren Programmen wird "Sabbateinstellungen" angeboten. Ist m.E. nicht korrekt, dafür gibt es ja den SabbathMode
- Bei voreingestelltem Garprogramm erfolt keine Übersetzung => Dish.Automatic.Conv.PastaBake wird als wählbares Programm angezeigt
- Bei den angebotenen Programmen wird zwar sehr schön die Übersetzung angezeigt, z.B. "Warmhalten". Im state1 allerdings heißt es dann "KeepWarm"

Funktionen der App, die noch nicht mit dem Modul funktionieren
- Garraumbeleuchtung an/aus
- Start des gewählten Programms
- Start des voreingestellten Garprogramms nach einem Stop
- Einstellung des Gewichts bei voreingestelltem Garprogramm

Anbei noch die Logdatei

Und noch ein klares Wort: Danke für den Enthusiasmus und die Arbeit!

LG

pah

Adimarantis

Zitat von: Prof. Dr. Peter Henning am 26 Januar 2025, 11:15:52- set SelectedProgram ==> Fehlermeldung "Unknown program feature key: Cooking.Oven.Program"
Da ist definitiv noch ein Problem in der Programbehandlung drin. Insbesondere bei denen mit mehreren Punkten (wie schon bei Shadow mit dem Waschtrockner) - da muss ich wohl doch besser differenzieren - was beim Trockner klappt, klappt woanders wohl nicht so gut.
Hier wäre ein "list" vom device sehr hilfreich, da ich checken müsste, was er in die internen Programmübersetzungstabellen geschrieben hat.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

#232
Hallo,
heute beim Ofen neue Anzeigen. Ein get Status oder ProgramOptions ändert an den obigen Werten nichts.
- Programm "4D Heißluft, Schnellaufheizen" läuft seit 5 Minuten (als ich diese Info schrieb). List auch von dieser Zeit
- Status FHEM "(20 °C)"
- set "OpenDoor" und set "PartlyOpenDoor" werden angeboten

- Laufzeit wird korrekt angezeigt

In der HC App wird übrigens keine Temperatur angezeigt (!). Die eigene API überträgt also bei diesem Ofen auch keine Temperatur.

Log kommt gleich.

Ein Weg wird erst zu einem Weg, wenn man ihn geht

Prof. Dr. Peter Henning

#233
List anbei
Internals:
   DEF        HomeConnectBridge BOSCH-xx
   FUUID      63079be2-f33f-8771-eb93-b6c0c48ae1631f6f
   NAME       HBG4785B6
   NR         218
   NTFY_ORDER 50-HBG4785B6
   STATE      <p align="left">
Inactive
<br/>Fertig
  </p>
   TYPE       HomeConnect
   aliasname  Backofen
   brand      Bosch
   eventCount 255
   events     
   haId       BOSCH-xx
   hcconn     HomeConnectBridge
   logfile    /home/fhem/fhemlogs/HC_Oven_2025-01-26.log
   model      Oven
   offline    0
   options    SetpointTemperature, HeatupProgress, Duration, ProgramProgress, ElapsedProgramTime, RemainingProgramTime, CavitySelector
   prefix     Cooking.Oven
   programs   HeatingMode.SabbathProgramme, HeatingMode.PreHeating, HeatingMode.BottomHeating, HeatingMode.HotAir, HeatingMode.PizzaSetting, HeatingMode.Defrost, HeatingMode.SlowCook, HeatingMode.TopBottomHeating, HeatingMode.KeepWarm, HeatingMode.HotAirGrilling
   settings   ChildLock, PowerState, SabbathMode, AlarmClock
   type       Oven
   version    1.29
   vib        HBG4785B6
   OLDREADINGS:
   READINGS:
     2025-01-26 10:42:02   Event.AlarmClockElapsed Present
     2025-01-26 09:34:36   Event.PreheatFinished Off
     2025-01-26 11:12:13   Event.ProgramFinished Off
     2025-01-26 10:42:53   Option.AlarmAtHHMM 10:42
     2025-01-26 10:42:53   Option.AlarmClockHHMM 0:00
     2025-01-26 11:10:23   Option.CavitySelector Main
     2025-01-26 11:10:23   Option.Duration 60 seconds
     2025-01-26 11:10:23   Option.ElapsedProgramTime 55 seconds
     2025-01-26 11:10:13   Option.ElapsedProgramTimeHHMM
     2025-01-26 09:28:44   Option.FastPreHeat On
     2025-01-26 11:12:13   Option.ProgramProgress 0 %
     2025-01-26 11:10:23   Option.RemainingProgramTime 5 seconds
     2025-01-26 11:10:13   Option.RemainingProgramTimeHHMM
     2025-01-26 11:10:23   Option.SetpointTemperature 60 °C
     2025-01-26 10:59:28   Option.Weight   1050 gram
     2025-01-26 11:12:13   Setting.ActiveProgram
     2025-01-26 10:42:53   Setting.AlarmClock 0 seconds
     2025-01-26 11:09:13   Setting.ChildLock Off
     2025-01-26 11:12:13   Setting.PowerState Standby
     2025-01-26 11:09:13   Setting.SabbathMode Off
     2025-01-26 11:12:13   Setting.SelectedProgram
     2025-01-26 09:28:34   Status.Cavity.001.CavitySelector Main
     2025-01-26 11:12:13   Status.CurrentCavityTemperature 105 °C
     2025-01-26 11:03:12   Status.DoorState Closed
     2025-01-26 11:03:12   Status.LocalControlActive Off
     2025-01-26 11:12:13   Status.OperationState Inactive
     2025-01-26 11:03:12   Status.RemoteControlActive On
     2025-01-26 11:03:12   Status.RemoteControlStartAllowed On
     2025-01-26 11:06:07   lastErr         Unknown program feature key: Cooking.Oven.Program.
     2025-01-26 11:12:13   state           done
     2025-01-26 11:12:13   state1          Fertig
     2025-01-26 11:12:13   state2          -
   data:
     finished   
     poweroff   PowerStandby
     options:
       CavitySelector:
         name       Cooking.Oven.Option.CavitySelector
         type       Cooking.Oven.EnumType.CavitySelector
         value      Main
       Duration:
         name       BSH.Common.Option.Duration
         trans      Dauer anpassen
         unit       seconds
         value      60
       ElapsedProgramTime:
         name       BSH.Common.Option.ElapsedProgramTime
         trans      Programmlaufzeit
         unit       seconds
         value      55
       HeatupProgress:
         name       Cooking.Oven.Option.HeatupProgress
         trans      Vorheizen Fortschritt
         unit       %
         value      0
       ProgramProgress:
         name       BSH.Common.Option.ProgramProgress
         trans      aktueller Programmfortschritt
         unit       %
         value      100
       RemainingProgramTime:
         name       BSH.Common.Option.RemainingProgramTime
         trans      Verbleibende Programmlaufzeit
         unit       seconds
         value      5
       SetpointTemperature:
         name       Cooking.Oven.Option.SetpointTemperature
         trans      Temperatur
         unit       °C
         value      60
       Weight:
         name       Cooking.Oven.Option.Weight
         trans      Gewicht des Gerichts
         unit       gram
         value      1050
     retrans:
       3D_Heißluft HeatingMode.HotAir
       Auftauen   HeatingMode.Defrost
       Flächengrill HeatingMode.GrillLargeArea
       Heißluft  HeatingMode.HotAir
       HeißluftSchonend HeatingMode.HotAirGentle
       Heißluftgrill HeatingMode.HotAirGrilling
       LangsamGaren HeatingMode.SlowCook
       Ober-/Unterhitze HeatingMode.TopBottomHeating
       Ober/Unterhitze HeatingMode.TopBottomHeating
       Pizza      HeatingMode.PizzaSetting
       Pizzastufe HeatingMode.PizzaSetting
       Pyrolyse   Cleaning.Pyrolysis
       Sabbateinstellung HeatingMode.SabbathProgramme
       Sanftgaren HeatingMode.SlowCook
       Umluftgrillen HeatingMode.HotAirGrilling
       Unterhitze HeatingMode.BottomHeating
       Vorheizen  HeatingMode.PreHeating
       Warmhalten HeatingMode.KeepWarm
     sets:
     settings:
       AlarmClock:
         name       BSH.Common.Setting.AlarmClock
         trans      Alarm
         unit       seconds
         value      0
       ChildLock:
         name       BSH.Common.Setting.ChildLock
         trans      Kindersicherung
         value      Off
         values     On,Off
       PowerState:
         name       BSH.Common.Setting.PowerState
         trans      Energiezustand
         type       BSH.Common.EnumType.PowerState
         value      On
         values     On,Off
       SabbathMode:
         name       Cooking.Oven.Setting.SabbathMode
         trans      Sabbat Modus
         value      Off
         values     On,Off
     status:
       CurrentCavityTemperature:
         name       Cooking.Oven.Status.CurrentCavityTemperature
         unit       °C
         value      140
       DoorState:
         name       BSH.Common.Status.DoorState
         trans      Tür
         type       BSH.Common.EnumType.DoorState
         value      Closed
       LocalControlActive:
         name       BSH.Common.Status.LocalControlActive
         trans      Lokale Bedienung aktiv
         value      Off
         values     On,Off
       OperationState:
         name       BSH.Common.Status.OperationState
         trans      Betriebsstatus
         type       BSH.Common.EnumType.OperationState
         value      Inactive
       RemoteControlActive:
         name       BSH.Common.Status.RemoteControlActive
         trans      Fernbedienung
         value      On
         values     On,Off
       RemoteControlStartAllowed:
         name       BSH.Common.Status.RemoteControlStartAllowed
         trans      Fernstart
         value      On
         values     On,Off
     trans:
       Cleaning.Pyrolysis Pyrolyse
       HeatingMode.BottomHeating Unterhitze
       HeatingMode.Defrost Auftauen
       HeatingMode.GrillLargeArea Flächengrill
       HeatingMode.HotAir 3D_Heißluft
       HeatingMode.HotAirGentle HeißluftSchonend
       HeatingMode.HotAirGrilling Umluftgrillen
       HeatingMode.KeepWarm Warmhalten
       HeatingMode.PizzaSetting Pizzastufe
       HeatingMode.PreHeating Vorheizen
       HeatingMode.SabbathProgramme Sabbateinstellung
       HeatingMode.SlowCook Sanftgaren
       HeatingMode.TopBottomHeating Ober-/Unterhitze
   helper:
     ActiveProgram KeepWarm
     autostart  0
     clear      0
     details    1
     elapsed    55
     eventChannelTimeout 1737898381.57934
     init       1
     init_count 3
     key        Cooking.Oven.Program.HeatingMode.KeepWarm
     options    1
     programs   1
     remaining  5
     retrycounter 0
     settings   1
     stateupdate 0
     status     1
Attributes:
   alias      Backofen
   devStateIcon Offline:scene_baking_oven@red Inactive:scene_baking_oven@black Ready:scene_baking_oven@blue Finished:scene_baking_oven@orange Delayed.*:scene_baking_oven_delay@green Run.*:scene_baking_oven@green
   excludeSettings
   group      Kochen
   room       Kontrollraum
   sortby     3
   stateFormat {my $opstate=ReadingsVal("HBG4785B6","Status.OperationState","");
 my $pstate=ReadingsNum("HBG4785B6","Setting.PowerState",0);
 my $open=ReadingsVal("HBG4785B6","Status.DoorState","");
 my $state1=ReadingsVal("HBG4785B6","state1","");
 $state1=~s/\(Fertig\)//;
 my $state2=ReadingsVal("HBG4785B6","state2","");
 if( $pstate eq "Off"){
   $opstate="Inactive";
   $state1="Ruhezustand";
 }
 $state2=(($state2 ne "-")?"<br/>\n".$state2:" ");
 my $temp=ReadingsNum("HBG4785B6","Status.CurrentCavityTemperature",0);
 if( $temp > 25  && $opstate ne "Inactive"){
   $state1.=", $temp °C";
 }
 my $alarm=ReadingsNum("HBG4785B6","Setting.AlarmClock"," ");
 my $astate=(($alarm!=0)?"<br/>\n".ReadingsVal("HBG4785B6","Option.AlarmAtHHMM",""):" ");
 sprintf("<p align=\"left\">\n%s\n<br/>%s\n%s%s</p>",$opstate,$state1,$state2,$astate);
}
   userReadings temperature: Status.CurrentCavityTemperature.*{ReadingsNum("HBG4785B6","Status.CurrentCavityTemperature",0)}
   webCmd     :

Übrigens wurde mir zu keiner Zeit die Option zum Setzen der Temperatur angeboten.

LG

pah

Adimarantis

Zitat von: isy am 26 Januar 2025, 14:22:09- Programm "4D Heißluft, Schnellaufheizen" läuft seit 5 Minuten (als ich diese Info schrieb). List auch von dieser Zeit
So heisst das Programm wohl offiziell (in der APP auch?)
Zitat- Status FHEM "(20 °C)"
- set "OpenDoor" und set "PartlyOpenDoor" werden angeboten
Ja, jetzt generell für Öfen. Wenn du das allerdings erfolglos versuchst, müssten die Settings in der excludeSettings Liste landen und zukünftig nicht mehr angeboten werden. Klappt das?

ZitatIn der HC App wird übrigens keine Temperatur angezeigt (!). Die eigene API überträgt also bei diesem Ofen auch keine Temperatur.
Das ist natürlich schwer abzubilden, weil es ja bei anderen Öfen sehr wohl funktioniert.
Eventuell brauchen wir da noch ein Attribut um Readings individuell komplett auszuschließen....
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Prof. Dr. Peter Henning

Zitat4D Heißluft

    ,,Der 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«."

LG

pah

Adimarantis

Zitat von: Prof. Dr. Peter Henning am 26 Januar 2025, 11:15:52Keine Funktion
- set SelectedProgram ==> Fehlermeldung "Unknown program feature key: Cooking.Oven.Program"
- set StartProgram bei SelectedProgram (möglicherweise Folgefehler zum obigen)
Hier wurden an einer Stelle die Programmnamen noch zu übereifrig gekürzt. Ich kann das jetzt schwer testen - bitte mal probieren ob die aktuelle Version besser ist (und nichts verschlimmbessert)
Zitat- set Duration bei voreingestelltem Garprogramm
Hier stimmte schonmal der Parameter nicht - er erwartet hier Sekunden - und wie das Beispiel zeigt ist das nicht userfreundlich.
Jetzt sollte es bei Zeitangaben möglich sein beliebig
<Zahl in Sekunden>
<HH:MM>
<Zahl> hour(s)
<Zahl> min(utes)
<Zahl> h
einzugeben. Bei Unsinn sollte ein Fehler kommen.
Zitat- set StartProgram bei voreingestelltem Garprogramm
Dürfte auch mit den Programmnamen zusammenhängen. Bitte testen.
Zitat- set PauseProgram
- Die Befehle set xxx OpenDoor und set xxx PartlyOpenDoor machen wenig Sinn, das sind ja keine setzbaren Optionen.
Jetzt sollten auch Unsupported Commands in der Exclude Liste landen und somit nach einmaliger Verwendung nicht mehr angeboten werden. PauseProgram wird von deinem Gerät nicht unterstützt.
Zitat- Bei den wählbaren Programmen wird "Sabbateinstellungen" angeboten. Ist m.E. nicht korrekt, dafür gibt es ja den SabbathMode
Das Programm wird aber tatsächlich von deinem Gerät geliefert - warum auch immer...
Zitat- Bei voreingestelltem Garprogramm erfolt keine Übersetzung => Dish.Automatic.Conv.PastaBake wird als wählbares Programm angezeigt
- Bei den angebotenen Programmen wird zwar sehr schön die Übersetzung angezeigt, z.B. "Warmhalten". Im state1 allerdings heißt es dann "KeepWarm"
Auch eventuell ein Effekt durch die verkürzten Namen - erstmal testen ob das schon geholfen hat.

ZitatFunktionen der App, die noch nicht mit dem Modul funktionieren
- Garraumbeleuchtung an/aus
Dazu habe ich in der API nichts gefunden und in der App gibt es dutzende seltsame Keys mit "light" aber nichts vernünftiges. -> Geht wohl nicht
Zitat- Start des gewählten Programms
- Start des voreingestellten Garprogramms nach einem Stop
Wieder evtl. Thema Programmnamen.
Zitat- Einstellung des Gewichts bei voreingestelltem Garprogramm
Könnte jetzt gehen. Ich hab hier analog zu der Duration etwas komfort eingebaut, so dass auch sowas wie "1.5 kg" geht und Fehleingaben von <20 (Gramm) angemeckert werden.

Danke fürs detaillierte Feedback,
Jörg

P.S Als erster Schnelltest wurde mir schonmal ein "list" nach get Programs und dann Programmwahl am Gerät reichen. Mal sehen was dann in den internen Readings steht.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

Hallo Jörg, die set für door.... werden nicht herausgenommen.
- lastErr Command: BSH.Common.Command.PartlyOpenDoor not supported
wurde aber gesetzt bei den Readings.

Ja, und in der App nennen die Entwickler das Programm echt 4D Heißluft. Am Ofen heißt es 3D Heißluft.
Sollte wohl eher ein Tippfehler sein, als eine Thematik im Bereich der Relativitätstheorie.... -)
Ein Weg wird erst zu einem Weg, wenn man ihn geht

Adimarantis

Das mit der Tür excluden geht erst seit der Version von heute nachmittags
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

isy

#239
Ok.
Neue Version ist geladen.
PartlyOpenDoor geht ins Attribut excludeSettings, OpenDoor bleibt erhalten. Manuell 2 eingetragene Ausschließungen bleiben wirkungslos
Ein Weg wird erst zu einem Weg, wenn man ihn geht