Ergonomische Version von 48_HomeConnect.pm

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

Vorheriges Thema - Nächstes Thema

Shadow3561

#120
@  Prof. Dr. Peter Henning

Wenn ich in Zeile 1637 das
  if($settings ne ""){ in

  if($settings eq ""){ändere, dann funktioniert ein "get Settings" und es erscheinen die "set - Befehle" wie PowerOn usw.


EDIT:
Hier noch die transtable für den einen Waschtrockner (Typ: WNC244070)

#-- WasherDryer
#  known settings ChildLock, PowerState
#  known programs Eco4060,Cotton,EasyCare,Mix,DelicatesSilk,Wool,FastWashDry45,SportFitness,Synthetics,Refresh,SpinDrain,Rinse
#  known problems: program contains "."
#  special types (LaundryCare.WasherDryer.EnumType.) SpinSpeed, Temperature
$HomeConnect_DeviceSettings{"WasherDryer"} = ["ChildLock","PowerState"];
$HomeConnect_DevicePrefix{"WasherDryer"}   = "LaundryCare.WasherDryer";
$HomeConnect_DevicePowerOff{"WasherDryer"} = "PowerOff";
$HomeConnect_DeviceEvents{"WasherDryer"}   = [];
$HomeConnect_DeviceTrans_DE{"WasherDryer"} = {
    "Mix.HHMix.HHMix" => "Schnell/Mix",
    "EasyCare.HHSynthetics.HHSynthetics" => "Pflegeleicht",
    "DelicatesSilk.DelicatesSilk.DelicatesSilk" => "Fein/Seide",
    "Sensitive.Sensitive.Sensitiv" => "Hygiene Plus",
    "RefreshWD.Refresh.Refresh" => "Iron Assist",
    "FastWashDry.WD45.WD45" => "Extra Kurz 15/Wash & Dry 45",
    "SportFitness.SportFitness.SportFitness" => "Sportswear",
    "Wool.Wool.Wool" => "Wolle",
    "Cotton.Cotton.Cotton" => "Baumwolle",
    "LabelEU19.LabelEU19.Eco4060" => "Eco 40-60",
    "Rinse.Rinse.Rinse" => "Spülen",
    "Spin.Spin.SpinDrain" => "Schleudern/Abpumpen"

};

Dann hatte ich einmalig folgende Readings in meinem Modul.
Diese sind letzte Woche einmalig erschienen und wurden seither nicht mehr aktualisiert.
Ich vermute es wurde kurzzeitig etwas von Seiten Bosch verändert.

LaundryCare.WasherDryer.Option.ProgramMode
LaundryCare.WasherDryer.EnumType.ProgramMode.WashingAndDrying

LaundryCare.Common.Option.ProcessPhase
LaundryCare.Common.EnumType.ProcessPhase.RinsingSoftener

LG
Daniel

Rainer H.

@Shadow3561 es kann nicht sein  8) aber ich habe es trotzdem wie Du oben geschrieben hast geändert.

Geht! Wie im Orginal Modul

Dankeschön!

Shadow3561

Zitat von: Rainer H. am 12 März 2024, 18:42:31@Shadow3561 es kann nicht sein  8) aber ich habe es trotzdem wie Du oben geschrieben hast geändert.

Geht! Wie im Orginal Modul

Dankeschön!
Auf Grund meiner mangelnden Kenntnisse solltest du lieber warten bis Pah sich das angesehen hat und evtl. Änderungen vornimmt.  Ich benutze sein Modul nur zu Testzwecken und habe somit nicht alles getestet. Des Weiteren gibt es mehrere Geräte von mehreren Herstellern die HomeConnect-fähig sind. Soll heißen, kann sein, dass andere Geräte durch diese Änderung nicht mehr funktionieren.

Rainer H.

Zitat von: Shadow3561 am 12 März 2024, 19:01:41
Zitat von: Rainer H. am 12 März 2024, 18:42:31@Shadow3561 es kann nicht sein  8) aber ich habe es trotzdem wie Du oben geschrieben hast geändert.

Geht! Wie im Orginal Modul

Dankeschön!
Auf Grund meiner mangelnden Kenntnisse solltest du lieber warten bis Pah sich das angesehen hat und evtl. Änderungen vornimmt.  Ich benutze sein Modul nur zu Testzwecken und habe somit nicht alles getestet. Des Weiteren gibt es mehrere Geräte von mehreren Herstellern die HomeConnect-fähig sind. Soll heißen, kann sein, dass andere Geräte durch diese Änderung nicht mehr funktionieren.

