Ergonomische Version von 48_HomeConnect.pm

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

Vorheriges Thema - Nächstes Thema

87insane

Hey zusammen,

den Fehler habe ich bei meiner Spülmaschine auch.

Anbei aber mal ein devStateIcon für eine Spülmaschine:
{
my $ownstate = ReadingsVal($name,'state','ERR');
my $program = ReadingsVal($name,'tr_State2','ERR');
my $propercent = ReadingsVal($name,'ProgramProgress','ERR');
my $doorstate = ReadingsVal($name,'tr_DoorState','ERR');
my $pic = $ownstate =~ m,Run,
? 'scene_dishwasher@red'
: 'scene_dishwasher';
my $text = $ownstate =~ m,Run,
? "($propercent)"
: $doorstate eq "Tür offen"
? "$doorstate"
: "$ownstate";
my $text2 = $ownstate =~ m,Run,
? "$program"
: "";
"<div><a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\"></a>".FW_makeImage($pic)."
$text $text2
</div>"
}

Ich persönlich finde die kleine Übersicht innerhalb von FHEM ganz angenehm.


Was mir noch aufgefallen ist, ich habe einen Kochfeld, eine Spülmaschine und einen Backofen der Homeconnect kann.
Normal konnte ich alles schalten. In der hier gebotenen Version kann ich das nicht mehr. Ich habe weiter oben gelesen, dass die Befehle "verworfen" werden. Ggf kann ich etwas testen oder unterstützen? Wenn ja, bitte kurz melden und Info, was ich machen soll/testen soll.

Da ich diese Version vorhin erst aktiviert habe, habe ich bisher nur ein devStateIcon. Würde aber bei Bedarf, für die bei mir vorhandenen Geräte, noch welche nachliefern.

Gruß,
87Insane

Prof. Dr. Peter Henning

Die "kleine Übersicht" habe ich auch. Für die Spülmaschine sieht das so aus:

1. Attribut stateFormat setzen auf {my $open=ReadingsVal("SN55ZS49CE","tr_DoorState","");
sprintf("<p align=\"left\">\n%s\n<br/>%s\n%s</p>",
ReadingsVal("SN55ZS49CE","state",""),ReadingsVal("SN55ZS49CE","tr_State1",""),
(($open=~/offen/)?"<br/>".$open:""))}

2. Attribut devStateIcon setzen auf Offline:scene_dishwasher@red Aborting:scene_dishwasher@yellow Inactive:scene_dishwasher@black Ready:scene_dishwasher@blue Delayed.*:scene_dishwasher_delay@green Run.*:scene_dishwasher@green
Das resultiert in einer komfortablen zwei- bis dreizeiligen Anzeige, in welcher die erste Zeile ein eingefärbtes Icon ist, die zweite Zeile den Zustand darstellt. Und die dritte Zeile erscheint, wenn die Tür offen ist.

Dem entsprechend für die Waschmaschine:
1. {my $open=ReadingsVal("WAV28G43","tr_DoorState","");
sprintf("<p align=\"left\">\n%s\n<br/>%s\n%s</p>",
ReadingsVal("WAV28G43","state",""),ReadingsVal("WAV28G43","tr_State1",""),
(($open=~/offen/)?"<br/>".$open:""))}

2.Offline:scene_washing_machine@red Aborting:scene_washing_machine@yellow
Inactive:scene_washing_machine@black Finished:scene_washing_machine@orange
Ready:scene_washing_machine@blue Delayed.*:scene_washing_machine_delay@green
Run.*:scene_washing_machine@green

So, aber jetzt zur interessanten Frage: Schalten von Kochfeld und Backofen ? Den Backofen kann ich zwar mit dieser unsäglichen werbeverseuchten App einschalten, wenn der Schalter am Backofen entsprechend steht - aber nicht mit dem HomeConnect-Modul (übrigens auch nicht mit der Originalversion). Mit dem Modul funktioniert lediglich das Setzen das Setzen des Alarmtimers.

Und das Kochfeld kann ich auch mit der App nicht aus der Ferne steuern, das ist laut Angaben von BSH auch nicht vorgesehen - nachvollziehbare Sicherheitsbedenken. Und da wir in Deutschland leben, wo man gerne andere Menschen erzieht: Nein, das dürfte ich auch dann nicht, wenn ich BSH von allen Haftungsgründen befreien würde. Was aber immerhin funktioniert (und das auch mit dem Modul), ist das setzen des Alarmtimers.

Also, ganz ernsthafte Frage: Du konnest wirklich Backofen und Kochfeld steuern???

LG

pah

87insane

Füge doch bitte ein Bild deines devStateIcons an, das macht die Wahl einfacher für den Benutzer.