Trotzdem vielen Dank!

Bin auf alle Fälle einen Riesenschritt weiter.

Das es erstmal geht ist schon mal was und @pah hat da sicher mehr Ahnung und kann es sicher beurteilen.

Prof. Dr. Peter Henning

@RainerH:
ZitatIm Bild ist halt die Auswirkung auf das System.
Falsch.
ZitatSorry wenn ich da missverstanden wurde
Das war kein Missverständnis, sondern schlicht eine fehlerhafte Nachricht  >:(

pah

Rainer H.

#125
Zitat von: Prof. Dr. Peter Henning am 12 März 2024, 19:40:02@RainerH:
ZitatIm Bild ist halt die Auswirkung auf das System.
Falsch.
ZitatSorry wenn ich da missverstanden wurde
Das war kein Missverständnis, sondern schlicht eine fehlerhafte Nachricht  >:(

pah

Ich bin weder Dr. noch Professor Sorry dafür hats nicht gereicht.

Ich hab geschrieben wo ich eine Auswirkung gesehen hab nichts weiter!

Ausserdem hab ich die Fehlermeldung mit gepostet - was hätte ich denn sonst noch machen sollen?

Ein Forum sollte weiterhelfen! und nicht Schuldzuweisungen machen wenn einer mal nicht den Background hat. Zumindest es versuchen und nicht...... lassen wir es. Ich bin der Depp passt scho.

Prof. Dr. Peter Henning

#126
@Shadow3561: Ah, OK, das ist in der Tat ein Fehler. Danke fürs testen, der ist mir irgendwie reingerutscht.

Korrigierte Version anbei.

Ich habe die transtable jetzt auch mal so übernommen. Ist das wirklich so, dass die Kiste ein "DelicatesSilk.DelicatesSilk.DelicatesSilk" als Programm meldet? Würde mich bei der Inkonsistenz, mit der BSH diese Sachen angeht, ehrlich gesagt nicht wundern. Und auch die relativ häufigen undokumentierten Änderungen sind mir schon an anderer Stelle negativ aufgefallen.

LG

pah

@RainerH: Nein, es ist _eben nicht_ die "Auswirkung auf das System". In der Device-Übersicht werden _niemals_ get/set-Befehle angezeigt, wenn diese nicht _explizit_ als webcmd definiert wurden. Tipp: Einfach mal das hier lesen: https://forum.fhem.de/index.php?topic=71806.0

Rainer H.

Zitat von: Prof. Dr. Peter Henning am 12 März 2024, 19:54:59@Shadow3561: Ah, OK, das ist in der Tat ein Fehler. Danke fürs testen, der ist mir irgendwie reingerutscht.

Korrigierte Version anbei.

Ich habe die transtable jetzt auch mal so übernommen. Ist das wirklich so, dass die Kiste ein "DelicatesSilk.DelicatesSilk.DelicatesSilk" als Programm meldet? Würde mich bei der Inkonsistenz, mit der BSH diese Sachen angeht, ehrlich gesagt nicht wundern.

LG

pah

@RainerH: Nein, es ist _eben_nicht die "Auswirkung auf das System". In der Device-Übersicht werden _niemals_ get/set-Befehle angezeigt, wenn diese nicht _explizit_ als webcmd definiert wurden.


Wie gesagt ich habe es meinem Wissensstand wiedergegeben. Ich habe das webcmd nach meinem wissen definiert und auch die Meldung dazu gepostet sowie das Bild. Aber wie gesagt einfache user sind scheinbar nicht so willkommen. User wie mich gibts zu tausenden.

Prof. Dr. Peter Henning

1. Bitte nicht jedesmal die vorigen Posts zitieren. Das ist nicht sinnvoll und verstopft nur den Thread.
2. Bitte das hier lesen: https://forum.fhem.de/index.php?topic=71806.0

pah

Prof. Dr. Peter Henning

@Kuehnhackel:

Betreffend die Favoriten bei der Kaffeemaschine: Bitte mal für kurze Zeit in dem Device verbose=5 setzen und get programs ausführen. Und hier einen Logauszug posten.

LG

pah

Rainer H.

Zitat von: Prof. Dr. Peter Henning am 12 März 2024, 20:29:011. Bitte nicht jedesmal die vorigen Posts zitieren. Das ist nicht sinnvoll und verstopft nur den Thread.
2. Bitte das hier lesen: https://forum.fhem.de/index.php?topic=71806.0

pah

Zu1 ja ok
Zu2 welchen Teil hab ich nicht gemacht?

Prof. Dr. Peter Henning

#131
Obwohl 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.

2. Bei Wäschtrocknern: Die im Modul so genannte transtable übersetzt die vollkommen absurden Programmbezeichnungen von BSH in lesbare Ausdrücke, die an die Bezeichnungen in der BSH-App angeglichen sind. Dazu hatte mir Shadow3561 einen Vorschlag geschickt, den ich leider nicht testen kann (unser Wäschetrockner ist ein paar Jährchen älter, tut aber noch astrein. War noch deutsche Wertarbeit...) Unter anderem sind dort solche Übersetzungen drin wie
Zitat"EasyCare.HHSynthetics.HHSynthetics" => "Pflegeleicht",
==> Die Frage an alle Besitzer von BSH-Wäschtrocknern ist, ob die von der Maschine gelieferten Bezeichnungen wirklich so sind, dass sie die Strings doppelt und dreifach enthalten.

LG

pah

Shadow3561

Zitat von: Prof. Dr. Peter Henning am 15 März 2024, 04:22:16==> Die Frage an alle Besitzer von BSH-Wäschtrocknern ist, ob die von der Maschine gelieferten Bezeichnungen wirklich so sind, dass sie die Strings doppelt und dreifach enthalten.

LG

pah

Prof. Dr. Peter Henning

#133
Dir glaub ichs ja - aber das ist so pervers, dass ich eigentlich eine Bestätigung von einem anderen Besitzer eines _anderen_ Wäschetrockners haben wollte. Wenn die Geräte nämlich noch unterschiedlich melden, muss ich mir da einen Weg zur Umgehung ausdenken.

LG

pah

Edit: Es ist nicht nur bei den Wäschetrocknern so, sondern auch die anderen Geräte haben teilweise neue Programme mit absurden Namen bekommen. Beispielsweise behauptet unsere Waschmaschine inzwischen, sie würde auch Programme wie "DownDuvet.Duvet" kennen - übersetzt als "Daunenbettdecke.Bettdecke". Da in der Regel "Duvet" sich schon auf Daunen bezieht, müsste man korrekterweise sagen "DaunenDaunenbettdecke.Daunenbettdecke".

Wer um Himmels Willen entwickelt bei BSH solchen Kram?


Shadow3561

Bei mir laufen leider noch ein paar Sachen nicht.
Ein "get <device> ProgramOptions" liefert den Fehler "device not powered on, cannot determine options"

Device ist aber an.

Im Modul ab Zeile 1309 folgendes

   my $programPrefix  = $hash->{prefix}.".Program.";
  my $rootPrefix     = (AttrVal($name,"includePrefixes",0))?"BSH.Common.Root.":"";
 
  #-- check for conditions
  my $powerState = ReadingsVal($name,$rootPrefix."PowerState","Inactive");
  my $program    = ReadingsVal($name,$rootPrefix."SelectedProgram",undef);
  if( $powerState =~ /(Inactive)|(Offline)/){
    $msg = "[HomeConnect_GetProgramOptions] $name: device not powered on, cannot determine options";
    Log3 $name,1,$msg;
    return $msg;
my $rootPrefix ist zumindest für meine 3 Geräte falsch.
Das PowerState steht in BSH.Common.Setting.PowerState

Habe es wie folgt geändert

  my $programPrefix  = $hash->{prefix}.".Program.";
  my $powerPrefix     = (AttrVal($name,"includePrefixes",0))?"BSH.Common.Setting.":"";
  my $rootPrefix     = (AttrVal($name,"includePrefixes",0))?"BSH.Common.Root.":"";
 
  #-- check for conditions
  my $powerState = ReadingsVal($name,$powerPrefix."PowerState","Off");
  my $program    = ReadingsVal($name,$rootPrefix."SelectedProgram",undef);
  if( $powerState =~ /(Inactive)|(Offline)/){
    $msg = "[HomeConnect_GetProgramOptions] $name: device not powered on, cannot determine options";
    Log3 $name,1,$msg;
    return $msg;

Damit bekomme ich dann auch die ProgramOptions wie IntensivZone usw.


Grüsse,
Daniel