Also um das mal aufzudröseln:
Backofen: Hier kann ich alles über die App steuern und das geht über die leider hässlichen setter auch mit dem normalen Modul für Homeconnect.
Kochfeld: Ein fernstarte ist in DE nicht erlaubt und ging auch nicht. Danach geht aber alles. Also z.B. Zone xy hoch/runter regeln oder Bratsensor aktivieren usw. Am Kochfeld meine ich aber dies bestätigen zu müssen bei einigen Optionen.

Wie gesagt, teste ich auch gerne. Ich muss nur Instruktionen haben :)

Ggf. ist das auch eine Herstellerfrage. Meine Geräte sind alle von NEFF.
PS: Ich nutze die original App auf einem Android Gerät und bei mir ist die Werbung nur im unteren Teil auf der Startseite. Danach ist da keine Werbung.

Gruß,
87Insane

Prof. Dr. Peter Henning

#63
Du darfst diesen Dateianhang nicht ansehen.
Werbung: Nicht nur auf der Startseite, sondern auch im Menü unten

Das mit dem Steuern scheint tatsächlich eine Frage des Herstellers zu sein  >:(

OK, muss jetzt in die Vorlesung, ich bleibe dran.


LG

pah

87insane

#64
Kann ich etwas beisteuern? Die o.g. Geräte stehen mir zur Verfügung und ich könnte das ein oder andere testen...

PS: Woher kommen bei dir die Icons für .*_delay?

Prof. Dr. Peter Henning

#65
Icons: Selbst gemacht. Habe ich weiter unten auch gepostet.

Edit: So, ich habe mal versucht, das Thema mit den fehlenden Settings in den Griff zu bekommen. BSH möchte ja, dass man die Fähigkeiten jedes Gerätes erst abfragt, bevor man etwas steuert. OK, prima - aber ein paar Defaults sollten in jedem Falle da sein. Teste das gerade noch, wird dann hier publiziert.

LG

pah

RockFan

Hallo pah,

Danke für die Mühen für die vielen Änderungen hier!

Nachdem ich endlich mein Problem mit dem Login lösen konnte (Kein set LoginNecessary nach Logout) bin ich jetzt auch dabei unseren Siemens Wäschetrockner umzustellen.

Leider bekomme ich einige Fehlermeldungen im Log:

2023.05.14 14:12:17 4: myHomeConnectConnection: request /api/homeappliances
2023.05.14 14:12:17 4: myHomeConnectConnection: no token refresh needed
2023.05.14 14:12:17 4: myHomeConnectConnection: requestAfterToken https://api.home-connect.com/api/homeappliances
2023.05.14 14:12:18 4: myHomeConnectConnection: response {
  "data": {
    "homeappliances": [{
      "brand": "Siemens",
      "connected": true,
      "enumber": "WT7YH701/02",
      "haId": "SIEMENS-WT7YH701-68A40E11A618",
      "name": "Trockner",
      "type": "Dryer",
      "vib": "WT7YH701"
    }]
  }
}
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:12:43 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings

Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:12:53 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:12:53 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:13:02 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:13:02 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:13:02 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 529.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 530.
Use of uninitialized value $type in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 556.
Use of uninitialized value in pattern match (m//) at ./FHEM/48_HomeConnect.pm line 574.
2023.05.14 14:13:02 1: [HomeConnect_Set] WT7YH701: no settings defined, please execute Get WT7YH701 Settings

Wenn ich get Settings aufrufe, bringt das leider wenig.

Weitere etwas abweichende Logeinträge:

2023.05.14 14:14:40 1: [HomeConnect_DDtoHash] WT7YH701: setting device dependent things
Use of uninitialized value $type in hash element at ./FHEM/48_HomeConnect.pm line 451.
Use of uninitialized value $type in hash element at ./FHEM/48_HomeConnect.pm line 453.
Use of uninitialized value $type in hash element at ./FHEM/48_HomeConnect.pm line 460.
Use of uninitialized value $type in hash element at ./FHEM/48_HomeConnect.pm line 463.
Use of uninitialized value in concatenation (.) or string at ./FHEM/48_HomeConnect.pm line 1454.

Ich verwende Version 1.0beta2. Das sollte die aktuellste Version sein oder liege ich falsch?

Was läuft bei mir anders/verkehrt?


Viele Grüße
Dieter

Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

Prof. Dr. Peter Henning

Nun, einen Wäschetrockner hatten wir bisher noch nicht im Test...

OK, die Sache mit den Settings habe ich inzwischen im Griff - wenn gar keine vorhanden sind, werden Defaults genommen.Es ist zwar von BSH nett gedacht, dass man alle Daten immer erst vom gerät holen soll - aber deren Cloud ist so instabil, dass man sich darauf eben nicht verlassen kann.

Ich kann derzeit noch nicht sagen, ob ich noch in der kommenden Woche eine neue Beta-Version schaffe. Wenn nicht, sieht es für die beiden folgenden Wochen düster aus: Erst LEARNTEC, dann 1 Woche Urlaub.

Also drückt die Daumen, dass ich in dieser Woche nicht zu viele nervige Termine wahrnehmen muss...

LG

pah

RockFan

Danke für die schnelle Antwort.
Keine Hektik :)

Viele Grüße
Dieter
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

Kuehnhackel

Hallo zusammen, ich würde die Beta-Version auch einmal testen wollen.

Kann mir jemand kurz eine Erklärung geben, ob es parallel funktioniert oder wie ich vorgehen muss.

Danke vorab und

LG
Ralf

Prof. Dr. Peter Henning

Parallel geht es nicht. Und wie gesagt: Alles noch etwas Beta. Da ich schwerwiegende gesundheitliche Probleme hatte, ist das auch noch nicht weiter entwickelt, als es im Februar war.

Anleitung: Das Original 48_HomeConnect.pm irgendwo sichern und mit der angehängten Datei überschreiben. Und schauen, was passiert.

LG

pah

Kuehnhackel

Zitat von: Prof. Dr. Peter Henning am 20 Juni 2023, 11:38:38Da ich schwerwiegende gesundheitliche Probleme hatte, ist das auch noch nicht weiter entwickelt, als es im Februar war.
LG
pah

Danke für die Antwort, ich werde es versuchen.

Dann wünsche ich auf jeden Fall, dass die gesundheitlichen Probleme überwunden sind, ansonsten weiterhin gute Genesung.

LG
Ralf

Shadow3561

#72
Moin,

ich habe heute meinen neuen Geschirrspüler montiert und das Modul geladen.

Leider funktioniert beim Bosch SMV8YCX03E das get Settings nicht.
Readings werden geschrieben und aktualisiert aber ich habe keine Set-Befehle und kann somit den Spüler nicht steuern.

Mit dem Modul von der 1.Seite funktioniert es, auch wenn ein paar Spülprogramme fehlen aber da stören mich die kryptischen readings.

Was kann ich tun um zu helfen damit wir das Modul ans laufen bekommen?

Mit freundlichen Grüßen

##
EDIT:
jetzt funktioniert alles.
Habe das device gelöscht und neu angelegt, jetzt läuft alles.

Mit freundlichen Grüßen

Prof. Dr. Peter Henning

Prima. Ich habe - gesundheitlich bedingt - einige Monate lang an dem Modul nichts gemacht, werde das demnächst wieder aufnehmen. Es wackeln noch zu viele Dinge darin.

LG

pah

87insane

#74
Guten Morgen zusammen,

mir ist bei der Spülmaschine noch aufgefallen, dass Daten wie "Klarspüler fast leer" usw nicht angezeigt werden in FHEM. Ggf. kann man das noch mit rein nehmen.

[code]define S155EB800E HomeConnect homeconnect_server 012120425398000825
attr S155EB800E alias Spülmaschine
attr S155EB800E devStateIcon { \
my $ownstate = ReadingsVal($name,'state','ERR');;\
my $program = ReadingsVal($name,'tr_State2','ERR');;\
my $propercent = ReadingsVal($name,'ProgramProgress','ERR');;\
my $doorstate = ReadingsVal($name,'tr_DoorState','ERR');;\
\
my $pic = $ownstate =~ m,Run,\
? 'scene_dishwasher@red'\
: $ownstate =~ m,Offline,\
? 'scene_dishwasher@brown'\
: $ownstate =~ m,Aborting,\
? 'scene_dishwasher@orange'\
: $ownstate =~ m,Inactive,\
? 'scene_dishwasher@black'\
: $ownstate =~ m,Finished,\
? 'scene_dishwasher@blue'\
: $ownstate =~ m,Ready,\
? 'scene_dishwasher'\
: 'scene_dishwasher_delay';;\
\
my $text = $ownstate =~ m,Run,\
? "($propercent)"\
: $doorstate eq "Tür offen"\
? "$doorstate"\
: "$program";; \
\
my $text2 = $ownstate =~ m,Run,\
? "$program"\
: "";;\
\
\
"<div><a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\"></a>".FW_makeImage($pic)." \
$text $text2\
</div>" \
}
attr S155EB800E event-on-change-reading .*
attr S155EB800E room EG Küche
#   DEF        homeconnect_server 012120425398000825
#   FUUID      64535c96-f33f-33ef-902f-b70e6ec173b62217
#   NAME       S155EB800E
#   NR         211
#   STATE      Ready
#   TYPE       HomeConnect
#   aliasname  Spülmaschine
#   brand      Neff
#   eventChannelTimeout 1692085419.30926
#   eventCount 539
#   events     SaltNearlyEmpty,RinseAidNearlyEmpty
#   haId       012120425398000825
#   hcconn     homeconnect_server
#   prefix     Dishcare.Dishwasher
#   programs   Auto2,Eco50,Glas40,PreRinse,IntensivPower,Kurz60,MachineCare,NightWash
#   retrycounter 0
#   type       Dishwasher
#   vib        S155EB800E
#   READINGS:
#     2023-08-14 00:31:14   ActiveProgram   
#     2023-08-14 22:55:29   DoorState       Closed
#     2023-05-15 23:04:18   ExtraDry        0
#     2023-05-15 23:04:18   IntensivZone    0
#     2023-08-14 00:31:14   OperationState  Ready
#     2023-08-14 00:31:14   PowerState      Off
#     2023-05-10 22:46:57   ProgramAborted  Present
#     2023-08-14 00:31:14   ProgramFinished Off
#     2023-08-14 00:31:14   ProgramProgress 0 %
#     2023-08-14 00:31:14   RemainingProgramTime 9000 seconds
#     2023-08-14 00:31:14   RemainingProgramTimeHHMM 02:30
#     2023-08-09 11:06:02   RemoteControlActive 1
#     2023-08-09 11:06:02   RemoteControlStartAllowed 1
#     2023-08-05 10:00:09   RinseAidNearlyEmpty Present
#     2023-08-05 16:58:41   SelectedProgram Auto2
#     2023-05-15 23:04:18   SilenceOnDemand 0
#     2023-05-15 23:04:18   StartAtHHMM     23:04
#     2023-05-15 23:04:18   StartInRelative 0 seconds
#     2023-05-15 23:04:18   StartInRelativeHHMM 00:00
#     2023-05-15 23:04:18   StartToHHMM     1:34
#     2023-08-14 22:55:29   state           Ready
#     2023-08-14 22:55:29   tr_DoorState    Tür geschlossen
#     2023-08-09 11:06:02   tr_RemoteControlState Fernstart aktiv
#     2023-08-14 22:55:29   tr_State1       Bereit
#     2023-08-14 22:55:29   tr_State2       Bereit
#   data:
#     poweroff   PowerOff
#     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
#
setstate S155EB800E Ready
setstate S155EB800E 2023-08-14 00:31:14 ActiveProgram 
setstate S155EB800E 2023-08-14 22:55:29 DoorState Closed
setstate S155EB800E 2023-05-15 23:04:18 ExtraDry 0
setstate S155EB800E 2023-05-15 23:04:18 IntensivZone 0
setstate S155EB800E 2023-08-14 00:31:14 OperationState Ready
setstate S155EB800E 2023-08-14 00:31:14 PowerState Off
setstate S155EB800E 2023-05-10 22:46:57 ProgramAborted Present
setstate S155EB800E 2023-08-14 00:31:14 ProgramFinished Off
setstate S155EB800E 2023-08-14 00:31:14 ProgramProgress 0 %
setstate S155EB800E 2023-08-14 00:31:14 RemainingProgramTime 9000 seconds
setstate S155EB800E 2023-08-14 00:31:14 RemainingProgramTimeHHMM 02:30
setstate S155EB800E 2023-08-09 11:06:02 RemoteControlActive 1
setstate S155EB800E 2023-08-09 11:06:02 RemoteControlStartAllowed 1
setstate S155EB800E 2023-08-05 10:00:09 RinseAidNearlyEmpty Present
setstate S155EB800E 2023-08-05 16:58:41 SelectedProgram Auto2
setstate S155EB800E 2023-05-15 23:04:18 SilenceOnDemand 0
setstate S155EB800E 2023-05-15 23:04:18 StartAtHHMM 23:04
setstate S155EB800E 2023-05-15 23:04:18 StartInRelative 0 seconds
setstate S155EB800E 2023-05-15 23:04:18 StartInRelativeHHMM 00:00
setstate S155EB800E 2023-05-15 23:04:18 StartToHHMM 1:34
setstate S155EB800E 2023-08-14 22:55:29 state Ready
setstate S155EB800E 2023-08-14 22:55:29 tr_DoorState Tür geschlossen
setstate S155EB800E 2023-08-09 11:06:02 tr_RemoteControlState Fernstart aktiv
setstate S155EB800E 2023-08-14 22:55:29 tr_State1 Bereit
setstate S155EB800E 2023-08-14 22:55:29 tr_State2 Bereit

[/code]



Gruß,
87Insane