Hi,
Das Modul ist seit dem 09.11.2020 ins offizielle FHEM-svn eingecheckt.im Anhang findet Ihr ein Modul im Beta-Stadium, mit dem Ihr eure Miele@Home-fähigen Geräte in FHEM einbinden könnt (nur monitoring).Ich habe das Modul bereits vor 6 Monaten geschrieben, und so lange arbeitet es für mich einwandfrei und liest die Informationen meiner Waschmaschine aus der Miele-Cloud aus.
Aktuell werden nur Waschmaschinen unterstützt, da ich nix anderes zur Hand habe. Ich geh' davon aus, dass andere Geräte auch angezeigt werden, jedoch noch nicht alle Readings erzeugt werden (z.B. Kühlschränke). Wenn ihr mich dabei unterstützt, füge ich jedoch gerne weitere Gerätetypen hinzu :).
Das Modul kommuniziert mit der Miele 3rd-Party-Cloud-API, für die Ihr euch zwingend registrieren müsst. Folgende Schritte sind nötig (die in der CommandRef genauer dokumentiert sind):
- Registrierung für die Miele 3rd-Party-Cloud-API
- Definieren des MieleAtHome-Connection Devices
- Setzen der Attribute login und clientId
- Setzen von password und clientSecret via set
- Erzeugen der Geräte-Instanzen via set <MY_MieleAtHome_Connection_Device> autocreate
Benutzung des Moduls auf eigene Gefahr!Aktuelle CommandRef:
MieleAtHome - Controls Miele@home Devices
About
The MieleAtHome module uses the Miele 3rd Party Cloud API. You need a Miele Developer Account to use it! See below for details.
To use the MieleAtHome module you first have to define a device which will act als shared provider for your credentials. When this one is set up, you can use the autocreate-feature to create devices for your appliances.
Miele Developer Account:
To use this module you need to register as a developer at https://www.miele.com/f/com/en/register_api.aspx. After you successfully registered, you will receive a clientId and a clientSecret which you'll need to configure in your <gateway>-device.
Define
(1) Setup gateway:
define <gateway> MieleAtHome
(2a) Autocreate devices:
set <gateway> autocreate
(2b) Manually create devices:
define <MieleDevice> MieleAtHome <DeviceId>@<gateway> [Interval]
Example
(1) Setup gateway:
define MieleConnection MieleAtHome
attr MieleConnection login mylogin@example.com
attr MieleConnection clientId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
set MieleConnection password mypassword
set MieleConnection clientSecret yyyyyyyyyyyyyyyyyyyy
This instance (MieleConnection) will be used to share the credentials. You have to set the attributes login and clientId. Then you have to set password and clientSecret via set MieleConnection-command.
(2a) Autocreate devices:
set MieleConnection autocreate
This will create a device called Miele_xxxxxxxxxxxxx. You can rename autocreated devices afterwards.
(2b) Manually create devices:
define Waschmaschine MieleAtHome 000123456789@MieleConnection 120
This statement creates the instance of your specific Miele@home appliance with the name Waschmaschine and the DeviceId 000123456789 and a refresh-interval of 120 seconds. The interval is optional, its default is 1800 seconds.
Set
autocreate
autocreate fhem-devices for each Miele@home appliance found in your account. Needs login, clientId, password and clientSecret to be configured properly. Only available for the gateway device.
clientSecret <secret>
sets the clientSecret of your Miele@home-developer Account and stores it in a file (base64-encoded if you have MIME::Base64 installed).
light [enable|disable]
enable/disable the light of your device. only available depending on the type and state of your appliance.
on
power up your device. only available depending on the type and state of your appliance.
off
power off your device. only available depending on the type and state of your appliance.
password <pass>
set the password of your Miele@home Account and stores it in a file (base64-encoded if you have MIME::Base64 installed).
pause
pause your device. only available depending on the type and state of your appliance.
start
start your device. only available depending on the type and state of your appliance.
stop
stop your device. only available depending on the type and state of your appliance.
startSuperFreezing
start super freezing your device. only available depending on the type and state of your appliance.
stopSuperFreezing
stop super freezing your device. only available depending on the type and state of your appliance.
startSuperCooling
start super cooling your device. only available depending on the type and state of your appliance.
stopSuperCooling
stop super cooling your device. only available depending on the type and state of your appliance.
update
instantly update all readings.
ventilationStep [Step1|Step2|Step3|Step4]
set the ventilation step of your device. only available depending on the type and state of your appliance.
Get
listDevices
lists the devices associated with your Miele@home-account. Needs login, clientId, password and clientSecret to be configured properly.
Attributes
clientId
set the clientId of your Miele@home-developer account.
login
set the login of your Miele@home account.
disable
disables this MieleAtHome-instance.
lang [de|en]
request the readings in either german or english. en is default.
Changelog0.5.00.6.0
- implement all processActions as setters
- START
- STOP
- PAUSE
- START SUPERFREEZING
- STOP SUPERFREEZING
- START SUPERCOOLING
- STOP SUPERCOOLING
0.6.1
- implement set <DEV> light <enable|disable>
- implement set <DEV> ventilationStep <Step1|Step2|Step3|Step4>
- implement set <DEV> startTime <hh:mm>
0.7.00.8.0
- urlEncode all data sent for oauth2
- fix warning about $action hiding other variable
0.9.0
- set default interval to 120s (was 1800s before)
- fix crash when calling 'autocreate', but the device was not ready, yet (thanks @JoWiemann)
0.10.0
- (try to) fix initial authorization
- add attribute country (default is Deutschland/de-DE)
- extend logging when verbose=5
0.11.0
- workaround an encoding bug by using german country names instead of localized (thanks @Florie for reporting and @amenomade for the investigation)
0.12.0
- rename IODev -> IODevName to not interfere with FHEM expecting IODev to contain a HASH
- enhance renaming of devices
0.13.0
- fix bug that deleted clientSecret and password from uniqueID when rereadcfg was called
0.14.0
- fix minor bug that prevented proactive token refresh within the last 24h of validity
- refresh token using REFRESH_TOKEN after first authorization
0.15.0
- replace unicode chars with ascii ones in COUNTRIES
1.0.0
- add ecoFeedback values
- first official version in FHEM-svn
Viel Spass und LG
Christian
Hi Christian,
danke für das Modul. Habe das gerade mal installiert und hat auf Anhieb funktioniert. Ich werde das mal parallel zu meiner vorhandenen Installation von meiner Waschmaschine beobachten.
Hast du auch vor die "PUT" Befehle zu integrieren? Da ich das jetzt schon für meine PV-Anlage nutze um die WM anzuschalten.
Danke und Gruß
Frank
Hi,
PUT für powerOn und powerOff habe ich bereits implementiert. Den Rest implementiere ich gerne, wenn interesse besteht :)
Das sind in Deinem Fall die 'processActions' START und STOP und PAUSE?
Ich weiss ehrlich gesagt gar nicht mehr, wieso ich die PUTs nicht alle schon implementiert habe.
LG
Christian
Hi,
oh stimmt habe ich glatt übersehen. Ich nutze nur den Fernstart ({"processAction":1}, diese setzte aber voraus, das die WM entsprechend vorbereitet ist, das Frage ich per DOIF ab.
Aber das könnte ich jetzt ja über remoteEnableFullRC und remoteEnableSmartGrid.
Ideal wäre es natürlich wenn du für den jeweiligen processAction die PreCondoition abfragen könntest und wenn diese nicht True sind, das es einen Fehler gibt wenn man die dazugehörige ProcessAction ausführen möchte. Also in meinen Beispiel den Fernstart wo (fullRemoteControl==true) && (status==4) sein muss.
Hi Christian,
hab dein Modul gerade mal auf unsere neue WCI860 losgelassen ... und geht ;-) - supi - vielen Dank für dein Modul.
Was schön wäre, wenn man die Einstellung von INTERVAL nachträglich ändern könnte, so was wie Set <Device> Interval <value>|<default>
Viele Grüße
Luke
Hi,
Zitat von: xerion am 15 Juni 2020, 10:28:51
Ideal wäre es natürlich wenn du für den jeweiligen processAction die PreCondoition abfragen könntest und wenn diese nicht True sind, das es einen Fehler gibt wenn man die dazugehörige ProcessAction ausführen möchte. Also in meinen Beispiel den Fernstart wo (fullRemoteControl==true) && (status==4) sein muss.
Das kann ich überprüfen, in dem ich die
actions_* readings auslese. Diese entsprechen nämlich den aktuell verfügbaren Aktionen. Das bau ich ein, hab gestern damit angefangen, hab' aber leider nicht so viel Zeit, kommt aber :).
Zitat von: LukeSky007 am 15 Juni 2020, 20:32:22
Was schön wäre, wenn man die Einstellung von INTERVAL nachträglich ändern könnte, so was wie Set <Device> Interval <value>|<default>
Du kannst das INTERVAL als parameter im
DEF angeben, also
define Waschmaschiene MieleAtHome <DeviceId>@<gateway> [Interval]
.
Es ist zur Zeit so, dass das eingestellte INTERVAL nur gilt, so lange die WaMa 'Off' ist, sobald sie eingeschaltet ist, wird immer 60s verwendet.
Ich nutz hier zu Hause ein Interval von 120s, das finde ich ziemlich passend. Vielleicht wäre das auch der bessere Default-Wert. Ich weiss jedoch noch nicht, wie sich das ganze bei Kühlschränken verhält, die ja vermutlich immer 'On' sind.
LG
Christian
Hi,
ich habe gerade Version 0.6.0 hochgeladen. Jetzt werden erstmal alle ProcessActions unterstützt:
0x01 => "start", # 1 START
0x02 => "stop", # 2 STOP
0x03 => "pause", # 3 PAUSE
0x04 => "startSuperFreezing", # 4 START SUPERFREEZING
0x05 => "stopSuperFreezing", # 5 STOP SUPERFREEZING
0x06 => "startSuperCooling", # 6 START SUPERCOOLING
0x07 => "stopSuperCooling", # 7 STOP SUPERCOOLING
LG
Christian
Ich habe jetzt gerade noch eine 0.6.1 hinterhergeschoben, in der man auch light, ventilationStep und startTime setzen kann.
Das scheint meine WaMa aber nicht zu unterstützen, bitte deshalb um Mithilfe von Benutzern mit entsprechenden Geräten :)
LG
Christian
Bei mir sieht es jetzt bis dato alles sehr gut aus. Man kann ja die Value in "de" und "en" anzeigen lassen. Was hältst du davon, das als Atribute einzubauen damit man sich die Sprache der Stati auswählen kann?
Ergänzung. Ich war zu schnell. Habe gerade mal im Code geschaut...das hast du ja schon drin. Kannst also meine Anfrage ignorieren.
Tolle Arbeit Danke.
Ich empfehle die commandref, die ich heute übrigens nochmal überarbeitet habe ;)
Danke, für das Feedback :)
LG
Christian
Hallo Christian,
habe eine Spülmaschine und bekomme leider immer
MieleConnection (MieleAtHome::MAH_onOauthLoginReply:597) Error: Bearer code not found
zurück. Bei Miele komme ich mit meinen Zugangsdaten rein.
Hast du einen Tipp? Kann es was damit zu tun haben?
1: PERL WARNING: "my" variable $action masks earlier declaration in same scope at ./FHEM/48_MieleAtHome.pm line 1219.
Viele Grüße
Frederik
Hi Frederik,
Zitat von: fhemfrederik am 21 Juni 2020, 22:15:40
habe eine Spülmaschine und bekomme leider immer
MieleConnection (MieleAtHome::MAH_onOauthLoginReply:597) Error: Bearer code not found
zurück. Bei Miele komme ich mit meinen Zugangsdaten rein.
Mh, habe ich noch nie gesehen. Ich geh davon aus, dass Du login, password, clientId und clientSecret korrekt gesetzt hast? Benutzt du configDB? (Nicht, dass ich glaube, dass es was damit zu tun hat). Hast Du Mime::Base64 installiert? (Was zeigt das Internal
HAS_MimeBase64?)
Das muss ich mir mal genauer ansehen.
Zitat von: fhemfrederik am 21 Juni 2020, 22:15:40
1: PERL WARNING: "my" variable $action masks earlier declaration in same scope at ./FHEM/48_MieleAtHome.pm line 1219.
Nein, damit hat es nichts zu tun, den fixe mit dem nächsten Release :).
LG
Christian
Ich nochmal,
Frederik, siehst Du Dich in der Lage, die 48_MieleAtHome.pm selber anzupassen, oder soll ich dir eine mit mehr logging zur Verfügung stellen?
Wenn Du es kannst, könntest Du vor Zeile 597 folgendes Log einfügen:
MAH_Log($hash, 2, "headers: ${headers}");
Dann nochmal versuchen und gucken, ob im Log 'code=...' vorkommt. Vielleicht sieht der auch anders aus, als von mir erwartet.
Wenn der headers-log keine geheimen Daten enthält, kannst du sie auch gerne posten, oder auch gerne per PM.
LG
Christian
Hallo Christian,
HAS_MimeBase64 = 1
Die Zugangsdaten habe ich (mehrmals) aus einem PW-Manager rauskopiert. Bei Miele klappt es. Einen Fehler würde ich ausschließen. Gibt es bei Dir verbotene Sonderzeichen?
ConfigDB habe ich nicht im Einsatz. Nur LogDB!
Hier das Log.
2020.06.21 23:13:38 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:597) headers: HTTP/1.1 400 Bad Request
Server: openresty/1.15.8.2
Date: Sun, 21 Jun 2020 21:13:38 GMT
Content-Type: application/json
Content-Length: 45
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
2020.06.21 23:13:38 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:598) Error: Bearer code not found
Bei Miele muss ich übrigens noch "Miele Deutschland" wählen. Die Einstellung habe ich bei Dir nicht gefunden.
Viele Grüße
Frederik
Ok, das hilft mir nicht. Bad Request. Keine Ahnung, wieso.
Kannst Du verbose mal auf 5 stellen? Dann sehe ich auch den $data-Teil.
Sonst muss ich mich mal genauer in oauth2 einlesen.
> Gibt es bei Dir verbotene Sonderzeichen?
Nein, nicht, dass ich wüsste.
LG
Christian
Hier mit Verbose 5
2020.06.21 23:29:27 5: MieleConnection (MieleAtHome::MAH_refreshAccessToken:453) called
2020.06.21 23:29:27 5: Cmd: >deletereading MieleConnection lastError<
2020.06.21 23:29:27 5: MieleConnection (MieleAtHome::MAH_doThirdpartyLoginRequest:489) called
2020.06.21 23:29:27 5: HttpUtils url=https://api.mcs3.miele.com/thirdparty/login/?response_type=code&state=login&client_id=xxx&scope=&redirect_uri=https%3A%2F%2Fapi.mcs3.miele.com%2Fthirdparty%2Flogin%2F
2020.06.21 23:29:27 4: IP: api.mcs3.miele.com -> 137.117.150.39
2020.06.21 23:29:28 5: HttpUtils request header:
GET /thirdparty/login/?response_type=code&state=login&client_id=xxx&scope=&redirect_uri=https%3A%2F%2Fapi.mcs3.miele.com%2Fthirdparty%2Flogin%2F HTTP/1.0
Host: api.mcs3.miele.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
2020.06.21 23:29:28 4: https://api.mcs3.miele.com/thirdparty/login/?response_type=code&state=login&client_id=xxx&scope=&redirect_uri=https%3A%2F%2Fapi.mcs3.miele.com%2Fthirdparty%2Flogin%2F: HTTP response code 200
2020.06.21 23:29:28 5: HttpUtils https://api.mcs3.miele.com/thirdparty/login/?response_type=code&state=login&client_id=xxx=&redirect_uri=https%3A%2F%2Fapi.mcs3.miele.com%2Fthirdparty%2Flogin%2F: Got data, length: 6426
2020.06.21 23:29:28 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: openresty/1.15.8.2
Date: Sun, 21 Jun 2020 21:29:28 GMT
Content-Type: text/html
Content-Length: 2228
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Content-Encoding: gzip
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
2020.06.21 23:29:28 5: MieleConnection (MieleAtHome::MAH_onThirdpartyLoginReply:522) reply: err:, code:200, SKIPPING DATA
2020.06.21 23:29:28 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:539) called
2020.06.21 23:29:28 5: HttpUtils url=https://api.mcs3.miele.com/oauth/auth
2020.06.21 23:29:28 4: IP: api.mcs3.miele.com -> 137.117.150.39
2020.06.21 23:29:28 5: HttpUtils request header:
POST /oauth/auth HTTP/1.0
Host: api.mcs3.miele.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
Content-Length: 221
Content-Type: application/x-www-form-urlencoded
2020.06.21 23:29:28 4: https://api.mcs3.miele.com/oauth/auth: HTTP response code 400
2020.06.21 23:29:28 5: HttpUtils https://api.mcs3.miele.com/oauth/auth: Got data, length: 45
2020.06.21 23:29:28 5: HttpUtils response header:
HTTP/1.1 400 Bad Request
Server: openresty/1.15.8.2
Date: Sun, 21 Jun 2020 21:29:28 GMT
Content-Type: application/json
Content-Length: 45
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
2020.06.21 23:29:28 5: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:587) reply: err:, code:400: data:{"code":400,"message":"HTTP 400 Bad Request"}
2020.06.21 23:29:28 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:597) headers: HTTP/1.1 400 Bad Request
Server: openresty/1.15.8.2
Date: Sun, 21 Jun 2020 21:29:28 GMT
Content-Type: application/json
Content-Length: 45
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
2020.06.21 23:29:28 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:598) Error: Bearer code not found
Viele Grüße
Frederik
P.S. Bin dann mal weg für heute. Danke!
Erstmal danke für das Log, guck ich mir morgen im Detail an.
Aber zum Thema Sonderzeichen. Möglicheweise ist das doch ein Problem, weil ich die un-encodiert in die URL schreibe. Benutzt Du Sonderzeichen, die möglicherweise die URL kaputt machen? Sowas wie '?' oder '&' z.B.? Werde die mal percent-encode in der nächsten Version, vielleicht hilft das schon.
LG und gute Nacht
Christian
Diese sind es nicht, aber ja. Eines davon macht unescaped die URL kaputt! ;)
Ok, dann fixe ich das ASAP :)
LG
Christian
Super. Danke! Jetzt aber wirklich gute Nacht :)
So, ich habe gerade im ersten Post die 0.8.0 hochgeladen. In der urlEncode ich jetzt alle Daten, die ich für das oauth2 versende. Hoffentlich hilft das :).
Jetzt hoffe ich, dass Dein Sonderzeichen kein " " ist, das kann man vermutlich nichtmal per 'set' setzen ;).
Die $action-Warnung hab' ich auch noch gefixt.
LG
Christian
Als ich das Passwort neu gesetzt hatte, habe ich HTTP ERROR 400 bekommen!? Aber es klappt! Dishwasher ist da!
Danke. Wenn Du auf dem Weg zur 1.0 noch einen Tester brauchst einfach melden.
Viele Grüße
Frederik
Prima,
ich freu mich, wenn Du es beobachtest, und irgendwann nochmal Feedback gibst. Bei Probleme natürlich sofort :)
LG
Christian
Hallo Christian,
gibt man set <gateway> autocreate in der Fhem Commandline an, ohne das es schon in der Befehlsliste im Fhem Web auswählbar ist, so schmiert Fhem mit folgender Fehlermeldung ab:
myMiele (MieleAtHome::MAH_onThirdpartyTokenReply:660) Error: code != 200: 401
Can't use string ("Please authenticate first") as an ARRAY ref while "strict refs" in use at ./FHEM/48_MieleAtHome.pm line 1087.
Grüße Jörg
ui :-\
guck ich mir an. Danke :)
LG
Christian
Hallo Christian,
könntest Du das Interval noch über Attribut definierbar machen. 1800 Sekunden finde ich etwas lang.
Grüße Jörg
Zitat von: JoWiemann am 23 Juni 2020, 10:43:59
Hallo Christian,
könntest Du das Interval noch über Attribut definierbar machen. 1800 Sekunden finde ich etwas lang.
Grüße Jörg
Im DEF ändern
https://forum.fhem.de/index.php/topic,112114.msg1064713.html#msg1064713
Zitat von: amenomade am 23 Juni 2020, 11:24:53
Im DEF ändern
https://forum.fhem.de/index.php/topic,112114.msg1064713.html#msg1064713
Ok, wer liest ist im Vorteil. Danke.
Grüße Jörg
Hallo Christian,
wenn unsere Waschmaschine ausgeschaltet ist wird folgender Fehler im Log protokolliert (da Interval == 60, alle 60 Sekunden):
2020.06.23 13:04:38 3: Miele_000150198748 (MieleAtHome::MAH_onGetDeviceIdentAndStateReply:793) Error: read from https://api.mcs3.miele.com:443 timed out
2020.06.23 13:02:37 3: Miele_000150198748 (MieleAtHome::MAH_onGetDeviceActionsReply:920) Error: read from https://api.mcs3.miele.com:443 timed out
Grüße Jörg
PS: Die Log-Einträge sind 10 Minuten lang aufgetaucht. Dann war wieder Ruhe.
Zitat von: choenig am 15 Juni 2020, 20:40:34
Es ist zur Zeit so, dass das eingestellte INTERVAL nur gilt, so lange die WaMa 'Off' ist, sobald sie eingeschaltet ist, wird immer 60s verwendet.
Hallo Christian,
wie bekommst Du mit, dass die WaMa on geht, wenn das Intervall per default 1800 Sekunden ist? Ggf läuft die Maschine dann ja schon eine ganze Zeit.
Grüße Jörg
Hi,
Zitat von: JoWiemann am 23 Juni 2020, 14:08:05
wie bekommst Du mit, dass die WaMa on geht, wenn das Intervall per default 1800 Sekunden ist? Ggf läuft die Maschine dann ja schon eine ganze Zeit.
Ich hab' das Interval bei mir auf 120 stehen, da passt das ganz gut :).
Ich denke, ich stell' den default auch eher auf 120s, oder?
Edit: 1800 macht vermutlich eher für Kühlschränke Sinn.
LG
Christian
Zitat von: choenig am 23 Juni 2020, 21:29:52
Hi,
Ich hab' das Interval bei mir auf 120 stehen, da passt das ganz gut :).
Ich denke, ich stell' den default auch eher auf 120s, oder?
Edit: 1800 macht vermutlich eher für Kühlschränke Sinn.
LG
Christian
Hallo Christian,
vielleicht machst Du es deviceType abhängig. Anderseits, Kühlschrank nicht richtig geschlossen -> Alarm erst nach 1800 Sekunden wäre auch doof.
Nur so als Anregung: Ein set <Miele@HomeDevice> intervall könnte dann auch durch Fhem Routinen/Events leichter gesetzt werden.
Grüße Jörg
Moin,
Zitat von: JoWiemann am 23 Juni 2020, 10:05:26
gibt man set <gateway> autocreate in der Fhem Commandline an, ohne das es schon in der Befehlsliste im Fhem Web auswählbar ist, so schmiert Fhem mit folgender Fehlermeldung ab
den Fix dafür habe ich gerade als 0.9.0 hochgeladen.
Falls wieder was auf- oder auseinanderfällt, bitte melden :).
Zitat von: JoWiemann am 24 Juni 2020, 10:06:33
vielleicht machst Du es deviceType abhängig. Anderseits, Kühlschrank nicht richtig geschlossen -> Alarm erst nach 1800 Sekunden wäre auch doof.
Beides klingt gut. Es ist ja zur Zeit so, dass er immer 60s verwendet, wenn das Gerät '!= Off' ist. Bei Kühlschränken sind sie das vermutlich dauerhaft, dann würde er eh immer 60s verwenden. Dafür brauch ich aber mehr Feedback von Besitzern solcher Geräte. Wird sich sicher mit der Zeit ergeben.
EDIT: Die 0.9.0 stellt das default-Interval jetzt auf 120s.
Zitat von: JoWiemann am 24 Juni 2020, 10:06:33
Nur so als Anregung: Ein set <Miele@HomeDevice> intervall könnte dann auch durch Fhem Routinen/Events leichter gesetzt werden.
Da hatte ich drüber nachgedacht, mich dann für das
Internal entschieden, weil ein grep im
FHEM/-Ordner mir deutlich mehr treffer bei
INTERVAL als bei
interval gegeben hat.
Für mich macht es keinen Unterschied, die 120s/60s passen bei mir einwandfrei.
Bin aber für alle Seiten offen, und wenn es wirklich sinnvoller ist, es änderbar zu machen, dann kann ich das gerne umbauen. Vielleicht kann man auch beide Varianten kombinieren? Mir erschliesst sich nur erstmal kein Grund dafür.
LG
Christian
Moin.
Ich werde das Modul auch heute Abend mal testen - heute ist einen neue Waschmaschine gekommen. Haben bereits ein Konto angelegt und auch den Developer-Account frei geschaltet. ClientID und Secret haabe ich schon bekommen. Alles ist schon bei Modul in Fhem eingetragen. Mein Account ist aber noch ohne Gerät - das werde ich heute Abend wie gesagt mit meinem Account verknüpfen. Momentan steht im Modul der state auf "Initialized". Mache ich testhalber ein "set Miele_GW autocreate", dann bekomme ich als lastError "autocreate failed: Please authenticate first". Aber ich schau erst mal - erledigt sich ja vielleicht, sobald wirklich ein Gerät im Account drin ist... ;)
EDIT: Sowohl bei setzen des Passworts als auch beim setzen des Client Secrets bekomme ich im Log die Meldung:
2020.06.29 14:41:20 2: Miele_GW (MieleAtHome::MAH_onOauthLoginReply:602) Error: Bearer code not found
2020.06.29 14:42:07 2: Miele_GW (MieleAtHome::MAH_onOauthLoginReply:602) Error: Bearer code not found
Hallo Christian,
ich habe Dein Modul heute auch noch mal probiert - mit Erfolg - vielen Dank! Hatte das in früheren Versionen schon getestet, war aber immer an der Authentifizierung gescheitert. Heute noch mal eine Mail angefordert, über den erhaltenen Link eingeloggt, die Mailadresse und Passwort dort eingegeben und den App Zugriff erlaubt. Danach alles im Modul eingegeben und mit autocreate meinen Geschirrspüler richtig angelegt - und es funktioniert!
Hoffe mal, dass es diesmal langfristig geht. Hatte den Spüler schon zwei mal über httpmod in FHEM eingebunden. Das lief jeweils paar Wochen, danach war es so, als sei der Account dauerhaft gesperrt. Über die Miele App auf dem iPad ging es aber die ganze Zeit. Dort wird allerdings ja auch kein Enwickler Account mit ID und secred benötigt.
Hi,
Zitat von: Cluni am 29 Juni 2020, 14:28:39
EDIT: Sowohl bei setzen des Passworts als auch beim setzen des Client Secrets bekomme ich im Log die Meldung:
2020.06.29 14:41:20 2: Miele_GW (MieleAtHome::MAH_onOauthLoginReply:602) Error: Bearer code not found
2020.06.29 14:42:07 2: Miele_GW (MieleAtHome::MAH_onOauthLoginReply:602) Error: Bearer code not found
Du benutzt die aktuellste 0.9.0? Hast beim update ein fhem-restart oder reload 48_MieleAtHome gemacht? Falls ja, würde ich Dich bitten, auch mal verbose auf 5 stellen und mir (gerne auch als PN) den Output davon zu senden.
Ich würde eigentlich nicht erwarten, dass es davon abhängt, ob ein Gerät registriert ist, oder nicht.
Zitat von: det. am 29 Juni 2020, 17:44:27
ich habe Dein Modul heute auch noch mal probiert - mit Erfolg - vielen Dank!
:)
Zitat von: det. am 29 Juni 2020, 17:44:27
Hatte das in früheren Versionen schon getestet, war aber immer an der Authentifizierung gescheitert.
Lag vermutlich an dem Bug, den ich in der 0.8.0 gefixt habe.
Zitat von: det. am 29 Juni 2020, 17:44:27
Hoffe mal, dass es diesmal langfristig geht. Hatte den Spüler schon zwei mal über httpmod in FHEM eingebunden. Das lief jeweils paar Wochen, danach war es so, als sei der Account dauerhaft gesperrt. Über die Miele App auf dem iPad ging es aber die ganze Zeit. Dort wird allerdings ja auch kein Enwickler Account mit ID und secred benötigt.
Wie gesagt, bei mir läuft es ohne murren seit über 6 Monaten. Wenn es Probleme gibt, lass es mich wissen, lassen sich vermutlich alle irgendwie lösen.
LG
Christian
Also ich bekomme es warum auch immer nicht hin. Bekomme dann immer die gleichen Meldungen. Habe sogar Client ID und Secret neu generieren lassen. Klappt trotzdem nicht... :(
Ich hatte das Modul (v0.9.0) in mein fhem/FHEM Verzeichnis kopiert, den User angepasst, die Rechte kontrolliert und anschließend in fhem ein reload 48_MieleAtHome.pm gemacht. Anschließend laut dem ersten Post eingerichtet.
Werde gleich mal verbose auf 5 setzen und dir die Ausgabe per PN schicken. Dank dir für die Hilfe!
Hi Christian, ich habe dir das Logging per PN geschickt.
Hi,
ich versteh nicht ganz, wieso bei Dir ein request zur Authorizierung als Antwort kommt.
Kannst Du mal versuchen, dich unter https://www.miele.com/developer/swagger-ui/index.html#/Action/put_devices__deviceId__actions einzuloggen (rechts bei "Authorize", dann unten bei "OAuth2 (OAuth2, authorizationCode)".
Ehrlich gesagt ist mir nicht ganz genau klar, wie der oauth2-prozess hier auszusehen hat, ich habe den Teil aus dem HTTPMOD-Thread kopiert :). Was das angeht, ist die Miele-Doku leider recht schwach und mich tief in OAuth2 einzulesen, da fehlte mir (bisher) ein wenig die Motivation, aber bisher funktionierte auch alles ;).
LG
Christian
Jetzt geht es. Ich habe nochmal die Authorisierung bei Miele durchgeführt.
Danke für das Modul und deine Mühen! :)
Zitat von: choenig am 29 Juni 2020, 20:00:25
..., da fehlte mir (bisher) ein wenig die Motivation, aber bisher funktionierte auch alles ;).
Das kenne ich - habe letztens ein wenig am Modul für Waterkotte Wärmepumpen mit Resümat CD 4 Regler geändert um mehr Messwerte zu bekommen und weitere Einstellungen vornehmen zu können. Da sind auch noch Sachen, die ich nicht ganz durchblicke... ::)
Kannst du mir auf die Schnelle sagen, auf was ich (wenn die Rückmeldungen auf Deutsch stehen) triggers muss (event wahrscheinlich auf status oder state, oder?)? Welche Meldung kommt da, wenn die Waschmaschine fertig ist mit dem Waschvorgang?
Liebe Grüße
Bernd
Wunderbar :)
Trigger: Ich hab' nichts eingerichtet, weil die Notification über die Miele-App immer einen Moment früher kommt, als es hier angezeigt wird. Ich hab' nur im Tablet-UI eine Anzeige:
<div style="position:absolute;bottom:160px;left:50%" id="Waschmaschine">
<div data-type="switch" data-device="" data-icon="oa-scene_washing_machine" class="compressed inline" data-background-icon="" data-color="#6699ff" style="font-size:300% !important;position:relative;top:15px;"></div>
<!-- off, on, delay, done, running -->
<div data-type="label" data-device="KG.Keller.MieleWaschmaschine" data-get="etaHR"
data-limits-get="statusRaw" data-limits='["[1]","[2]","[34]","[7]", ".*"]'
data-classes='["","","","greenshadow","bluetv"]'
data-colors='["#6699ff","#6699ff","#6699ff","#00ff00","#ffffff"]'
data-hide="statusRaw" data-hide-on="1" data-hideparents="#Waschmaschine"
class="grande right-align bold inline" style="font-size:800% !important;letter-spacing:-0.05em;"></div>
</div>
LG
Christian
Ok, wenn es auf Englisch steht, dann muss ich einfach auf den status ,,done" oder statusRAW = 7 triggern. Werde ich mal testen. Bei mir wird eine Benachrichtigung im Wohnzimmer auf meinem Sonos System ausgegeben, wenn die Wäsche fertig ist. Mache ich bei der alten Waschmaschine über eine Steckdose, die die Leistung misst. Soll ja so bleiben, wie es bisher war... 8)
Hallo Christian,
Der erste Geschirrspülgang unter Kontrolle Deines Moduls ist soeben fertig! Jetzt müssten nur die Entwickler von Miele noch den Rest- Salz und Klarspüler Vorrat in ihre API einbauen, dann könnte ich darauf eine Telegram Nachricht generieren. Hatte das schon mal vor ca. einem Jahr als Wunsch gemailt, aber seitens Miele dazu nie eine Antwort erhalten... In der iPad App ist es drin. Vielleicht liest hier ja jemand passendes mit.
Hi,
Zitat von: det. am 29 Juni 2020, 21:04:08
Der erste Geschirrspülgang unter Kontrolle Deines Moduls ist soeben fertig! Jetzt müssten nur die Entwickler von Miele noch den Rest- Salz und Klarspüler Vorrat in ihre API einbauen, dann könnte ich darauf eine Telegram Nachricht generieren. Hatte das schon mal vor ca. einem Jahr als Wunsch gemailt, aber seitens Miele dazu nie eine Antwort erhalten... In der iPad App ist es drin. Vielleicht liest hier ja jemand passendes mit.
Das ist bei den Waschmaschinen das selbe. Unsere hat die eingebauten TwinDos Waschmittelkartuschen, aber ich kann den Status leider nicht auslesen. Die App zeigt es jedoch an.
LG
Christian
Moin,
Ich versuche auch schon seid längerem die Miele Waschmaschine einzubinden und bin jetzt auf dein Modul gestoßen.
Ich hatte ein ähnliches Problem wie Cluni. Dann habe ich "Authencate" auf der Miele Seite durchgeführt und nun kommt bei mir mittlerweile
2020.07.02 14:26:00 5: myMiele (MieleAtHome::MAH_onThirdpartyTokenReply:656) reply: err:, code:401, data:{"message":"Client credentials are not valid"}
@ tiwo85,
steht doch eindeutig da, was schiefging. Einfach noch mal ne neue Mail holen und dann Schritt für Schritt, so wie ich es in Antwort 35 versucht habe zu beschreiben. Irgendwann geht es dann, brauchte auch mehrere Versuche. Immer eine Mail - ein Versuch....
Hi,
interessant, d.h., Du bekommst auf jeden Fall einen Code. Mit dem versucht er dann zusammen mit clientId und clientSecret den Token zu bekommen. Das geht schief.
Ich kann mir nicht vorstellen, dass es eine brauchbare Lösung ist, immer wieder neue ClientID/Secret Kombination zu generieren, bis es tut.
Einloggen auf der 3rd-Party Seite mit allen 4 Daten (ClientId, ClientSecret, eMail und Password) funktioniert?
ZitatEinloggen auf der 3rd-Party Seite mit allen 4 Daten (ClientId, ClientSecret, eMail und Password) funktioniert?
Ja das funktioniert. Ich kann, nachdem ich mich angemeldet habe auch die Geräte abfragen. Ich werde morgen früh nach der Arbeit noch neue ID und secret beantragen und es nochmals versuchen.
Ich habe mir jetzt 2mal neue Credentials zuschicken lassen. Insgesamt war es jetzt schon das 6. Mal. Warum es jetzt ging, weiß ich nicht, aber es läuft.
Hi,
ich habe gerade Version 0.10.0 hochgeladen.
Das wichtigste: Ich habe einen Fix implementiert, so dass auch die erste Authorisierung funktionieren sollte, ohne dass vorher auf der 3rd-Party-Seite eine Authorisation durchgeführt werden muss.
Ich habe gerade diverse neue Zugangsdaten generiert und es hat immer beim ersten Mal funktioniert.
Falls also jemand noch Probleme hat, sollte er unbedingt die 0.10.0 ausprobieren!
Zusätzlich habe ich noch das Attribut country hinzugefügt. Wenn ihr also euren Miele-Account nicht in 'de' registriert habt, könnt ihr das jetzt über das Attribut setzen. Default ist Deutschland (de-DE).
LG
Christian
Hi Christian,
danke für Dein Modul mit der 0.10.0 klappt jetzt auch die initiale Authetifizierung bei mir :)
Eine Bitte, leider kann ich die über autocreate gefundenen Geräte nicht in einen Namen mit Umlauten umbenennen, d.h. ich kann z.B. das Gerät XY nicht in "Geschirrspühler" umbenennen
Invalid characters in name (not A-Za-z0-9._): Geschirrspühler
Zudem, wenn ich die Geräte z.B. in den vorhandenen Raum Küche "schieben" möchte, erhalte ich nur "Küche" zur Auswahl. Schiebe ich da etwas rein habe ich dadurch dann zwei Räume:
Küche
Küche
Kannst Du da etwas ändern? Danke
ZitatCode: [Auswählen]
Invalid characters in name (not A-Za-z0-9._): Geschirrspühler
Das kommt nicht vom Modul sondern von Fhem (fhem.pl) selbst. Im Name eines Devices dürfen nur Zahlen, Buchstaben und Punkt oder Unterstrich.
Und für die Räume kommt es warhscheinlich auch nicht vom Modul. Ich vermute, es passiert genau das gleiche mit einem dummy.
Du hast irgendein Problem mit codepages, entw im Browser oder in deinem Editor ( :-X ), oder was auch immer
Komisch, habe "zig" Umlaute in meiner fhem.cfg aber noch nie Probleme gehabt. Ich habe nun als room einfach Küche bei den Miele Sachen reingeschrieben und schon gehts ... Komisch
Zitat von: Florie am 11 Juli 2020, 12:51:35
Komisch, habe "zig" Umlaute in meiner fhem.cfg aber noch nie Probleme gehabt. Ich habe nun als room einfach Küche bei den Miele Sachen reingeschrieben und schon gehts ... Komisch
Mach mal bitte ein "list -r" von einem Device mit Umlaute im NAME?
Zitat von: Florie am 11 Juli 2020, 12:31:31
Hi Christian,
danke für Dein Modul mit der 0.10.0 klappt jetzt auch die initiale Authetifizierung bei mir :)
Eine Bitte, leider kann ich die über autocreate gefundenen Geräte nicht in einen Namen mit Umlauten umbenennen, d.h. ich kann z.B. das Gerät XY nicht in "Geschirrspühler" umbenennen
Invalid characters in name (not A-Za-z0-9._): Geschirrspühler
Zudem, wenn ich die Geräte z.B. in den vorhandenen Raum Küche "schieben" möchte, erhalte ich nur "Küche" zur Auswahl. Schiebe ich da etwas rein habe ich dadurch dann zwei Räume:
Küche
Küche
Kannst Du da etwas ändern? Danke
Das Thema Umlaute für devices (Geräte) in Fhem ist uralt. Auf Grund von weitreichenden Problemen in der Weiterverwendung von Gerätenamen in der Programmierung bei "at" "DOIF" ReadingsVal usw hat sich die Fhem Gemeinde auf einen zulässigen Zeichensatz geeinigt, der Dir als Fehlermeldung angezeigt wird.
Grüße Jörg
Im Namen koennen nur die erwaehnten Zeichen vorkommen, als alias kann man aber was beliebiges setzen.
alias wird fuer die Anzeige verwendet, beim set/attr/etc muss man weiterhin den Namen verwenden.
FHEM verwendet utf-8 fuer die Kodierung von Umaluten, viele Texteditoren latin-1. Wenn man im Raumauswahl "Küche" findet, dann liegt es (meist) daran, dass man mit einem "latin-1" Texteditor Umlaute in fhem.cfg eingebaut hat. Statt Texteditor kann theoretisch auch der Browser schuld sein, aber alle Browser die ich kenne, respektieren die UTF-8 Angabe, die FHEM setzt.
Hi,
also bei den Umlauten im Gerätenamen habt ihr natürlich Recht, da hatte ich tatsächlich Aliase drinnen. Dennoch hatte ich eigentlich schon einige Homematic-Geräte im Raum "Küche" und nie Anzeigeprbleme. Dies ist auch nach wie vor so. Nur wenn ich auf eins der Miele Geräte klicke wird links der Raum temporär als Küche angezeigt, gehe ich wieder auf ein Nicht-Miele-Gerät springt es wieder auf Küche.
eine Überprüfung mit dem Befehl "file DATEINAME" liefert folgendes:
fhem.cfg: UTF-8 Unicode text, with very long lines
FHEM/48_MieleAtHome.pm: Perl5 module source, UTF-8 Unicode text, with very long lines
Sollte also beides mit UTF-8 sein ...
Ich werde im Zweifel damit Leben, dachte nur, dass es evtl. ein Bug in der Miele.pm ist ;)
Hi Florie,
mir ist nichts bekannt, was ich tun könnte, um das Problem zu lösen.
Wenn mir jemand sagt, was ich fixen kann, mach ich das gerne, denke aber eigentlich nicht, dass es geht :).
LG
Christian
@choenig: m.M.n. kannst Du nichts tun. Irgendwo wurde vermutlich ein "Küche" hinzugefügt, entw. durch Benutzung eines falschen Editors, oder schlechte Browsereinstellungen.
Was ergibt ein "list room=Küche", bzw ein "list room=Küche". Sind alle Devices in Küche?
Ich würde auf jedem Device im Raum Küche und/oder Küche gehen, und über die Weboberfläsche das room Attribut löschen, dann immer noch über die Weboberfläsche "Küche" einstellen (ggf wenn nicht in der Liste, dann manuell forcieren)
Also mit Küche kommt Backofen
EG.ku.HZ
EG.ku.HZ_Clima
EG.ku.HZ_Weather
EG.ku.TK
Geschirrspuehler
Kochfeld
Dort sind eben auch die drei Miele Geräte gelistet.
Unter Küche kommt nichts.
Ich habe nun mal bei allen Geräte des Raums Küche das room-Attrribut gelöscht, dann fhem.cfg gespeichert. Als erstes habe ich dann ein Mielegeräte mit dem "neuen" Raum Küche geadded. Wenn ich nicht auf dem Gerät stehe kommt links in der Raumübersicht "Küche", wenn ich auf das Mielegeräte klickee ists wieder Küche.
In der fhem.cfg wurde der Raum als Küche gespeichert.
Echt komisch, hatte wie gesagt noch nie Probleme davor. Nutze Win10 plus Firefox.
Aber Danke allen für die tolle Unterstützung bis hierhin ;D
Ist es das gleiche mit Chrome (oder Edge) ?
In Firefox, hast Du Einstellungsmöglichkeiten im Menü Ansicht > Zeichenkodierung?
Leider ist das von dir angesprechene in Firefox ausgegraut. Daher kann ich so gerade nicht sehen, was da eingestellt ist.
Allerdings habe ich gerade Chrome und Edge auch getestet.
Gleiches Bild wie Firefox.
Bin ich auf irgendeinem Gerät (egal ob Küche oder nicht) was ungleich Miele ist. Geht alles.
Gehe ich auf eins der drei Miele Geräte kommt in die Raumübersicht Küche
Gut: ich kann das Problem reproduzieren. Ich hatte auch einen vorhanden Raum Küche, der immer gut funktioniert hat. Es reicht, ein "define miele MieleAtHome" und schon kommt in der Klappliste vom attr room der Wert Küche.
Schlecht: ich kann mir das Ding (noch) nicht erklären.
@choenig:
Das kommt von der COUNTRIES Liste. Irgendwie stört es perl (oder javascript oder den browser), so dass er irgendwie auf andere Einstellungen springt.
Wenn ich die Zeilen mit komischen (u.a. kirillischen) Zeichen auskommentiere, passiert das nicht mehr.
use constant COUNTRIES => {
"Miele-Deutschland" => "de-DE",
"Miele-Eesti" => "et-EE",
"Miele-Norge" => "no-NO",
# "Miele-Србија" => "sr-RS",
# "Miele-België" => "nl-BE",
"Miele-Suomi" => "fi-FI",
"Miele-Hong-Kong" => "zh-HK",
# "Miele-Россия" => "ru-RU",
"Miele-United-Arab-Emirates" => "en-AE",
"Miele-Portugual" => "pt-PT",
# "Miele-България" => "bg-BG",
"Miele-Schweiz" => "de-CH",
"Miele-India" => "en-IN",
"Miele-Semi-Pro" => "de-SX",
"Miele-Nihon" => "ja-JP",
"Miele-Danmark" => "da-DK",
"Miele-Hanguk" => "ko-KR",
"Miele-South-Africa" => "en-ZA",
"Miele-Lietuva" => "lt-LT",
"Miele-Chile" => "es-CL",
"Miele-Luxemburg" => "de-LU",
"Miele-Croatia" => "hr-HR",
"Miele-Latvija" => "lv-LV",
# "Miele-Zhōngguó" => "zh-CN",
# "Miele-Ελλάδα" => "el-GR",
"Miele-Italia" => "it-IT",
"Miele-México" => "es-MX",
"Miele-France" => "fr-FR",
"Miele-Malaysia" => "en-MY",
"Miele-New-Zealand" => "en-NZ",
# "Miele-Україна" => "ru-UA",
# "Miele-Magyarország" => "hu-HU",
# "Miele-España" => "es-ES",
# "Miele-Казахстан" => "ru-KZ",
"Miele-Sverige" => "sv-SE",
"Miele-Österreich" => "de-AT",
"Miele-Australia" => "en-AU",
"Miele-Singapore" => "en-SG",
"Miele-Thailand" => "en-TH",
"Miele-Kypros" => "el-CY",
"Miele-Slovenia" => "sl-SI",
# "Miele-Беларуси" => "ru-BY",
"Miele-Czechia" => "cs-CZ",
"Miele-Slovensko" => "sk-SK",
"Miele-UK" => "en-GB",
"Miele-Ireland" => "en-IE",
"Miele-Polska" => "pl-PL",
# "Miele-România" => "ro-RO",
"Miele-Canada" => "en-CA",
"Miele-Nederland" => "nl-NL",
"Miele-Türkiye" => "tr-TR",
"Miele-USA" => "en-US",
};
Interessant, guck ich mir an.
Zitat von: amenomade am 20 Juli 2020, 19:28:28
@choenig:
Das kommt von der COUNTRIES Liste. Irgendwie stört es perl (oder javascript oder den browser), so dass er irgendwie auf andere Einstellungen springt.
Wenn ich die Zeilen mit komischen (u.a. kirillischen) Zeichen auskommentiere, passiert das nicht mehr.
use constant COUNTRIES => {
"Miele-Deutschland" => "de-DE",
"Miele-Eesti" => "et-EE",
"Miele-Norge" => "no-NO",
# "Miele-Србија" => "sr-RS",
# "Miele-België" => "nl-BE",
"Miele-Suomi" => "fi-FI",
"Miele-Hong-Kong" => "zh-HK",
# "Miele-Россия" => "ru-RU",
"Miele-United-Arab-Emirates" => "en-AE",
"Miele-Portugual" => "pt-PT",
# "Miele-България" => "bg-BG",
"Miele-Schweiz" => "de-CH",
"Miele-India" => "en-IN",
"Miele-Semi-Pro" => "de-SX",
"Miele-Nihon" => "ja-JP",
"Miele-Danmark" => "da-DK",
"Miele-Hanguk" => "ko-KR",
"Miele-South-Africa" => "en-ZA",
"Miele-Lietuva" => "lt-LT",
"Miele-Chile" => "es-CL",
"Miele-Luxemburg" => "de-LU",
"Miele-Croatia" => "hr-HR",
"Miele-Latvija" => "lv-LV",
# "Miele-Zhōngguó" => "zh-CN",
# "Miele-Ελλάδα" => "el-GR",
"Miele-Italia" => "it-IT",
"Miele-México" => "es-MX",
"Miele-France" => "fr-FR",
"Miele-Malaysia" => "en-MY",
"Miele-New-Zealand" => "en-NZ",
# "Miele-Україна" => "ru-UA",
# "Miele-Magyarország" => "hu-HU",
# "Miele-España" => "es-ES",
# "Miele-Казахстан" => "ru-KZ",
"Miele-Sverige" => "sv-SE",
"Miele-Österreich" => "de-AT",
"Miele-Australia" => "en-AU",
"Miele-Singapore" => "en-SG",
"Miele-Thailand" => "en-TH",
"Miele-Kypros" => "el-CY",
"Miele-Slovenia" => "sl-SI",
# "Miele-Беларуси" => "ru-BY",
"Miele-Czechia" => "cs-CZ",
"Miele-Slovensko" => "sk-SK",
"Miele-UK" => "en-GB",
"Miele-Ireland" => "en-IE",
"Miele-Polska" => "pl-PL",
# "Miele-România" => "ro-RO",
"Miele-Canada" => "en-CA",
"Miele-Nederland" => "nl-NL",
"Miele-Türkiye" => "tr-TR",
"Miele-USA" => "en-US",
};
Kann ich bestätigen, so gehts, vielen Dank :)
Zitat von: Florie am 20 Juli 2020, 20:43:29
Kann ich bestätigen, so gehts, vielen Dank :)
Ich werde morgen mal eine Version fertig machen, wo ich die entsprechenden Stellen auskommentiere, damit das Modul regulär wieder funktioniert.
Wenn ich die Seite mit curl lade, sieht es so aus, als wäre der Text doppelt UTF8-Codiert.
LG
Christian
So,
ich habe gerade eine 0.11.0 hochgeladen, in der ich die problematischen Länder übersetzt habe 8).
Damit ist das ding erstmal ge'workaround'ed ;) Danke @Florie und @amenomade für die Unterstützung!
LG
Christian
Hi,
ich hab nochmal eine Sache, weiß auch nicht, ob es ein "Problem" am Modul ist.
Ich habe ein Android-Handy und nutze dort die App "andFHEM Premium", irgendwie bekommen ich keine Verbindung mehr zu FHEM, ich habe von dem Entwickler die Bitte erhalten in FHEM am PC ein "xmllist" auszuführen, leider stützt da mein komplettes FHEM ab mit dem Hinweis:
Can't use string ("MieleConnection") as a HASH ref while "strict refs" in use at ./FHEM/98_XmlList.pm line 81.,
Kann man da irgendwas machen?
VG
Florie
Kommt der Fehler beixmllist <MieleConnectionDevice>
oder bei xmllist <MieleDevice>
?
Wahrscheinlich beim 2.
Das kommt daraus, dass das Modul "IODev" nutzt, aber ohne ein echtes zweistufiges Modul zu sein.
In einem zweistufigen Modulkonzept enthält $hash->{IODev} eine Referenz zum HASH des IODevs:
$VAR1 = {
'.attraggr' => [],
'.attrminint' => [],
'DEF' => 'blabladevice',
'IODev' => {
'.attraggr' => [],
'.attrminint' => [],
'DEF' => 'blabla',
'NAME' => 'IODevName',
'NOTIFYDEV' => 'usw',
'NR' => 87,
'NTFY_ORDER' => 'xx',
'READINGS' => {}
usw
Hier enthält aber $hash->{IODev} einfach ein String mit dem Name des IODevs:
$VAR1 = {
'NR' => 188,
'DEF' => '000123456789@miele 120',
'INTERVAL' => '120',
'DEVICE_ID' => '000123456789',
'TYPE' => 'MieleAtHome',
'NAME' => 'Waschmaschine',
'READINGS' => {},
'VERSION' => '0.10.0',
'IODev' => 'miele',
'STATE' => 'Initialized',
'HAS_MimeBase64' => 1,
};
Das gefällt xmllist nicht, da er versucht dies als Referenz zu benutzen
Ein Workaround wäre, das Wort "IODev" durch irgendwas anderes zu ersetzen.
Besser wäre m.M.n., das IODev tatsächlich als Referenz zu benutzen (dann wird die Funktion MAH_getIODevHash unnötig).
Anbei die Idee. Ich kann das aber gar nicht testen!. Ich habe nur noch alte Zugangsdaten (ID/Secret) und auf dem Konto ist sowieso kein Gerät registriert.
EDIT: und das ist auch unvollständig: falls man das IODev löscht, und wieder kreiert, ist das Device nicht mehr mit dem IODev verknüpft sondern mit einer Leiche im Hash
Guten Morgen,
Ich bin gerade im Urlaub. Mal sehen, ob ich Zeit finde, sonst nächste Woche.
Danke @amenomade für's Analysieren :).
LG
Christian
ZitatCan't use string ("MieleConnection") as a HASH ref while "strict refs" in use at ./FHEM/98_XmlList.pm line 81.,
Das ist ein XmlList bug: FHEM Absturz ist ein No-Go.
Habe es in XmlList gefixt und eingecheckt.
Ihr seid spitze, vielen vielen Dank. Mit der Anpassung von amenomade und dem XmlList-Update kommt in meiner Android App andFHEM auch wieder alles.
Danke euch :)
@choenig Schönen Urlaub noch ;)
Guten Morgen,
ich habe gerade die Version 0.12.0 an den ersten Post gehängt. Ich habe jetzt erstmal IODev in IODevName umbenannt, damit es in Zukunft keine weitern Missverständnisse gibt ;). Da es kein echtes zweistufiges Modul ist, wollte ich da erstmal kein Risiko eingehen. Vielleicht bau' ich es irgendwann wieder zurück :).
Danke nochmal an @Florie und @amenomade und @Rudi für die Unterstützung, und @Rudi: Du bist auch überall unterwegs ;).
LG
Christian
Vielen Dank für das geniale Modul. Hat gleich auf Anhieb funktioniert. Ich habe eine Waschmaschine und Trockner eingebunden.
Hat schon jemand irgendwelche Notifies (Telegram, Pushover o.ä.) wegen "Waschmaschine fertig" oder devStateIcon hierzu erzeugt?
Cool wäre auch eine Ansage auf Sonos oder Alexa.
Zitat von: t.b am 17 August 2020, 22:45:18
Hat schon jemand irgendwelche Notifies (Telegram, Pushover o.ä.) wegen "Waschmaschine fertig" oder devStateIcon hierzu erzeugt?
Cool wäre auch eine Ansage auf Sonos oder Alexa.
Jops, habe ich - hier das def meines notify:
Miele_Waschmaschine:statusRaw:.7 { fhem("set teleBot message Die Waschmaschine ist fertig - bitte umgehend ausräumen!;set Sonos_Sonos Speak 25 de |doorbell2| |Waschmaschine_fertig|");}
Die Sonos-Ausgabe habe ich als MP3 hinterlegt mit dem Namen "Waschmaschine_fertig". Vorher wird noch ein Gong abgespielt... 🙈 😂
Hi in die Runde,
bin nun auch in die Nutzergemeinde des Moduls eingestiegen - und funktioniert bestens, danke für die Arbeit!
Aber eine Frage (mit der ich mich hoffentlich nicht blamiere ;)): Ich wollte Password und clientSecret nicht im Klartext in der fhem.cfg ablegen (was gut und dauerhaft funktioniert), also hab ich sie über die Kommandozeile gesetzt. Aber nach jedem Edit des Config-Files muss ich Password und clientSecret neu setzen, er merkt es sich einfach nicht.
Wo stehe ich auf dem Schlauch?
Zitat von: zife am 03 September 2020, 10:17:06
Wo stehe ich auf dem Schlauch?
Du glaubst, dass das Passwort und das clientSecret in fhem.cfg gespeichert werden, und das ist falsch.
Zitat von: DeviceSpecificHelpclientSecret <secret>
sets the clientSecret of your Miele@home-developer Account and stores it in a file (base64-encoded if you have MIME::Base64 installed).
password <pass>
set the password of your Miele@home Account and stores it in a file (base64-encoded if you have MIME::Base64 installed).
Die entspr. Datei ist die uniqueID Datei, siehe global attr keyFileName in CommandRef
Nee, das glaube ich nicht - genau das meine ich ja - WENN ich es über die fhem.cfg setze, funktionert alles. Aber wenn ich es nicht dort eintrage, sondern per Command Line die beiden SET-Befehle eingebe, wird offenbar nichts gespeichert. Bei anderen Modulen funzt es, doch bei MieleAtHome muss ich es bei jedem Edit der fhem.cfg wieder neu setzen.
Drück ich mich da verständlich aus? :D
ZitatWENN ich es über die fhem.cfg setze,
Wie genau machst Du das?
Zitatwird offenbar nichts gespeichert
Und wie stellst Du das fest?
Also wenn ich in der fhem.cfg die Befehle "set [gateway] password" und "set [gateway] clientsecret" einsetze, dann habe ich jederzeit von allen Miele-Geräten den Status, ganz so, wie gewünscht.
Wenn ich diese Zeilen NICHT in die fhem.cfg eintrage, sondern sie über die CommandLine oder per Web-Interface eingebe, dann funktioniert es so lange, bis ich die fhem.cfg mal wieder neu speichere - dann muss ich sowohl Password als auch ClientSecret neu setzen. Das erkenne ich, weil ich keine Readings mehr erhalte und die ErrorMsg einen fehlenden Login beklagt.
Bei anderen Devices, die auch eine Passwort-Auth verlangen, bleibt dieses aber gespeichert. Deshalb bin ich gerade so irritiert - und/oder stehe auf der Leitung.
Oder anders: was muss ich tun, um Password und ClientSecret dauerhaft zu speichern, OHNE sie in die fhem.cfg einzutragen? Das setzen über Web-Interface oder CommandLine funktioniert jedenfalls nicht...
Edit: Ergänzung zum besseren Verständnis
Dann hast Du ein anderes Problem, weil ein set [gateway] password "so" in fhem.cfg genauso verarbeitet wird, als ein set Befehl in der Kommando Zeile (unter einigen Bedingungen wenn in fhem.cfg, aber sollte hier nicht relevant sein)
In beiden Fällen wird es [bei dir] nicht ordentlich gespeichert. Nur natürlich, wenn die set Befehle in fhem.cfg sind, werden sie beim nächsten Start wieder ausgeführt, aber password und clientsecret werden immer noch nicht richtig gespeichert.
Das ist aber nicht normal. (So was kann aber passieren, wenn man in fhem.cfg rumfummelt...)
Mach mal auf dem Account-Device verbose >=3 und schau mal in der Log ob beim set eine Fehlermeldung kommt.
Dann guckst Du in deinem "global" Device, ob das Attribut keyFileName gesetzt ist.
Dann im Verzeichnis ./FHEM/FhemUtils, ob die entspr. Datei geändert wurde (wenn keyFileName nicht gesetzt, heisst die Datei "uniqueID", wenn gesetzt heisst es wie im Attribut).
Wenn ja guckst Du in der Datei den Wert mit MieleAtHome_<name>_password: am Anfang, z.B.
MieleAtHome_miele_clientSecret:PXRlc3Q=
MieleAtHome_miele_passwd:PXBhc3M=
Ist der Eintrag da oder nicht? Wenn ja, wäre es noch zu prüfen, ob diese Werte in uniqueID genau gleich sind bei einem set in der Kommandozeile oder bei einem set in fhem.cfg (das kann ein Sonderzeichenproblem sein, abhängig vom Editor)
Wenn es immer noch nicht geht, poste bitte:
- ein "list" von deinem MieleAccount Device (login bitte anonymisieren)
- ein "list" von deinem Miele Gerät Device
- ein "list" von deinem global Device (longitude, latitude und ggf Proxy Einstellungen ebenfalls anonymisieren)
- das Ergebnis von "ls -la /opt/fhem/FHEM/FhemUtils" auf System-Ebene
Und noch am Rand: fhem.cfg direkt zu editieren ist in meisten Fällen eine schlechte Idee. Und ein "set" Befehl gehört nicht zu fhem.cfg
Danke für die Hilfestellung... nehme ich mir kurzfristig vor!
Das mit dem fhem.cfg-Editieren weiss ich eigentlich, aber ich habe jahrelang "klassisch" programmiert und bei mir herrscht eine Art Quellcode-Sortier- und Kommentierzwang :D, das geht direkt im Code irgendwie am besten. Vielleicht kann ich mirs noch abgewöhnen...
EDIT:
Hab es durchgetestet. Also... kurz, bevor ich diverse lists & Co poste: Alles funktioniert, keine Fehlermeldungen, die Einträge in der "uniqueID" werden korrekt abgelegt.
Aber in dem Moment, in dem ich die fhem.cfg aus welchem Grund auch immer öffne und speichere, werden die MieleAtHome-Einträge aus der "uniqueID"-Datei gelöscht - alle anderen nicht.
Ich würde sagen, etwas in deiner Installation beschädigt die uniqueID Datei.
Vielleicht findest Du etwas interessantes hier: https://forum.fhem.de/index.php/topic,108512.msg1024962.html#msg1024962
Wie sieht die Struktur deiner uniqueID Datei? Sind da z.B. leere Zeilen?
Ach herrje, was für ne Pandora-Büchse mach ich da auf :o Ich muss zugeben, auf Anhieb versteh ich in dem verlinkten Fred nix...
Die Struktur der Datei ist simpel - Die auskommentierte Zeile mit dem Hinweis, man möge nichts ändern, dann eine Zeile "uniqueID", und dann 2 Zeilen mit abgelegten Passwörtern, die auch zuverlässig funktionieren.
Keine Leerzeilen, nix sonst.
Wenn ich im Miele Account Device ClientSecret und Passwort setze, wird die UniqueID ergänzt durch die Zeilen:
MieleAtHome_MieleConnection_clientSecret: (...)
MieleAtHome_MieleConnection_passwd: (...)
MieleAtHome_MieleConnection_OAUTH2_ACCESS_TOKEN: (...)
MieleAtHome_MieleConnection_OAUTH2_REFRESH_TOKEN: (...)
MieleAtHome_MieleConnection_OAUTH2_EXPIRES_IN: (...)
MieleAtHome_MieleConnection_OAUTH2_EXPIRES_AT (...)
Diese verschwinden dann wieder, wie oben beschrieben.
ZitatAch herrje, was für ne Pandora-Büchse mach ich da auf :o Ich muss zugeben, auf Anhieb versteh ich in dem verlinkten Fred nix...
Naja, irgendwie klar: wenn die Werte ordentlich in der Datei beim "set" geschrieben werden, dann muss man breiter suchen, was die Ursache sein kann.
Ok die Struktur sieht gut aus.
Und beim Start von Fhem, keine merkwürdige Nachrichten in der Log?
Vielleicht kannst Du für dein Problem ein neues Thread kreieren? Das hat jetzt immer weniger mit Miele@Home zu tun.
Nur ein Check: was sagt { MAH_loadClientSecret($defs{MieleConnection}) }
in der Fhem Kommandozeile?
Ist das genau dein ClientSecret?
Das gleiche mit { MAH_loadPassword($defs{MieleConnection}) }
?
Zitat von: amenomade am 04 September 2020, 22:52:52
Vielleicht kannst Du für dein Problem ein neues Thread kreieren? Das hat jetzt immer weniger mit Miele@Home zu tun.
Ja, sehe ich inzwischen auch so, zugegeben.
Dein Check ergibt das korrekte ClientSecret und Passwort, solange sie noch in der UniqueID stehen. Sobald ich die fhem.cfg öffne und speichere, ergibt der Check nichts, einfach nur nichts. Das hat für sich eine entwaffnende Logik...
Also scheint alles zu funktionieren, nur dass ein Speichern der fhem.cfg die letzten Einträge aus der UniqueID löscht (was selbst ein "shutdown restart" nicht tut - das überleben die Einträge in der UniqueID schadlos).
Die Nacht hat mir Licht im Dunkel gebracht. Siehe meine Frage und Vermutung hier: https://forum.fhem.de/index.php?topic=114060.msg1083269#msg1083269
Wenn das bestätigt ist, müsste man mMn hier das Löschen von den Keys aus der undefFn Funktion entfernen, und in die deleteFn Funktion hinzufügen.
Kannst Du mit der anghängten Version testen? (Moduldatei überschreiben, und "reload 48_MieleAtHome" ausführen)
Haha! Hoho! Es klappt! Jetzt überleben die UniqueID-Einträge auch das Abspeichern der fhem.cfg!
Grandios und großes Danke für's Nach(t)denken :D :D :D
Hallo zusammen,
uiuiui, hier ist ja einiges passiert :-)
Interessanter Bug, den Ihr identifiziert habt. Vielen Dank!
Ich frage mich am meisten, wie dieser Bug denn jetzt hier aufgetreten ist? Deinen Bugfix verstehe ich, und werde ich gerne übernehmen. Aber warum tritt der Bug hier bei mir, und vermutlich bei den anderen, *nicht* auf?
Edit: Naja, ok, vermutlich, weil ich die Datei einfach nicht selber editiere, und fhem bei 'save' kein rereadconfig macht, wär ja auch komisch 8)
Und meine anderen Module muss ich auch fixen :).
LG und nochmal vielen Dank euch zweien!
Christian
Zitat von: choenig am 05 September 2020, 16:54:52
Edit: Naja, ok, vermutlich, weil ich die Datei einfach nicht selber editiere, und fhem bei 'save' kein rereadconfig macht, wär ja auch komisch 8)
Genau :)
Bei einem normalen "save" weisst Fhem genau was geändert wurde (siehe Historie "im roten Fragezeichen"), und führt kein rereadcfg aus. Beim Editieren von fhem.cfg weisst es aber nicht an wie vielen Stellen es geändert wurde, und macht alles neu. Den Fehler kannst Du einfach mit einem "rereadcfg" reproduzieren - ja, bei dir auch :D ;)
Na, so hat mein "böses" Editieren der .cfg doch noch sein Gutes... so findet man auch den hinterletzten Bug, auch wenn er quasi nur auf mich zutrifft :D
Zitat von: zife am 05 September 2020, 08:54:49
Ja, sehe ich inzwischen auch so, zugegeben.
Dein Check ergibt das korrekte ClientSecret und Passwort, solange sie noch in der UniqueID stehen. Sobald ich die fhem.cfg öffne und speichere, ergibt der Check nichts, einfach nur nichts. Das hat für sich eine entwaffnende Logik...
Also scheint alles zu funktionieren, nur dass ein Speichern der fhem.cfg die letzten Einträge aus der UniqueID löscht (was selbst ein "shutdown restart" nicht tut - das überleben die Einträge in der UniqueID schadlos).
Ich will ja kein Spielverderber sein. Aber das hat schon sie rein paar Einträgen nichts mehr mit dem Miele Modul zu tun und es wäre an der Zeit eine extra Thread dafür auf zu machen. Sonst verliert man hier den Überblick und bekommt Benachrichtigungen die man ggf. Gar nicht haben möchte.
Ist schon passiert: https://forum.fhem.de/index.php/topic,114060.0.html (https://forum.fhem.de/index.php/topic,114060.0.html) - aber letztlich hat(te) es doch Konsequenzen für das MieleAtHome-Modul...
Naja, ist eh erledigt, denke ich - Danke an alle Beteiligten!
Moin,
ich habe jetzt gerade die 0.13.0 in den ersten Post geladen. Der rereadcfg-bug ist da gefixt. Danke nochmal an euch zwei :).
LG
Christian
Und wann kommt die 1.0.0.0 Version, die auch eingecheckt wird? ;) Ich glaube, es gibt mittlerweile genüge Benutzer, damit Rudi es akzeptiert.
Ehrlich gesagt habe ich vorhin drüber nachgedacht, es einzuchecken :).
Ich hatte die Wochen zuvor immer so ein komisches Gefühl und dachte, da ist noch was nicht mit in Ordnung. Seit ich gestern deinen Bugfix gesehen habe, ist dieses Gefühl weg 8). Also wird es dann höchste Zeit.
Ich warte jetzt nochmal ein paar Tage ab, dann check' ich es ein.
LG
Christian
Hi Christian,
danke für das Modul, funktioniert super. Geschirrspüler wurde direkt erkannt. Bin mal gespannt, was alles geloggt wird, wenn er dann auch benutzt wird.
Eine Frage habe ich aber noch: In meiner App auf dem Handy wird auch der Verbrauch von Material angezeigt, wie z.b.: noch 20% Salz, 80% Klarspüler etc.
Meinst du, das könntest du noch einbauen? Ich versuche auch zu helfen, so gut ich kann.
Viele Grüße
auch Christian
Zitat von: HotteFred am 09 September 2020, 21:18:52
Hi Christian,
danke für das Modul, funktioniert super. Geschirrspüler wurde direkt erkannt. Bin mal gespannt, was alles geloggt wird, wenn er dann auch benutzt wird.
Eine Frage habe ich aber noch: In meiner App auf dem Handy wird auch der Verbrauch von Material angezeigt, wie z.b.: noch 20% Salz, 80% Klarspüler etc.
Meinst du, das könntest du noch einbauen? Ich versuche auch zu helfen, so gut ich kann.
Viele Grüße
auch Christian
Diese Werte sind in der API-Help nirgendwo dokumentiert. Ich vermute, die stehen nicht zur Verfügung.
Hi,
Zitat von: HotteFred am 09 September 2020, 21:18:52
Meinst du, das könntest du noch einbauen? Ich versuche auch zu helfen, so gut ich kann.
Wie @amenomade schon schrieb: Die sind in der API leider nicht vorhanden. Ich hätte sie auch wirklich gerne für die Waschmaschine. Ich befürchte aber, dass sie das nicht nachliefern werden. Wenn doch, werd ich es einbauen :)
LG
Christian
Danke euch beiden und schade, aber vielleicht kommt das noch.
Eine andere Frage: Im Log tauchen Nachts Statusänderungen auf. Wir waren aber nicht am Gerät. Irgend eine Ahnung, wo das herkommt?
2020-09-09_21:12:17 Miele_000105263227 eta: -:-
2020-09-09_21:12:17 Miele_000105263227 etaHR: -:-
2020-09-09_21:12:17 Miele_000105263227 Off (-:-)
2020-09-09_21:12:17 Miele_000105263227 actions_processAction:
2020-09-09_21:12:17 Miele_000105263227 actions_deviceName: 0
2020-09-09_21:12:17 Miele_000105263227 actions_powerOn: 1
2020-09-09_21:12:17 Miele_000105263227 actions_powerOff: 0
2020-09-09_21:39:44 statusGeschirrspueler removeRegexpPart Miele_000105263227:status:.*
2020-09-10_00:45:44 Miele_000105263227 remainingTime: 0:00
2020-09-10_00:45:44 Miele_000105263227 remoteEnableFullRC: 0
2020-09-10_00:45:44 Miele_000105263227 targetTemperature: 0, 0, 0
2020-09-10_00:45:44 Miele_000105263227 temperature: 0, 0, 0
2020-09-10_02:23:59 Miele_000105263227 actions_powerOn: 0
2020-09-10_02:23:59 Miele_000105263227 status: Not Connected
2020-09-10_02:23:59 Miele_000105263227 statusRaw: 255
2020-09-10_02:23:59 Miele_000105263227 Not Connected (-:-)
2020-09-10_02:25:59 Miele_000105263227 status: Off
2020-09-10_02:25:59 Miele_000105263227 statusRaw: 1
2020-09-10_02:25:59 Miele_000105263227 Off (-:-)
2020-09-10_02:25:59 Miele_000105263227 actions_powerOn: 1
2020-09-10_06:33:29 Miele_000105263227 remainingTime: 2:39
Der removeRegexp Eintrag ist noch von mir und dann ab 6:33 wurde sicherlich die Türe geöffnet, aber dazwischen?
Grüße
Christian
Das Gerät telefoniert nachts nach Hause, und wird deswegen "on" gemeldet?
Hi,
ich hatte direkt die 0.13.0 bei mir eingespielt, weiß nicht, ob es daran liegt oder ein anderes Problem ist.
Internals:
FUUID XXX
HAS_MimeBase64 1
NAME MieleConnection
NR 253
OAUTH2_ACCESS_TOKEN DE_XXX
OAUTH2_EXPIRES_AT 2020-09-09 08:43:04
OAUTH2_EXPIRES_IN 2592000
OAUTH2_REFRESH_TOKEN DE_XXX
STATE Initialized
TOKEN_REFRESH_IN_PROGRESS 1
TYPE MieleAtHome
VERSION 0.13.0
OLDREADINGS:
READINGS:
Attributes:
DbLogExclude .*
clientId XXX
country Miele-Deutschland
devStateIcon .*:noIcon
login XXX@web.de
room System->Server
verbose 5
Ich bekomme leider seit 09.09. keinen aktuellen Token, im FHEM-Log steht nun das (sorry, der war ziemlich lange, habe jetzt mal "irgendwo" angefangen rauszukopieren:
<body id="mieleLoginSite">
<div class="container">
<div class="row">
<div class="col s12 m8 offset-m2 offset-l2 l8 center">
<div>
<img class="responsive-img"
src="/assets/images/miele_logo.svg" width="150" alt="miele.com"/>
</div>
<h1 class="mediumFont">Kontoverknüpfung fehlgeschlagen!</h1>
<p>Bitte überprüfen Sie ihre Zugangsdaten.</p>
<button class="btn waves-effect waves-light miele-red"
onclick="location.replace(document.referrer)"
>Zurück</button>
<p>Nach 5 Sekunden werden Sie automatisch zurück zum Login weitergeleitet.</p>
</div>
</div>
</div>
</body>
<script>
document.ready(
window.setTimeout(function(){
location.replace(document.referrer);
}, 5000)
);
</script>
</html>
2020.09.17 08:38:06 5: MieleConnection (MieleAtHome::scrapeGrantAccessPage:732) code not found
2020.09.17 08:38:06 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:712) Error: Bearer code not found, giving up
2020.09.17 08:38:21 4: MieleConnection (MieleAtHome::MAH_getAccessToken:1511) found local token with remaining lifetime of -690917 seconds
2020.09.17 08:38:21 5: MieleConnection (MieleAtHome::MAH_refreshAccessToken:553) called
2020.09.17 08:38:21 4: MieleConnection (MieleAtHome::MAH_getAccessToken:1511) found local token with remaining lifetime of -690917 seconds
2020.09.17 08:38:21 5: MieleConnection (MieleAtHome::MAH_refreshAccessToken:553) called
2020.09.17 08:38:21 4: MieleConnection (MieleAtHome::MAH_refreshAccessToken:561) token refresh already in progress, skipping
2020.09.17 08:38:21 5: MieleConnection (MieleAtHome::MAH_doThirdpartyLoginRequest:589) called
Auch wenn ich direkt auf https://api.mcs3.miele.com/thirdparty/login/ gehe kommt ohne die Möglichkeit etwas einzugeben direkt "Kontoverknüpfung fehlgeschlagen!". Geht das bei euch?
Moin Florie,
Zitat von: Florie am 17 September 2020, 08:42:21
Ich bekomme leider seit 09.09. keinen aktuellen Token, im FHEM-Log steht nun das (sorry, der war ziemlich lange, habe jetzt mal "irgendwo" angefangen rauszukopieren:
besteht das Problem immer noch?
Das Log deutet für mich auf kein spezifisches Problem hin.
Zitat von: Florie am 17 September 2020, 08:42:21
Auch wenn ich direkt auf https://api.mcs3.miele.com/thirdparty/login/ gehe kommt ohne die Möglichkeit etwas einzugeben direkt "Kontoverknüpfung fehlgeschlagen!". Geht das bei euch?
Nein, das ist hier auch so.
Hast Du mal versucht, dich hier einzuloggen: https://www.miele.com/developer/swagger-ui/swagger.html (rechte Seite -> "Authorize").
LG
Christian
Hi, Danke für den Swagger-Link. Leider bin ich nicht mehr reingekommen, keine Ahnung wieso. Habe jetzt ne neue ClientID generiert, und schwupps ging es wieder sofort. Danke Dir
Moin,
Zitat von: Florie am 23 September 2020, 08:00:34
Hi, Danke für den Swagger-Link. Leider bin ich nicht mehr reingekommen, keine Ahnung wieso. Habe jetzt ne neue ClientID generiert, und schwupps ging es wieder sofort. Danke Dir
Und dann hat es auch sofort aus FHEM heraus funktioniert, ohne dass Du dich einmal auf deren swagger-seite authorisiert hast? Hatte schon die Befürchtung, sie hätten das Protokoll verändert.
LG
Christian
Genau, frag mich nicht, wieso die alten Daten nichtmehr gegangen sind, aber so würde ich behaupten lag es in irgendeiner Weise an mir ;)
Hi,
ich habe gerade nochmal ein Update hochgeladen: Hier wird jetzt zum aktualisieren des Token der REFRESH_TOKEN verwendet wenn möglich. Dadurch ist die Aktualisierung jetzt ein wenig leichtgewichtiger geworden.
Wenn es hier keine Beschwerden gibt, wird das voraussichtlich die Version, die ich nächste Woche einchecken werde.
Danke für's testen :)
LG
Christian
Zitat von: choenig am 26 September 2020, 10:05:24
Hi,
ich habe gerade nochmal ein Update hochgeladen: Hier wird jetzt zum aktualisieren des Token der REFRESH_TOKEN verwendet wenn möglich. Dadurch ist die Aktualisierung jetzt ein wenig leichtgewichtiger geworden.
Wenn es hier keine Beschwerden gibt, wird das voraussichtlich die Version, die ich nächste Woche einchecken werde.
Danke für's testen :)
LG
Christian
Habe die Version gerade installiert und beim Reload bekomme ich folgende Meldung zurück:
Too many arguments for main::MAH_doThirdpartyTokenRequest at ./FHEM/48_MieleAtHome.pm line 584, near "$refreshToken)
"
Too many arguments for main::MAH_doThirdpartyTokenRequest at ./FHEM/48_MieleAtHome.pm line 723, near """)"
BEGIN not safe after errors--compilation aborted at ./FHEM/48_MieleAtHome.pm line 837.
Hi,
Du musst ein shutdown restart machen, hab' die Anzahl der Parameter verändert. Hätte ich erwähnen sollen, sorry.
LG
Christian
Jetzt läuft es :-)
Ich hab noch die Version 0.12.
Hatte mich gewundert, das der Geschirrspüler nichts mehr gesagt hatte. Hab dann diesen Eintag im Log gefunden:
2020-09-23_08:47:52 MieleConnection lastError: please set login, password, clientId and clientSecret
Musste alles neu eingeben, danach funktionierte es direkt wieder. Trotzdem seltsam.
Hat das noch jemand gehabt?
Grüße
Christian
Edit: Ich sehe gerade, es gibt schon zwei neue Versionen. Ich update erst einmal. Mal schauen, wie es sich dann verhält. Grüße
Hi,
Zitat von: HotteFred am 02 Oktober 2020, 15:18:21
Hatte mich gewundert, das der Geschirrspüler nichts mehr gesagt hatte. Hab dann diesen Eintag im Log gefunden:
2020-09-23_08:47:52 MieleConnection lastError: please set login, password, clientId and clientSecret
Musste alles neu eingeben, danach funktionierte es direkt wieder. Trotzdem seltsam.
Hat das noch jemand gehabt?
Edit: Ich sehe gerade, es gibt schon zwei neue Versionen. Ich update erst einmal. Mal schauen, wie es sich dann verhält. Grüße
Kannst Du mal nachsehen, ob du ein rereadconfig gemacht hast? Das hat es nämlich in < 0.13 gelöscht.
LG
Christian
Das müsste ich im File_Log dazu sehen? Dann nein.
Viele Grüße
Christian
Hallo Ich kann das Attribut Country Österreich nicht setzen, da der Umlaut "Ö" nicht dargestellt werden kann
Was mach ich hier falsch. VIELEN Dank für eure Hilfe.
Du machst vermutlich gar nichts falsch.
Ich gucke, dass ich morgen alle Sonderzeichen ersetze und ne neue Version release.
LG Christian
Hi,
ich habe gerade version 0.15.0 hochgeladen. Ich hab' jetzt alle Sonderzeichen durch ASCII-Zeichen in der Länderauswahl ersetzt.
LG
Christian
Hallo Christian, erstmal vielen Dank für die Anpassung. Das hat soweit funktioniert. Ich bekomme aber trotzdem keine Verbindung hin.
Auf der Miele Developers Page kann ich mich mit meiner ClientID / ClientSecret / Email / Password und Ländersetting anmelden.
Diese Infos hab ich auch ins MieleAtHome Device eingetragen.
Was könnte ich noch Probieren?
Falls es hilft noch das Log:
2020.10.05 21:03:49 5: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:695) reply: err:, code:302, headers:HTTP/1.1 302 Found
Date: Mon, 05 Oct 2020 19:03:49 GMT
Content-Length: 0
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Location: https://api.mcs3.miele.com/thirdparty/login/?code=AT_509b5d0c0408d3111d11ca436dfe32e8&state=login
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization, data:
2020.10.05 21:03:49 5: MieleConnection (MieleAtHome::scrapeGrantAccessPage:738) code not found
2020.10.05 21:03:49 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:718) Error: Bearer code not found, giving up
2020.10.05 21:14:01 5: MieleConnection (MieleAtHome::MAH_refreshAccessToken:553) called
2020.10.05 21:14:01 5: MieleConnection (MieleAtHome::MAH_doThirdpartyLoginRequest:595) called
2020.10.05 21:14:01 5: MieleConnection (MieleAtHome::MAH_onThirdpartyLoginReply:627) reply: err:, code:200, headers:HTTP/1.1 200 OK
Date: Mon, 05 Oct 2020 19:14:01 GMT
Content-Type: text/html
Content-Length: 2237
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Content-Encoding: gzip
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization, data:<html lang="de">
<head>
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta charset="utf-8">
<!-- Suppress favicon request-->
<link rel="shortcut icon" type="image/x-icon"
href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAUAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/EwCL/xMAjP8TAIv/EgCL/xIAi/8TAIv/EgCL/xMAi/8SAIv/EwCL/xIAi/8TAIv/FACM/xQAjP8UAIz/FwON/yYUlf8bCY//KBaW/ysZmP8tG5j/JhSV/y4dmf8mFJX/KxmX/ygVlv8tG5j/JxSV/xQAjP8UAIz/EwCM/x4Lkf+BdsH/nJPO/7Ot2v+aks7/s63a/6Wd0/+9t9//lo3M/7Wv2/+noNT/vbff/5mQzf8mFJX/EwCL/xMAjP8cCJD/qaLV/8C64P+9uN//mpLO/4+GyP9pXLX/hnvE/3Fluv+1rtv/iH/F/4B2wf9zaLv/HQqR/xMAjP8UAIz/FwOO/zMhm/8mFZX/JxaV/y0bmP8fDZL/FwWO/xIAi/8VBI3/MiCa/yIRk/8SAIv/EgCL/xMAjP8UAIz/FACM/xQAjP8SAIv/EwCL/xMAi/8SAIv/EwCM/xQAjP8UAIz/FACM/xIAi/8TAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==">
<!--Import Google Icon Font-->
<!--Import materialize.css-->
<!--Import own css-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/assets/css/materialize.min.css?1556550173384">
<link type="text/css" rel="stylesheet" href="/assets/css/mieleStyle.css?1556550173387"
media="screen,projection"/>
<!-- Import scrips -->
<!-- Compiled and minified JavaScript -->
<script src="/assets/js/materialize.min.js?1556550173386"></script>
<!--Hotfix for selection error on IOS 13, see MIELCLD3-4504-->
<script src="/assets/js/selectHotfix.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
M.FormSelect.init(document.querySelectorAll('select'));
});
</script>
</head>
<body id="mieleLoginSite">
<div class="container">
<div class="row">
<div class="col s12 m8 offset-m2 offset-l2 l8">
<div class="center">
<img class="responsive-img"
src="/assets/images/miele_logo.svg" width="150" alt="miele.com"/>
</div>
<h1 class="center mediumFont">Login</h1>
<form method="post" action="/oauth/auth">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input required id="e-mail" type="email" name="email">
<label for="e-mail">Email Address</label>
</div>
<div class="input-field">
<i class="material-icons prefix">https</i>
<input required id="password" type="password" name="password">
<label for="password">Password</label>
</div>
<!-- add here all hidden inputs -->
<input type="hidden" name="response_type" value="code">
<input type="hidden" name="redirect_uri" value="https://api.mcs3.miele.com/thirdparty/login/">
<input type="hidden" name="state" value="login">
<input type="hidden" name="client_id" value="MYDI">
<div class="input-field" style="margin-top: 25px;">
<i class="material-icons prefix no-margin">language</i>
<select required name="vgInformationSelector" size="5">
<option value="" disabled>Please select your country</option>
<option value="en-AU">Miele Australia</option>
<option value="nl-BE">Miele België</option>
<option value="en-CA">Miele Canada</option>
<option value="es-CL">Miele Chile</option>
<option value="hr-HR">Miele Croatia</option>
<option value="cs-CZ">Miele Czechia</option>
<option value="da-DK">Miele Danmark</option>
<option value="de-DE">Miele Deutschland</option>
<option value="et-EE">Miele Eesti</option>
<option value="es-ES">Miele España</option>
<option value="fr-FR">Miele France</option>
<option value="ko-KR">Miele Hanguk</option>
<option value="zh-HK">Miele Hong Kong, China</option>
<option value="en-IE">Miele Ireland</option>
<option value="en-IL">Miele Israel</option>
<option value="it-IT">Miele Italia</option>
<option value="el-CY">Miele Kypros</option>
<option value="lv-LV">Miele Latvija</option>
<option value="lt-LT">Miele Lietuva</option>
<option value="de-LU">Miele Luxemburg</option>
<option value="hu-HU">Miele Magyarország</option>
<option value="en-MY">Miele Malaysia</option>
<option value="es-MX">Miele México</option>
<option value="nl-NL">Miele Nederland</option>
<option value="en-NZ">Miele New Zealand</option>
<option value="ja-JP">Miele Nihon</option>
<option value="no-NO">Miele Norge</option>
<option value="pl-PL">Miele Polska</option>
<option value="pt-PT">Miele Portugual</option>
<option value="ro-RO">Miele România</option>
<option value="de-CH">Miele Schweiz</option>
<option value="en-SG">Miele Singapore</option>
<option value="sl-SI">Miele Slovenia</option>
<option value="sk-SK">Miele Slovensko</option>
<option value="en-ZA">Miele South Africa</option>
<option value="fi-FI">Miele Suomi</option>
<option value="sv-SE">Miele Sverige</option>
<option value="en-TH">Miele Thailand</option>
<option value="tr-TR">Miele Türkiye</option>
<option value="en-GB">Miele UK</option>
<option value="en-US">Miele USA</option>
<option value="en-AE">Miele United Arab Emirates</option>
<option value="zh-CN">Miele Zhōngguó, dàlù</option>
<option value="de-AT">Miele Österreich</option>
<option value="el-GR">Miele Ελλάδα</option>
<option value="ru-BY">Miele Беларуси</option>
<option value="bg-BG">Miele България</option>
<option value="ru-KZ">Miele Казахстан</option>
<option value="ru-RU">Miele Россия</option>
<option value="sr-RS">Miele Србија</option>
<option value="ru-UA">Miele Україна</option>
</select>
<label>Country</label>
</div>
<div class="center">
<button class="btn waves-effect waves-light miele-red"
type="submit">Submit</button>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
2020.10.05 21:14:01 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:644) called
2020.10.05 21:14:01 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:666) country for /oauth/auth is de-AT
2020.10.05 21:14:02 5: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:695) reply: err:, code:302, headers:HTTP/1.1 302 Found
Date: Mon, 05 Oct 2020 19:14:02 GMT
Content-Length: 0
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Location: https://api.mcs3.miele.com/thirdparty/login/?code=AT_725d8e62e8bc09d506916cd3c81341ed&state=login
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization, data:
2020.10.05 21:14:02 5: MieleConnection (MieleAtHome::scrapeGrantAccessPage:738) code not found
2020.10.05 21:14:02 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:718) Error: Bearer code not found, giving up
Weil das Modul ein Bearer Code in der Form: if ($headers =~ /(?s)code=(DE_[0-9a-f]+)/) {
sucht.
Anscheinend ist es aber hier AT_509b5d0c0408d3....
Du bist wahrscheinlich der erste, der ausserhalb Deutschland das Modul benutzt ;)
Versuch mal die Zeile 705 im Modul so zu ändern:
if ($headers =~ /(?s)code=(.._[0-9a-f]+)/) {
Dann ein "reload 48_MieleAtHome" und dann wieder probieren.
Alter,
Zitat von: amenomade am 05 Oktober 2020, 21:58:57
Weil das Modul ein Bearer Code in der Form: if ($headers =~ /(?s)code=(DE_[0-9a-f]+)/) {
sucht.
Anscheinend ist es aber hier AT_509b5d0c0408d3....
ich bin so ein Dödel :D
Da hab' ich schon bei der ersten Implementierung, die ich ja mit Hilfe des HTTPMOD-Threads geschrieben habe, dran gedacht und ich dachte, das hätte ich schon ewig gefixt. Hab ich aber nicht :(. Tut mir leid. Der Fix von @amenomade sollte helfen.
Ich fix' es morgen :)
LG
Christian
Sag bloß, dass ich Bugs in dem HTTPMOD geschrieben habe, die so "gefixt" werden sollten! ;) :D
Es geht vielen Dank
Zitat von: amenomade am 05 Oktober 2020, 22:18:05
Sag bloß, dass ich Bugs in dem HTTPMOD geschrieben habe, die so "gefixt" werden sollten! ;) :D
Nee, du hast keine Bugs eingebaut. Die HTTPMOD Lösung ist ja eher was, was jeder für sich konfiguriert. Aber ein fertiges Modul sollte das schon flexibler können ...
Super, dass es jetzt geht 😎
LG
Christian
Zitat von: choenig am 20 Juni 2020, 11:45:32
Hi,
ich habe gerade Version 0.6.0 hochgeladen. Jetzt werden erstmal alle ProcessActions unterstützt:
0x01 => "start", # 1 START
0x02 => "stop", # 2 STOP
0x03 => "pause", # 3 PAUSE
0x04 => "startSuperFreezing", # 4 START SUPERFREEZING
0x05 => "stopSuperFreezing", # 5 STOP SUPERFREEZING
0x06 => "startSuperCooling", # 6 START SUPERCOOLING
0x07 => "stopSuperCooling", # 7 STOP SUPERCOOLING
LG
Christian
Hallo Christian, ich habe ne Washing Machine leider funktionieren nicht alle ProcessActions (On/Off geht). Auf "set MieleWaschmaschine start" kommt folgende Meldung:
'start' is currently not available. :( Was könnte der Grund sein?
Hi,
Zitat von: dfred12345 am 06 Oktober 2020, 20:56:14
'start' is currently not available. :( Was könnte der Grund sein?
Grundsätzlich ist es so, dass die API mitteilt, welche Aktionen gerade verfügbar sind. Ich würde jetzt davon ausgehen, dass in dem Moment das 'start' nicht verfügbar ist.
Entweder, die WaMa ist nicht in einem Zustand, dass du sie per API starten kannst (geht es denn per App?), oder vielleicht muss der aktuelle Zustand auch erst aktualisiert werden (was ich eher nicht glaube).
Geht es denn, wenn Du ein bisschen wartest?
LG
Christian
Ich habs nun. Bei der Waschmaschine muss man ein Programm Auswählen und einen "Smart Start" aktivieren, dann kommt "Start" "Stop". Es funktioniert aber nicht, wenn man Mobile Start anwählt.
Hallo,
mit Begeisterung habe ich unsere neue Miele Waschmaschine in Betrieb genommen.
Das Einrichten in FHEM hat soweit geklappt, dachte ich jedenfalls.
Es gibt Interaktion zwischen FHEM und der Maschine.
Mit Verbose 5 bekomme ich aber immer folgende Fehler:
Waschmaschine (MieleAtHome::MAH_onGetDeviceIdentAndStateReply:949) reply: err:, code:200
Waschmaschine (MieleAtHome::MAH_onGetDeviceActionsReply:1076) reply: err:, code:200
Es werden auch nur die Befehle set Waschmaschine on und update angezeigt.
Woran kann das liegen.
Super Sache. Das Auslesen funktioniert schonmal. Das Starten der Waschmaschiene teste ich die Tage. Wieder eine Bastellösung mehr, die ich durch ein ordentlichen Modul ablösen kann. :)
Moin,
Zitat von: Roderich am 14 Oktober 2020, 20:08:12
Mit Verbose 5 bekomme ich aber immer folgende Fehler:
Waschmaschine (MieleAtHome::MAH_onGetDeviceIdentAndStateReply:949) reply: err:, code:200
Waschmaschine (MieleAtHome::MAH_onGetDeviceActionsReply:1076) reply: err:, code:200
Das ist kein Fehler. Der Html-Code 200 bedeutet "OK". Das logging kommt, weil Du offenbar Loglevel 5 aktiviert hast.
LG
Christian
Hallo Christian,
vielen Dank. Dann kann ich verbose ja wieder abdrehen :-)
Hallo,
seit einiger Zeit habe ich das Phänomen, dass der statusRaw meiner Waschmaschine unregelmäßig zwischen 1 und 255 pendelt. Da die Maschine bei "Aus" sich komplett abschaltet, also auch im WLAN nicht mehr angemeldet ist, ist dieses Pendeln eigentlich unsinnig. Um nicht permanent von meinen notify auf statusRaw genervt zu werden habe ich dieses Pendeln entsprechend abgefangen:
if ((statusRaw < 255 && statusRawAlt == statusRaw) || (statusRaw == 255 && statusRawAlt == 1)) {
return;
} else {
statusRawAlt = statusRaw;
}
Vielleicht könnte man ja etwas ähnliches im Modul hinterlegen.
Danke für das Modul und Grüße
Jörg
Hallo Jörg,
Zitat von: JoWiemann am 17 Oktober 2020, 16:46:51
if ((statusRaw < 255 && statusRawAlt == statusRaw) || (statusRaw == 255 && statusRawAlt == 1)) {
return;
} else {
statusRawAlt = statusRaw;
}
Vielleicht könnte man ja etwas ähnliches im Modul hinterlegen.
Grundsätzlich gerne, ich würde aber vermutlich folgendes vorschlagen: So lange der Status 255 nur einmal kommt, würde ich das update vollständig ignorieren. Wenn es mehr als einen (oder vielleicht auch mehr als 2) gibt, würde ich ihn auch wieder durchreichen.
Das würde dem Prinzip folgen, wenn es einmal passiert, ist es ein komischer Zustand der API/Maschine. Wenn es mehrfach hintereinander passiert, könnte es ein Problem der Verbindung der Maschine sein. Das möchte der Benutzer dann wieder mitbekommen.
Passt Dir das?
LG
Christian
Zitat von: choenig am 17 Oktober 2020, 21:03:26
Hallo Jörg,
Grundsätzlich gerne, ich würde aber vermutlich folgendes vorschlagen: So lange der Status 255 nur einmal kommt, würde ich das update vollständig ignorieren. Wenn es mehr als einen (oder vielleicht auch mehr als 2) gibt, würde ich ihn auch wieder durchreichen.
Das würde dem Prinzip folgen, wenn es einmal passiert, ist es ein komischer Zustand der API/Maschine. Wenn es mehrfach hintereinander passiert, könnte es ein Problem der Verbindung der Maschine sein. Das möchte der Benutzer dann wieder mitbekommen.
Passt Dir das?
LG
Christian
Hallo Christian,
grundsätzlich ja, nur macht die zweite Bedingung nicht genau das? Status 1 ist ja "Aus". Sofern bei allen Miele Geräte "Aus" == vom Strom und WLAN getrennt bedeutet kann kein 255 mehr kommen, wenn der letzte Status "Aus" war. Ist der letzte Status != "Aus wird das 255 ja durchgereicht. Oder verstehe ich mich selbst nicht?
Grüße Jörg
hallo,
bei mir als Newbie hat das Modul auf Anhieb mit meiner Waschmaschine funktioniert!
Frage1: gibt es eine Möglichkeit zur Spracheinstallung? Bei mir ist der state: "In use (00:25)".... (klar, wir können alle Englisch, aber Deutsch wäre schon "schöner")
Frage2: den "Start" kannn ich wohl von FHEM nur ausführen, wenn ich SmartStart (Programmwahl mir verzögertem Start (zB 16:00)) wähle..... bedeutet dies, dass ich somit nur die Wahl habe vor 16:00 zu Starten, ansonsten die Maschine um 16:00 startet..... als KOnsequenz muss ich zwar in FHEM diese Logik nicht nachbauen, kann die Maschine aber von FHEM nicht dazu bewegen erst um 17:00 zu Waschen..... korrekt?
SUPER MODUL - TOLLE ARBEIT und ich freue mich über die "offizielle" Freigabe!
VG
Bernd
Zitat von: speedAmaster am 19 Oktober 2020, 22:36:06
hallo,
bei mir als Newbie hat das Modul auf Anhieb mit meiner Waschmaschine funktioniert!
Frage1: gibt es eine Möglichkeit zur Spracheinstallung? Bei mir ist der state: "In use (00:25)".... (klar, wir können alle Englisch, aber Deutsch wäre schon "schöner")
Frage2: den "Start" kannn ich wohl von FHEM nur ausführen, wenn ich SmartStart (Programmwahl mir verzögertem Start (zB 16:00)) wähle..... bedeutet dies, dass ich somit nur die Wahl habe vor 16:00 zu Starten, ansonsten die Maschine um 16:00 startet..... als KOnsequenz muss ich zwar in FHEM diese Logik nicht nachbauen, kann die Maschine aber von FHEM nicht dazu bewegen erst um 17:00 zu Waschen..... korrekt?
SUPER MODUL - TOLLE ARBEIT und ich freue mich über die "offizielle" Freigabe!
VG
Bernd
Hallo Bernd,
kleiner Tipp für den Anfang als Newbie manche Sachen kann man sich einfach erlesen ;-)
Schaue dir mal das attr <MIELE_MODUL>
lang an.
Du kannst in der Waschmaschine Smart Start/Ende einstellen. Du muss den Zeitraum nur groß genug wählen und dann kannst du ja dazwischen das Signal per FHEM abschicken.
ad1: Asche auf mein Haupt!
ad2: danke für die Bestätigung!
wann wird das Modul "offiziell"?
Hab gerade folgendes entdeckt bei unserer Miele Waschmaschine. Ist es viel Aufwand, das ebenfalls anzuzeigen?
"ecoFeedback": {
"currentWaterConsumption": {
"unit": "l",
"value": 10
},
"currentEnergyConsumption": {
"unit": "kWh",
"value": 0.3
},
"waterForecast": 0.2,
"energyForecast": 0.5
}
Interessant, das ist neu, hab' ich noch nicht bemerkt.
Bau ich ein.
LG
Christian
Hi,
Zitat von: JoWiemann am 18 Oktober 2020, 18:31:49
grundsätzlich ja, nur macht die zweite Bedingung nicht genau das? Status 1 ist ja "Aus".
Wenn ich Deinen Codeausschnitt angucke, dann sieht er für mich aus, als ob er mehrfache 255er hintereinander ignorieren würde.
Oder versteh' ich das falsch?
LG
Christian
So, endlich geschafft ... 8)
Das Modul ist seit dem 09.11.2020 ins offizielle FHEM-svn eingecheckt.
Bitte achtet beim nächsten Update darauf, dass eure händisch installierte Version überschrieben werden kann.
Edit: FYI, das Modul wird ab morgen früh per `update` verfügbar sein.
LG und vielen Dank für die ganze Unterstützung bis hierher!
Christian
Ich habe mal versucht es zu verwenden, leider klappt der Login nicht. Ich vermute ich mache irgendetwas falsch. Ich muss als "login" und "password" schon die Daten nehmen mit denen ich mich in der App einlogge, oder? Habe verbose=5 gesetzt, das kommt dann dabei raus:
2020.11.10 10:12:45 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:651) called
2020.11.10 10:12:45 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:673) country for /oauth/auth is de-DE
2020.11.10 10:12:45 5: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:702) reply: err:, code:401, headers:HTTP/1.1 401 Unauthorized
Date: Tue, 10 Nov 2020 09:12:46 GMT
Content-Type: text/plain
Content-Length: 3314
Connection: close
Strict-Transport-Security: max-age=15724800; includeSubDomains
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization, data:<html lang="de">
<head>
<!--Import Google Icon Font-->
<!--Import materialize.css-->
<!--Import own css-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="/assets/css/materialize.min.css?1556550173384"
media="screen,projection"/>
<link type="text/css" rel="stylesheet" href="/assets/css/mieleStyle.css?1556550173387" media="screen,projection"/>
<!-- Suppress favicon request-->
<link rel="shortcut icon" type="image/x-icon"
href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAUAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/EwCL/xMAjP8TAIv/EgCL/xIAi/8TAIv/EgCL/xMAi/8SAIv/EwCL/xIAi/8TAIv/FACM/xQAjP8UAIz/FwON/yYUlf8bCY//KBaW/ysZmP8tG5j/JhSV/y4dmf8mFJX/KxmX/ygVlv8tG5j/JxSV/xQAjP8UAIz/EwCM/x4Lkf+BdsH/nJPO/7Ot2v+aks7/s63a/6Wd0/+9t9//lo3M/7Wv2/+noNT/vbff/5mQzf8mFJX/EwCL/xMAjP8cCJD/qaLV/8C64P+9uN//mpLO/4+GyP9pXLX/hnvE/3Fluv+1rtv/iH/F/4B2wf9zaLv/HQqR/xMAjP8UAIz/FwOO/zMhm/8mFZX/JxaV/y0bmP8fDZL/FwWO/xIAi/8VBI3/MiCa/yIRk/8SAIv/EgCL/xMAjP8UAIz/FACM/xQAjP8SAIv/EwCL/xMAi/8SAIv/EwCM/xQAjP8UAIz/FACM/xIAi/8TAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<!-- Compiled and minified JavaScript -->
<script src="/assets/js/materialize.min.js?1556550173386"></script>
<meta charset="utf-8">
</head>
<body id="mieleLoginSite">
<div class="container">
<div class="row">
<div class="col s12 m8 offset-m2 offset-l2 l8 center">
<div>
<img class="responsive-img"
src="/assets/images/miele_logo.svg" width="150" alt="miele.com"/>
</div>
<h1 class="mediumFont">Kontoverknüpfung fehlgeschlagen!</h1>
<p>Bitte überprüfen Sie ihre Zugangsdaten.</p>
<button class="btn waves-effect waves-light miele-red"
onclick="location.replace(document.referrer)"
>Zurück</button>
<p>Nach 5 Sekunden werden Sie automatisch zurück zum Login weitergeleitet.</p>
</div>
</div>
</div>
</body>
<script>
document.ready(
window.setTimeout(function(){
location.replace(document.referrer);
}, 5000)
);
</script>
</html>
2020.11.10 10:12:45 5: MieleConnection (MieleAtHome::scrapeGrantAccessPage:745) code not found
2020.11.10 10:12:45 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:725) Error: Bearer code not found, giving up
Hi,
Zitat von: Weisswurstverkäufer am 10 November 2020, 10:17:14
Ich muss als "login" und "password" schon die Daten nehmen mit denen ich mich in der App einlogge, oder?
Ja, denke schon, dass das richtig ist.
In dem HTML steht
Bitte überprüfen Sie ihre Zugangsdaten.
Sicher, dass Du sie richtig eingegeben hast?
Hast Du möglicherweise ungewöhnliche Sonderzeichen in Username oder Passwort?
LG
Christian
Zitat von: choenig am 10 November 2020, 10:44:01
Sicher, dass Du sie richtig eingegeben hast?
Ja, copy & paste aus dem Passwortmanager. Auf miele.de und in der App kann ich mich auch problemlos damit einloggen. Gerade nochmal probiert.
Zitat von: choenig am 10 November 2020, 10:44:01
Hast Du möglicherweise ungewöhnliche Sonderzeichen in Username oder Passwort?
Ne, nur Buchstaben und Zahlen
Mh, komisch.
Kannst Du mal versuchen, dich direkt in der API einzuloggen:
https://www.miele.com/developer/swagger-ui/swagger.html
Rechts ist ein Button "Authorize", da dann "OAuth2" (also ClientID und ClientSecret) und dann weiter.
LG
Christian
Da geht es tatsächlich auch nicht:
ZitatKontoverknüpfung fehlgeschlagen!
Bitte überprüfen Sie ihre Zugangsdaten.
Das ist leicht kurios.
Es gab im verlauf dieses Threads Situationen, wo Benutzer sich mehrfach neue ClientID und ClientSecret generieren lassen mussten bis es funktionierte. Ich dachte, das liegt daran, dass die Erstverknüpfung noch buggy war bei mir. Das ist inzwischen vermutlich gefixt. Vielleicht gibt es da ja bei Miele wirklich noch ein Problem.
LG
Christian
Habe mich mal an den Support von Miele gewendet. Mal schauen was dabei raus kommt.
Ich könnte mir Vorstellen, dass Miele ein Serverproblem hat.
Wollte gestern unser neues Kochfeld ins WLAN bringen und das ging mit der tollen App schon mal überhaupt nicht (Authentifizierungsfehler am WLAN des Geräts), musste den weg per WPS nehmen.
Und nun kann ich das Gerät nicht meinem Konto hinzufügen: Fehlercode 3.7.17.200
Auf jeden Fall danke für das Modul und ich werde es gerne ausgiebig testen, sobald Miele mich lässt ;)
Zitat von: Weisswurstverkäufer am 10 November 2020, 11:07:48
Habe mich mal an den Support von Miele gewendet. Mal schauen was dabei raus kommt.
Ich habe zwar keine Antwort bekommen aber es heute einfach noch einmal probiert. Also nochmal eine clientId beantragt. Die Client-ID ist exakt gleich - das clientSecret auch fast - es ist jetzt ein Buchstabe länger (ich habe noch den alten Screenshot zum vergleich). Womöglich war da also letzte Woche wirklich irgendwas bei Miele kaputt.
Jetzt funktioniert es jedenfalls.
Hi,
Zitat von: Weisswurstverkäufer am 17 November 2020, 08:59:56
Ich habe zwar keine Antwort bekommen [...]
:(
Zitat von: Weisswurstverkäufer am 17 November 2020, 08:59:56
Jetzt funktioniert es jedenfalls.
Super, danke für die Rückmeldung :)
LG
Christian
Moin Christian,
erstmal vielen Dank für das neue Miele Modul. Hab's erst heute morgen entdeckt und gleich mal ein vorhandenes HTTPMOD device einer Dunstabzugshaube durch eine MieleAtHome Version ersetzt.
Das hat völlig problemlos geklappt, und es funktioniert auch (fast) problemlos. Respekt!
Aber hier das (fast):
Ich kann mit 'set light enable' das Licht der Abzugshaube einschalten, aber nicht mit 'set light disable' ausschalten.
In beiden Fällen erscheint (mit verbose=5) in der Logdatei die gleiche Zeile:
DunstHaube (MieleAtHome::MAH_sendSetActionRequest:1408) called with action {"light":1}
Ich habe daraufhin in 48_MieleAtHome.pm in der "sub MAH_setLight($$)" die Zeile MAH_Log($hash, 3, "lightaction: ${lightActionId}");
vor dem abschließenden return eingefügt, aber das führt (natürlich) nur zum gleichen Ergebnis, jetzt auch mit verbose=3 sichtbar:
DunstHaube (MieleAtHome::MAH_setLight:1344) lightaction: 1
erscheint sowohl im enable als auch im disable Fall. Mangels Perl-Kenntnissen trau ich mich jetzt nicht weiter.
Ach so: in den Readings des device taucht u.a. das korrekte reading "actions_light 1,2" auf.
beste Grüße
Franz
Hi,
kannst Du mal versuchen, in `MAH_setLight()` die Zeile
my $lightActionId = grep{ LIGHT_ACTIONS->{$_} eq $lightActionName } keys %{LIGHT_ACTIONS()};
durch
my ($lightActionId) = grep{ LIGHT_ACTIONS->{$_} eq $lightActionName } keys %{LIGHT_ACTIONS()};
zu ersetzen?
Denke, das ist ein bug :)
LG
Christian
Zitat von: choenig am 09 Dezember 2020, 12:03:34
kannst Du mal versuchen, in `MAH_setLight()` die Zeile
my $lightActionId = grep{ LIGHT_ACTIONS->{$_} eq $lightActionName } keys %{LIGHT_ACTIONS()};
durch
my ($lightActionId) = grep{ LIGHT_ACTIONS->{$_} eq $lightActionName } keys %{LIGHT_ACTIONS()};
zu ersetzen?
Danke, das war's!
Gruß
Franz
Zitat von: alkazaa am 09 Dezember 2020, 15:53:16
Danke, das war's!
Hab den fix commited,
ab morgen früh dann im Update.
LG
Christian
Ich habe mir eine Miele Spühlmaschine zugelegt und diese mit diesem Modul in FHEM eingebunden. ich bekomme alle erdenklichen Readings der Spülmaschine anzeigt (sind auch korrekt), aber als SET Befehle bekomme ich nur "Light", "ON" und "Update" zur Auswahl. Liegt der Fehler an mir, Miele oder gar dem Modul?
Hi,
es kann immer sein, das in dem Modul etwas nicht implementiert ist, da ich ja nur eine Waschmaschine zur Hand habe.
Hier kannst du sehen, was der Geschirrspüler unterstützen sollte: https://www.miele.com/developer/capabilities.html
Schaut für mich aus, als wäre der Umfang von Waschmaschine und Geschirrspüler identisch. Wenn trotzdem was fehlt, sag nochmal bescheid :)
LG
Christian
Zitat von: choenig am 20 September 2021, 14:53:18
Hi,
es kann immer sein, das in dem Modul etwas nicht implementiert ist, da ich ja nur eine Waschmaschine zur Hand habe.
Hier kannst du sehen, was der Geschirrspüler unterstützen sollte: https://www.miele.com/developer/capabilities.html
Schaut für mich aus, als wäre der Umfang von Waschmaschine und Geschirrspüler identisch. Wenn trotzdem was fehlt, sag nochmal bescheid :)
LG
Christian
Demnach dürste dort "Light" z.B. garnicht zur Verfügung stehen, dafür ganz andere Optionen.
Wonach wertet das Modul aus, um welches Gerät es sich handelt? Hier die angezeigten Readings:
Readings
actions_deviceName
0
2021-09-20 15:20:55
actions_light
1
2021-09-20 15:20:55
actions_powerOff
0
2021-09-20 15:20:55
actions_powerOn
1
2021-09-20 15:20:55
actions_processAction
2021-09-20 15:20:55
actions_programId
2021-09-20 15:20:55
actions_startTime
2021-09-20 15:20:55
actions_ventilationStep
2021-09-20 15:20:55
communicationModuleReleaseVersion
08.10
2021-09-20 15:20:55
communicationModuleTechType
EK057
2021-09-20 15:20:55
deviceHardwareFabIndex
65
2021-09-20 15:20:55
deviceHardwareTechType
G7510
2021-09-20 15:20:55
deviceName
2021-09-20 15:20:55
deviceType
Geschirrspüler
2021-09-20 15:20:55
dryingStep
2021-09-20 15:20:55
ecoFeedbackCurrentEnergyConsumption
0.8
2021-09-20 14:11:55
ecoFeedbackCurrentWaterConsumption
10
2021-09-20 14:11:55
ecoFeedbackEnergyForecast
0.4
2021-09-20 14:11:55
ecoFeedbackWaterForecast
0.3
2021-09-20 14:11:55
elapsedTime
0:00
2021-09-20 15:20:55
eta
-:-
2021-09-20 15:20:55
etaHR
-:-
2021-09-20 15:20:55
light
2
2021-09-20 15:20:55
programID
ECO
2021-09-20 15:20:55
programPhase
2021-09-20 15:20:55
programType
Programm
2021-09-20 15:20:55
remainingTime
3:48
2021-09-20 15:20:55
remoteEnableFullRC
1
2021-09-20 15:20:55
remoteEnableSmartGrid
0
2021-09-20 15:20:55
signalDoor
0
2021-09-20 15:20:55
signalFailure
0
2021-09-20 15:20:55
signalInfo
0
2021-09-20 15:20:55
startTime
0:00
2021-09-20 15:20:55
state
Aus (-:-)
2021-09-20 15:20:55
status
Aus
2021-09-20 15:20:55
statusRaw
1
2021-09-20 15:20:55
targetTemperature
2021-09-20 15:20:55
temperature
2021-09-20 15:20:55
ventilationStep
Gruß,
Andreas
Interessant.
Miele schickt die Info, was alles geschaltet werden kann. das Ist der Rückgabewert von
https://www.miele.com/developer/swagger-ui/swagger.html#/Action/get_devices__deviceId__actions
Wenn Du `verbose` hochstellst, solltest du die Kommunkation im Log finden.
Bei mir taucht `light` nicht auf. Kann aber, wie gesagt, auch ein Bug im Modul sein.
LG
Christian
Ich habe MieleAtHome nochmal komplett entfernt und neu in FHEM eingerichtet.
Wenn ein Programm läuft lässt es sich zumindest Pausieren und beenden. Ein neues Spülprogramm auswählen kann man leider nicht. Das geht nur mit der Miele-App.
Aber die vielen Readings kann man wunderbar anderweitig auswerten. Dort ist viel mehr zu sehen als in der Miele-App: was für ein Programmabschnitt die Maschine z.B. gerade bearbeitet (z.B. Vorwäsche, Reinigung, Trocknung). In der Miele App nur dass die Maschine gerade läuft und wann sie fertig ist.
Also auf jedem Fall vielen Dank für das Modul!
Hallo,
mit "set xxx autocreate" erhalte ich den Fehler "autocreate needs a valid ACCESS_TOKEN, please try again".
Das vom Modul generierte access token scheint aber OK zu sein, denn genutzt mit curl [1] liefert es ein gültiges json mit den richtigen Geräten darin aufgelistet. Im Logfile gibt es keine Einträge.
Was könnte hier das Problem sein?
[1] curl -X GET "https://api.mcs3.miele.com/v1/devices?language=de" -H "accept: application/json; charset=utf-8" -H "Authorization: Bearer <OAUTH2_ACCESS_TOKEN>"
Die Fehlermeldung habe ich auch bei autocreate. Ich hatte meine Spülmaschine manuell (siehe FHEM Reference) angelegt.
Hi,
... dann ist das wohl ein Bug im Modul :-\
Lässt sich bei Zeiten sicherlich fixen, die habe ich aber kurzfristig nicht. Funktioniert der Workaround denn bei dir?
LG
Christian
Fix war einfach:
--- 48_MieleAtHome.pm~ 2021-09-26 19:41:49.000000000 +0200
+++ 48_MieleAtHome.pm 2021-10-01 14:14:32.912303892 +0200
@@ -387,8 +387,8 @@ sub MAH_SetFn($$@)
return undef;
}
elsif( $cmd eq 'autocreate' ) {
- return "autocreate needs a valid ACCESS_TOKEN, please try again" if (MAH_getAccessToken($hash) == "");
- return "use $cmd without arguments" if(@args != 0);
+ return "autocreate needs a valid ACCESS_TOKEN, please try again" if (MAH_getAccessToken($hash) eq "");
+ return "use $cmd without arguments" if(@args ne 0);
InternalTimer(gettimeofday()+0, "MAH_autocreate", $hash);
return undef;
}
Zitat von: mlau am 01 Oktober 2021, 14:19:28
Fix war einfach:
--- 48_MieleAtHome.pm~ 2021-09-26 19:41:49.000000000 +0200
+++ 48_MieleAtHome.pm 2021-10-01 14:14:32.912303892 +0200
@@ -387,8 +387,8 @@ sub MAH_SetFn($$@)
return undef;
}
elsif( $cmd eq 'autocreate' ) {
- return "autocreate needs a valid ACCESS_TOKEN, please try again" if (MAH_getAccessToken($hash) == "");
- return "use $cmd without arguments" if(@args != 0);
+ return "autocreate needs a valid ACCESS_TOKEN, please try again" if (MAH_getAccessToken($hash) eq "");
+ return "use $cmd without arguments" if(@args ne 0);
InternalTimer(gettimeofday()+0, "MAH_autocreate", $hash);
return undef;
}
Hiermit: return "use $cmd without arguments" if(@args ne 0); habe ich ein Problem ne,eq usw wirkt auf Zeichenketten, ==,!= auf Zahlen.
Grüße Jörg
Zitat von: JoWiemann am 01 Oktober 2021, 14:32:41
Hiermit: return "use $cmd without arguments" if(@args ne 0); habe ich ein Problem ne,eq usw wirkt auf Zeichenketten, ==,!= auf Zahlen.
Grüße Jörg
Tut mir Leid, das war noch bevor ich mehr als Null von Perl wusste :)
Lt. Perlmonks geht "ne" auch auf Zahlen, ist aber "teurer" weil die Zahlen in Strings konvertiert werden und dann die Strings verglichen werden.
Neuer Fix:
Das Token ist ein String, daher Vergleich mit "eq" nötig.
--- 48_MieleAtHome.pm~ 2021-10-01 16:19:16.000000000 +0200
+++ 48_MieleAtHome.pm 2021-10-01 16:20:26.844077980 +0200
@@ -387,7 +387,7 @@ sub MAH_SetFn($$@)
return undef;
}
elsif( $cmd eq 'autocreate' ) {
- return "autocreate needs a valid ACCESS_TOKEN, please try again" if (MAH_getAccessToken($hash) == "");
+ return "autocreate needs a valid ACCESS_TOKEN, please try again" if (MAH_getAccessToken($hash) eq "");
return "use $cmd without arguments" if(@args != 0);
InternalTimer(gettimeofday()+0, "MAH_autocreate", $hash);
return undef;
Ob wohl jemand die gefixte Version "einchecken" kann?
Hi,
hab's eingecheckt, ist ab morgen früh im update.
Vielen Dank @mlau und @JoWiemann :)
LG
Christian
Vielen Dank an alle Beteiligte. :)
Autocreate funktioniert jetzt (manuell war aber auch ohne Probleme möglich). Schön, daß "Miele@Home" noch weiterhin gepflegt wird. Ich hatte schon befürchtet, mit der Anschaffung des Miele Gerätes aufs falsche Pferd gesetzt zu haben, da es ja noch ein Konkurrenzprotokoll (auch von FEHM unterstützt).
Es sollen bei mir ja nach und nach weitere Geräte folgen.
Gruß,
Andreas S.
Hallo Christian,
erst einmal vielen Dank für das Modul. Hiermit ist es mir möglich unsere neue Kühl-Gefrierkombination in Fhem einzubinden. Laut API-Dokumentation sollte es auch möglich sein die Temperatur(en) zu beeinflussen. Allerdings gibt es hierzu kein set. Ist das nur (noch) nicht implementiert oder habe ich etwas übersehen?
Viele Grüße
Jürgen
Hallo Jürgen,
Zitat von: juemuc am 17 Oktober 2021, 19:55:43
erst einmal vielen Dank für das Modul. Hiermit ist es mir möglich unsere neue Kühl-Gefrierkombination in Fhem einzubinden. Laut API-Dokumentation sollte es auch möglich sein die Temperatur(en) zu beeinflussen. Allerdings gibt es hierzu kein set. Ist das nur (noch) nicht implementiert oder habe ich etwas übersehen?
Du hast nix übersehen, das habe ich noch nicht implementiert, da ich kein passendes Gerät habe.
Im Anhang [
EDIT: removed] findest Du eine Version, in der ich `set mode` und `set targetTemperature_zoneX` implementiert habe. Ich habe sie in meiner Testumgebung getestet, mehr aber auch nicht. Ich würde mich freuen, wenn Du sie mal ausprobieren könntest und mit mitteilen könntest, ob es tut, oder eben nicht ;-).
LG
Christian
Hallo Christian,
super. Ich werde es gleich morgen testen und dann hier berichten ;D
Viele Grüße
Jürgen
Hallo Christian,
ich konnte nicht warten ;)
Vorweg: Es sieht gut aus. Trotzdem hätte ich einen Änderungswunsch, sofern dies möglich ist.
Kann der Schieber auf den aktuellen Wert eingestellt werden? Bei der Zone1 steht der Wert auf 1, die aktuelle Einstellung ist aber 5. Das gleiche gilt für Zone2. Hier steht der Wert auf -26 obwohl die Einstellung im Gerät auf -18 steht.
Hast Du zusätzlich den "mode" zur Verfügung gestellt? Hier kann man nur "sabbathMode" auswählen. Das passt aus meiner Sicht nicht. Den "sabathMode" müsste man ein- bzw. ausschalten können. Dies gilt auch für weitere Modi.
Kann ich Dir weitere Infos liefern?
Viele Grüße
Jürgen
Hallo Christian,
laut Miele-App sind die Werte für Zone1 von 3 - 9 und bei Zone2 von -26 - -15. Einen Modus kann man hier nicht einstellen. Leider kann ich aktuell die Einstellungen am Gerät nicht überprüfen.
Viele Grüße
Jürgen
Hi,
Zitat von: juemuc am 18 Oktober 2021, 21:48:29
ich konnte nicht warten ;)
Sehr schön :)
Zitat von: juemuc am 18 Oktober 2021, 21:48:29
Vorweg: Es sieht gut aus. Trotzdem hätte ich einen Änderungswunsch, sofern dies möglich ist.
Kann der Schieber auf den aktuellen Wert eingestellt werden? Bei der Zone1 steht der Wert auf 1, die aktuelle Einstellung ist aber 5. Das gleiche gilt für Zone2. Hier steht der Wert auf -26 obwohl die Einstellung im Gerät auf -18 steht.
Das kann ich mir mal angucken, befürchte aber, dass das nicht geht. Hintergrund ist, das FHEM das aus einem Reading mit gleichem Namen generiert, der aber nicht besteht. Was steht denn bei Dir im Reading `targetTemperature`?
Du kannst mal verbose auf 5 stellen und mir die Ausgaben zukommen lassen, gerne per PN (insbes. die Antworten vom Server nach einem `set update`).
Zitat von: juemuc am 18 Oktober 2021, 21:48:29
Hast Du zusätzlich den "mode" zur Verfügung gestellt? Hier kann man nur "sabbathMode" auswählen. Das passt aus meiner Sicht nicht. Den "sabathMode" müsste man ein- bzw. ausschalten können. Dies gilt auch für weitere Modi.
Kann ich Dir weitere Infos liefern?
Ja, habe ich. Kann es sein, dass Du die andere Option bekommst, wenn du den Sabbat-Modus aktiviert hast (und danach ein update gelaufen ist)? Die Miele-API teilt mir immer mit, was gerade möglich ist, und dann kann man nicht auf "Normal" umschalten, wenn man schon auf "Normal" ist.
LG
Christian
Hi Jürgen,
Zitat von: juemuc am 18 Oktober 2021, 21:53:09
laut Miele-App sind die Werte für Zone1 von 3 - 9 und bei Zone2 von -26 - -15. Einen Modus kann man hier nicht einstellen. Leider kann ich aktuell die Einstellungen am Gerät nicht überprüfen.
Auch hier verwende ich die Bereiche, die vom Gerät kommen ... es sei denn, ich habe Debug-Code mit eingebaut ... mal gucken ... nein, hab' ich nicht ;-).
Hilfreich ist hier ein Auszug aus dem Log mit verbose 5, insbesondere mit `MAH_onGetDeviceActionsReply`.
LG
Christian
Hallo Christian,
hast eine PN.
Im Reading "targetTemperature" steht "6, -18".
Viele Grüße
Jürgen
Hi,
Zur der PN:
Es ist nur der Sabbat-Modus aktivierbar:
"modes":[1]
Die Einstellbare temperatur laut API ist 1 - 9 und -26 - -16:
"targetTemperature":[{"zone":1,"min":1,"max":9},{"zone":2,"min":-26,"max":-16}]
Zitat von: juemuc am 18 Oktober 2021, 22:04:37
Im Reading "targetTemperature" steht "6, -18".
Hättest Du hierzu auch nochmal die Log-Ausgabe (MAH_onGetDeviceIdentAndStateReply)?
Dann könnte ich hier ein getrenntes Reading erstellen für Zone 1 und Zone 2, leider steht dort nicht, welche welche ist.
LG
Christian
Zitat von: choenig am 18 Oktober 2021, 22:10:35
Hättest Du hierzu auch nochmal die Log-Ausgabe (MAH_onGetDeviceIdentAndStateReply)?
Das würde ich gerne tun, aber ich weiß nicht wie ::)
Ich hatte verbose 5 eingestellt und dann set update abgerufen. Alles was dann im Log war, habe ich gesendet.
Viele Grüße
Jürgen
Oh, stimmt,
da ist ja schon alles, was ich benötige :)
Danke!
Die Doku ist etwas unrund *hust*. Leider ist dem
"targetTemperature":[{"value_raw":600,"value_localized":6.0,"unit":"Celsius"},{"value_raw":-1800,"value_localized":-18.0,"unit":"Celsius"},{"value_raw":-32768,"value_localized":null,"unit":"Celsius"}],
"temperature":[{"value_raw":593,"value_localized":5.93,"unit":"Celsius"},{"value_raw":-1800,"value_localized":-18.0,"unit":"Celsius"},{"value_raw":-32768,"value_localized":null,"unit":"Celsius"}],
nicht explizit entnehmbar, welche welche Zone ist. Ich kann aber auf jeden Fall einfach bei Zone1 anfangen zu zählen.
Das kommt aber nicht mehr heute, vielleicht morgen, oder in ein paar Tagen :)
Vielen Dank nochmal für Deine Hilfe!
LG
Christian
Ich sage Danke für Deine Hilfe.
Es ist nicht eilig. Das Gerät ist ja noch neu ;D
Viele Grüße
Jürgen
Hallo Christian,
es genügt doch wenn Du die Readings "Temperatur Zone 1" bzw. "Temperatur Zone 2" nennst. Dies nur als Tipp :)
Viele Grüße
Jürgen
Hi,
Zitat von: juemuc am 18 Oktober 2021, 22:28:39
es genügt doch wenn Du die Readings "Temperatur Zone 1" bzw. "Temperatur Zone 2" nennst. Dies nur als Tipp :)
Absolut, das muss nur
* mit allen Miele-Geräten funktionieren, auch denen, die keine targetTemperature unterstützen
* in der korrekten Reihenfolge passieren, da zwar im set-Befehl explizit die Zone vorhanden ist, aber eben nicht im Status-Update, da ist es nur implizit durch die Position im Array gegeben. Dummerweise fangen Programmierer ja normalerweise mit Null an zu Zählen, so dass der erste Eintrag im Array eher Zone0 als Zone1 "wäre" ;)
Mein Plan ist folgender: Wenn das `targetTemperature` Reading nur einen Wert hat, heisst der weiterhin `targetTemperature`, falls es > 1 Werte hat, nenne ich sie `targetTemperature_zone1`, ...
LG
Christian
Moin Jürgen,
ich hab's jetzt mal so umgesetzt, siehe Anhang.
Ist aber quasi ungetestet, aufgrund fehlender Hardware ;)
Ach, noch was: Hast du bei Dir eine 3. Temperaturzone? In deinem JSON-Reply (aus der PN) sehe ich drei Werte, einer davon ist -32768. Laut Doku heisst das, sie existiert, ist aber deaktiviert. Stimmt das?
For cooling Devices, a value of -32768 indicates that a cooling zone is existing but it is not active.
LG
Christian
Hallo Christian,
ich teste und melde mich wieder. Eine dritte Temperaturzone kenne ich (noch) nicht :o. Ich schaue noch einmal in der Bedienungsanleitung nach. In der App ist nichts zu sehen.
Auf jeden Fall kann man am Gerät oder in der App für den Kühlschrank nur von 3 - 9°C einstellen. Hier scheint die API nicht die korrekten Werte zu liefern oder man kann über die API mehr Werte einstellen. Da wir noch einen Techniker-Besuch aufgrund einer Fehlermeldung haben, werde ich hier mal nachfragen ;D
Viele Grüße
Jürgen
Hallo Christian,
es wird nur eine Zone separat bereitgestellt. Ich habe Dir das Geräte-List per PN zur Verfügung gestellt.
Die dritte Zone könnte die "Active-Zone" für PerfectFresh sein. Dies muss ich aber noch testen.
Viele Grüße
Jürgen
Was natürlich auch logisch ist, wenn man nicht zählen kann ;-)
Sollte im Anhang gefixt sein.
Lg
Christian
War ja auch entweder zu spät oder zu früh ;)
Ich teste und meldem mich wieder (habe ja Urlaub ;D)
Viele Grüße
Jürgen
Hallo Christian,
funktioniert leider noch nicht. Es wurde lediglich ein Reading 1 mit -18 hinzugefügt :o
Viele Grüße
Jürgen
Hallo Christian,
ich habe nun noch mit der dritten Zone und dem SabbathMode getestet. Beides funktioniert nicht bzw. scheinen nicht über die API veränderbar zu sein.
Viele Grüße
Jürgen
Aller guten Dinge sind drei ...
Hi,
Zitat von: juemuc am 19 Oktober 2021, 16:19:54
ich habe nun noch mit der dritten Zone und dem SabbathMode getestet. Beides funktioniert nicht bzw. scheinen nicht über die API veränderbar zu sein.
Die dritte Zone hab' ich nicht implementiert, wie hast du das probiert?
Und, was sollte denn der SabbathMode machen? Hab' das noch nicht so ganz verstanden ;).
Funktioniert das auch nicht über FHEM? Geht es denn über die App oder so?
LG
Christian
Hallo Christian,
ich habe die Temperatur am Gerät verändert und im Log geprüft, ob es dort diese Werte gibt. Dies scheint nicht der Fall zu sein. Den SabbathModus habe ich versucht über fhem zu setzen. Dies hatte aber keine Auswirkungen im Gerät. Genauso umgekehrt. Wenn der SabbathModus im Gerät gesetzt ist, erkennt es die API nicht.
Die App erkennt auch keinen Modus oder eine dritte Zone.
Die neune Version teste ich gleich und melde mich dann wieder.
Viele Grüße
Jürgen
Hallo Christian,
leider auch mit der dritten Version keine Änderung. Version 1.2.0 b2.
Viele Grüße
Jürgen
Hi,
Zitat von: juemuc am 19 Oktober 2021, 21:11:22
leider auch mit der dritten Version keine Änderung. Version 1.2.0 b2.
Die dritte ist bei mir die 1.2.0-b3, nicht b2. Und die habe ich mit Deinem reply aus der PN getestet und bei mir hat es funktioniert. Sicher, dass Du die richtige Version testest?
LG
Christian
Hallo Christian,
jetzt ja 8). Hatte die alte Version auf das Testsystem kopiert.
Sieht gut aus. Hast Du auch noch was am "mode" verändert? Hier kann ich bei Bedarf gerne auch noch einmal testen, wenn die API hier was "Vernünftiges" zulässt ;D
Aus meiner Sicht kann die Version ohne "mode" so auf die "Produktion".
Viele Grüße
Jürgen
Huhu,
Zitat von: juemuc am 19 Oktober 2021, 21:44:33
jetzt ja 8). Hatte die alte Version auf das Testsystem kopiert.
Sieht gut aus.
Nice, danke :)
Zitat von: juemuc am 19 Oktober 2021, 21:44:33
Hast Du auch noch was am "mode" verändert? Hier kann ich bei Bedarf gerne auch noch einmal testen, wenn die API hier was "Vernünftiges" zulässt ;D
Nope, daran habe ich nix mehr verändert.
Aber im Anhang findest Du eine v4, die den passenden Fix dafür enthält ... der Befehl in der API lautet 'modes', nicht 'mode', das hab ich angepasst. In FHEM heisst es aber immer noch 'set mode', das finde ich logischer :)
LG
Christian
Hallo Christian,
was noch cool wäre, wenn die "Min-/Max-Temperaturen" pro Zone in einem eigenen Reading stehen würden. Dann könnte man die Temperaturen super über einen Slider in FTUI darstellen. Aber nur, wenn es nicht zu viel Aufwand bedeutet. Ansonsten muss ich mir überlegen, wie ich das Reading "actions_targetTemperature" zerlege.
Viele Grüße
Jürgen
Zitat von: choenig am 19 Oktober 2021, 22:18:20
Aber im Anhang findest Du eine v4, die den passenden Fix dafür enthält ... der Befehl in der API lautet 'modes', nicht 'mode', das hab ich angepasst. In FHEM heisst es aber immer noch 'set mode', das finde ich logischer :)
Hallo Christian,
ist schon auf dem Testsystem. Test kann ich allerdings erst morgen.
Viele Grüße und vorab schon einmal ein ganz großes Dankeschön in die alte Heimat ;D
Jürgen
Hallo Christian,
ich habe nun noch einmal alles getestet.
Das Einstellen der Temperaturen sowie das Ein- und Ausschalten von SuperCollung/SuperFreezing funktioniert bestens.
Nach dem Einschalten des "sabbathMode" ist der Punkt "mode" verschwunden. Der Modus kann dann nur noch am Kühlschrank wieder deaktiviert werden.
Soll ich Dir noch das Log für diesen Testzeitraum zur Verfügung stellen?
Viele Grüße
Jürgen
Hi,
Zitat von: juemuc am 20 Oktober 2021, 17:37:42
ich habe nun noch einmal alles getestet.
Das Einstellen der Temperaturen sowie das Ein- und Ausschalten von SuperCollung/SuperFreezing funktioniert bestens.
Super :)
Zitat von: juemuc am 20 Oktober 2021, 17:37:42
Nach dem Einschalten des "sabbathMode" ist der Punkt "mode" verschwunden. Der Modus kann dann nur noch am Kühlschrank wieder deaktiviert werden.
Nicht so super :(
Zitat von: juemuc am 20 Oktober 2021, 17:37:42
Soll ich Dir noch das Log für diesen Testzeitraum zur Verfügung stellen?
ja, gerne, insbesondere der Teil, nachdem der SabbathMode aktiviert war und nicht mehr deaktiviert werden konnten.
Hier funktioniert das nämlich mit Handgemachten Daten.
LG
Christian
Hallo Christian,
hast eine PN mit dem Log-Auszug. Ich hoffe es hilft.
Viele Grüße
Jürgen
Hi Jürgen,
das Log hilft, aber nicht zum Fixen, sondern eher um zu sehen, dass sich die API komisch verhält:
Hier sehen wir, dass 'modes' auf 1 gestellt werden darf:
2021.10.20 17:27:38 5: Miele (MieleAtHome::MAH_onGetDeviceActionsReply:1149) ... "modes":[1] ...
Dann stellst du es per `set Miele mode sabbathMode` auf 1:
2021.10.20 17:27:56 5: Miele (MieleAtHome::MAH_sendSetActionRequest:1549) called with action {"modes":1}
und dann sagt die API, dass man es nicht mehr verstellen kann:
2021.10.20 17:28:02 5: Miele (MieleAtHome::MAH_onGetDeviceActionsReply:1149) ... "modes":[] ...
D.h. dass es entweder ein Bug oder ein Feature in der API ist. Möglicherweise will Miele, dass man sich im Sabbath nicht durch das Licht im Kühlschrank verstrahlen lassen darf, falls man es aus versehen über die API aktiviert. Kann aber auch sein, dass es ein Bug in der API ist.
Ich werde da mal nachhören bei denen.
Trotzdem werde ich das Modul wohl so einchecken, vielleicht ist ja auch nur Dein Kühlschrank komisch ;).
Vielen Dank nochmal für deine unermüdliche Hilfe :)
LG
Christian
Hallo Christian,
das mit dem Modus scheint tatsächlich so gewollt zu sein. Zum Glück brauche ich es nicht 8)
Vielen Dank für Deine Umsetzung.
Viele Grüße
Jürgen
Hallo Christian,
nach dem Update gestern habe ich noch diese Zeilen im Log gefunden:
2021.10.25 10:08:49 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1342.
2021.10.25 10:08:49 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1342.
Viele Grüße
Jürgen
Hi Jürgen,
Zitat von: juemuc am 26 Oktober 2021, 14:01:08
nach dem Update gestern habe ich noch diese Zeilen im Log gefunden:
Mh, dachte, das hätte ich schon gefixt. Danke für's bescheid geben, fixe ich dann :)
LG
Christian
Hallo Christian,
heute hatte ich zusätzlich diese Zeile im log.
2021.10.29 16:00:47 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/48_MieleAtHome.pm line 1149.
Ist aber wohl auch nur eine Schönheitsreparatur ;D
Viele Grüße
Jürgen
Hallo Christian,
und großen Dank für das Modul!
Die Einrichtung funktionierte super und alles läuft soweit.
Was ich leider noch nicht geschafft habe, ist unseren Geschirrspüler über FHEM zu starten.
Einschalten funktioniert problemlos, leider bietet die API jedoch nie den eigentlich "Start" an.
Hat das schon mal jemand geschafft? Muss ich evtl. eine Änderung an den Einstellungen am Geschirrspüler selbst machen? ???
Danke und viele Grüße
Andreas
In der Spülmaschine kann man nur den Fernstart aktivieren und deaktivieren. Wenn er aktiv ist (wie bei mir), kann man die ganze Maschine mit der Miele-App steuern/Programme starten. Dies ändert aber (leider) nichts an diesem Modul. Liegt also auf keinem Fall an der Maschine. Entweder kann es die api nicht oder das Modul ist nicht für eine Spülmaschine angepasst. Für Waschmaschinen soll es ja funktionieren.
Hallo ihr zwei,
ich würde erwarten, dass es auch aus dem Modul heraus funktionieren sollte. Spezielle Anpassung an Geräte habe ich nicht eingebaut, aber selber testen kann ich natürlich nur meine Waschmaschine.
Die API teilt dem Modul mit, welche Befehle erlaubt sind. Du kannst mal verbose auf 5 stellen und mir dann einen Logauszug zukommen lassen, gerne per PN.
Welchen Wert hat denn das Reading actions_processAction?
Gut wäre natürlich, wenn du das zu einem Zeitpunkt machst, wo du den Geschirrspüler per App starten könntest, wie bamm-bamm geschrieben hat.
LG
Christian
Hallo Christian,
Pn habe ich dir gerade geschickt.
Das Reading ist und bleibt interessanter Weise auch nach dem Einschalten leer.
Über die App kann ich in den Zustand sofort starten.
Wenn ich noch irgendwie unterstützen kann, gerne.
Viele Grüße Andreas
Hi,
Hier sehen wir, dass die API der Meinung ist, dass du keine processAction ausführen darfst:
"processAction":[]
Nur powerOff (und deviceName) ist erlaubt:
2021.11.14 20:29:31 5: ku_Spuelmaschine (MieleAtHome::MAH_onGetDeviceActionsReply:1149) reply: err:, code:200, data:{"processAction":[],"light":[],"ambientLight":[],"startTime":[],"ventilationStep":[],"programId":[],"targetTemperature":[],"deviceName":true,"powerOn":false,"powerOff":true,"colors":[],"modes":[]}
Und ich verstehe es richtig, dass du in dem Zustand die Maschine per App starten kannst? Hast du das auch schon mal gemacht?
LG
Christian
also ich habe eben mal MobileStart an der GS Maschine auf on gestellt. Danach konnte ich direkt am GS nichts mehr starten. Über die Alexa App ging auch nichts, genau wie über Fhem. Liegt sicher an den beschränkten Features der API. Deswegen gibt es da ja auch keinerlei Info über Salz und Klarspüler Füllstand (was mMn bei der Gerätegruppe die einzigen sinnvollen DINGE wären, worauf Fhem reagieren könnte). Über die Miele IOS App konnte ich das Programm auswählen und das Ding starten. Da ich das vorher manuell eingeräumt habe und dabei zwangsläufig in der Küche am GS stand, finde ich den Fernstart vollkommen sinnfrei. Ausräumen muß ich den ja leider auch wieder selbst.
Für alles kann Christian nichts - das Modul ist prima, wenn Miele die Infos aus der IOS App auch in der API ermöglichen wurde, ergäbe die Sache am Ende sogar noch einen praktischen Sinn.
Danke fürs Durchschauen! Ja, Start über App habe ich schon ausprobiert und funktioniert.
Ist für mich aber auch weniger sinnvoll.
Mein Anwendungsfall über FHEM wäre der automatische Start, wenn die PV Anlage gerade Strom über hat.
Aber da spielt die API dann wohl leider nicht mit :-(
Übrigens: Wenn die Spülmaschine läuft, gibt es die Auswahl "Pause". Nach dem Pausieren, ist dann auch "Start" verfügbar. Schon etwas merkwürdig... Mal schauen, was Miele dazu sagt...
Das Reading "das Reading "actions_processAction" ist bei mir auch immer leer (Spülmaschine).
Bei mir ist Mobile Start in der Maschine aktiviert. Ich kann sie problemlos über die Miele App und auch manuell Steuern. Wundert mich, daß der User "det." dann nichts mehr starten kann, denn die Funktion ist gerade für den Fernstart gedacht. Ist es ausgeschaltet, kann man über Miele App nicht mehr starten.
Alle laufenden Programme werden über die API an das Modul übertragen und dort angezeigt. Wundert mich daß dann die Programme in dem Modul (fhem) nicht als Befehl auswählbar sind (von Miele so gewollt?).
Zitat von: choenig am 14 November 2021, 12:02:18
Hallo ihr zwei,
ich würde erwarten, dass es auch aus dem Modul heraus funktionieren sollte. Spezielle Anpassung an Geräte habe ich nicht eingebaut, aber selber testen kann ich natürlich nur meine Waschmaschine.
Die API teilt dem Modul mit, welche Befehle erlaubt sind. Du kannst mal verbose auf 5 stellen und mir dann einen Logauszug zukommen lassen, gerne per PN.
Welchen Wert hat denn das Reading actions_processAction?
Gut wäre natürlich, wenn du das zu einem Zeitpunkt machst, wo du den Geschirrspüler per App starten könntest, wie bamm-bamm geschrieben hat.
LG
Christian
Einschalten über FHEM der Spülmaschine funktioniert. Aber keine Programmauswahl aus AUSschalten gibts auch nicht :(
Zitat von: choenig am 14 November 2021, 20:47:38
Hi,
Hier sehen wir, dass die API der Meinung ist, dass du keine processAction ausführen darfst:
"processAction":[]
Nur powerOff (und deviceName) ist erlaubt:
2021.11.14 20:29:31 5: ku_Spuelmaschine (MieleAtHome::MAH_onGetDeviceActionsReply:1149) reply: err:, code:200, data:{"processAction":[],"light":[],"ambientLight":[],"startTime":[],"ventilationStep":[],"programId":[],"targetTemperature":[],"deviceName":true,"powerOn":false,"powerOff":true,"colors":[],"modes":[]}
Und ich verstehe es richtig, dass du in dem Zustand die Maschine per App starten kannst? Hast du das auch schon mal gemacht?
LG
Christian
Hi,
Ein- und Ausschalten ist immer nur disjunkt benutzbar. Nachdem Du die Maschine eingeschaltet hast, musst du warten, bis FHEM das mitbekommen hat, dann sollte auch Ausschalten funktionieren. Wenn es in der Webgui nicht funktioniert, musst du diese vermutlich einmal neuladen (F5).
LG
Christian
Tut mirt leid. Einschalten mit FHEM: Maschine ist dann AN und die Miele App zeigt auch an, daß die Maschine an ist. FEM sagt zu Status "Programm gewählt". Das letzte was an war. So wie es die Maschine auch anzeigt. Eine AUSschaltfunktion bietet FEHM mir trotzdem nicht an. Vieleicht wegen dem Status? Aber nur AN wäre auch falsch, da ja ein Programm ausgewählt ist.
Readings
actions_deviceName
1
2021-11-15 17:53:25
actions_light
1
2021-11-15 17:53:25
actions_modes
2021-11-15 17:53:25
actions_powerOff
1
2021-11-15 17:53:25
actions_powerOn
0
2021-11-15 17:53:25
actions_processAction
2021-11-15 17:53:25
actions_programId
2021-11-15 17:53:25
actions_startTime
2021-11-15 17:53:25
actions_targetTemperature
2021-11-15 17:53:25
actions_ventilationStep
2021-11-15 17:53:25
communicationModuleReleaseVersion
08.10
2021-11-15 17:53:25
communicationModuleTechType
EK057
2021-11-15 17:53:25
deviceHardwareFabIndex
65
2021-11-15 17:53:25
deviceHardwareFabNumber
000xxxxxxx
2021-11-15 17:53:25
deviceHardwareMatNumber
11xxxxx
2021-11-15 17:53:25
deviceHardwareTechType
G7510
2021-11-15 17:53:25
deviceName
2021-11-15 17:53:25
deviceType
Geschirrspüler
2021-11-15 17:53:25
dryingStep
2021-11-15 17:53:25
ecoFeedbackCurrentEnergyConsumption
0.7
2021-11-15 17:53:25
ecoFeedbackCurrentWaterConsumption
8
2021-11-15 17:53:25
ecoFeedbackEnergyForecast
0.3
2021-11-15 17:53:25
ecoFeedbackWaterForecast
0.3
2021-11-15 17:53:25
elapsedTime
0:00
2021-11-15 17:53:25
eta
21:51
2021-11-15 17:53:25
etaHR
21:51
2021-11-15 17:53:25
light
2
2021-11-15 17:53:25
programID
ECO
2021-11-15 17:53:25
programPhase
2021-11-15 17:53:25
programType
Programm
2021-11-15 17:53:25
remainingTime
3:58
2021-11-15 17:53:25
remoteEnableFullRC
1
2021-11-15 17:53:25
remoteEnableSmartGrid
0
2021-11-15 17:53:25
signalDoor
0
2021-11-15 17:53:25
signalFailure
0
2021-11-15 17:53:25
signalInfo
0
2021-11-15 17:53:25
startTime
0:00
2021-11-15 17:53:25
state
Programm gewählt (21:51)
2021-11-15 17:53:25
status
Programm gewählt
2021-11-15 17:53:25
statusRaw
3
2021-11-15 17:53:25
targetTemperature
2021-10-22 09:11:00
targetTemperature_zone1
0
2021-11-11 08:03:43
targetTemperature_zone2
0
2021-11-11 08:03:43
targetTemperature_zone3
0
2021-11-11 08:03:43
temperature
2021-10-22 09:11:00
temperature_zone1
0
2021-11-11 08:03:43
temperature_zone2
0
2021-11-11 08:03:43
temperature_zone3
0
2021-11-11 08:03:43
tokenRefreshCount_withBearer
1
2021-09-20 19:26:10
tokenRefreshCount_withRefreshToken
1
2021-10-19 19:27:37
ventilationStep
2021-11-15 17:53:25
Zitat von: choenig am 15 November 2021, 17:05:30
Hi,
Ein- und Ausschalten ist immer nur disjunkt benutzbar. Nachdem Du die Maschine eingeschaltet hast, musst du warten, bis FHEM das mitbekommen hat, dann sollte auch Ausschalten funktionieren. Wenn es in der Webgui nicht funktioniert, musst du diese vermutlich einmal neuladen (F5).
LG
Christian
Hi,
[Es würde lesbarer sein, wenn Du den gepasteten Code in "[ code ]"-Blöcke schreiben würdest]
Laut
2021-11-15 17:53:25
actions_powerOff
1
sollte die GUI ein "set <DEVICE> off" anbieten. Du kannst ja mal den Befehl von Hand in die Befehlszeile eintragen und gucken, ob's funktioniert. Wenn nicht, ist es vielleicht ein Bug im Modul. Bei meiner Waschmaschine wird es jedoch angeboten und das ist der selbe Code.
LG
Christian
Nach einige Tests:
wenn ich über die Maschine oder die Miele-Ap ein Programm gestartet habe, kann ich dieses über FHEM Pausieren oder beenden und die Maschine auch ausschalten. Über FHEM kann ich die Maschine nur Einschalten. Kann mir vorstellen, wenn man über FHEM auch ein Proramm starten könnte, die andeen Optionen danach auch angezeigt werden. Wegen der fehlenden Programmstart Funktion benutze ich FHEM momentan nur zur Statusübewachung, heisst: "welches programm läuft gerade", "welcher Programmschritt läuft gerade (vorspülen, reinigen, trocken)", "wie lange dauert es noch", "wie ist der momentane Enerige/Wasserverbrauch"
Zitat von: choenig am 15 November 2021, 19:08:43
Hi,
[Es würde lesbarer sein, wenn Du den gepasteten Code in "[ code ]"-Blöcke schreiben würdest]
Laut
2021-11-15 17:53:25
actions_powerOff
1
sollte die GUI ein "set <DEVICE> off" anbieten. Du kannst ja mal den Befehl von Hand in die Befehlszeile eintragen und gucken, ob's funktioniert. Wenn nicht, ist es vielleicht ein Bug im Modul. Bei meiner Waschmaschine wird es jedoch angeboten und das ist der selbe Code.
LG
Christian
Hi,
Zitat von: bamm-bamm am 16 November 2021, 14:09:07
Nach einige Tests:
wenn ich über die Maschine oder die Miele-Ap ein Programm gestartet habe, kann ich dieses über FHEM Pausieren oder beenden und die Maschine auch ausschalten. Über FHEM kann ich die Maschine nur Einschalten.
Das widerspricht sich irgendwie: "Pausieren" und "beenden" und "nur Einschalten".
Was passiert denn, wenn Du `set <DEVICE> off` in die Kommandozeile eingibst, während das Reading
actions_powerOff den Wert
1 enthält?
LG
Christian
Soll heißem, NUR wenn ein Programm läuft, kann ich über FHEM Programm beenden, Pausieren, Maschine Ausschalten.
Wenn die Maschine aus ist, kann ich sie einschalten mit FHEM. Auswählbar bleibt in FHEM nur set ON. Über die Befehlszeile "set Spuehlmaschine off" geht sie aus.
Also kann über die API ausgeschaltet werden, das FHEM Modul zeigt die Funktion dann wohl nur nicht an.
Ist es denn auch möglich, eine Spülprogramm Auswahl einzubauen? Wie schaut es in dieser Hinsicht bei deiner Waschmaschine aus?
Gruß,
Andreas
Zitat von: choenig am 16 November 2021, 16:50:08
Hi,
Das widerspricht sich irgendwie: "Pausieren" und "beenden" und "nur Einschalten".
Was passiert denn, wenn Du `set <DEVICE> off` in die Kommandozeile eingibst, während das Reading actions_powerOff den Wert 1 enthält?
LG
Christian
Wenn ich mich bei Miele registriere bekomme ich kein Passwort und kann auch keines vergeben.
Könnt Ihr mir auf die Sprünge helfen, wo und wie ich zu einem Passwort komme?
Danke und viele Grüße
Gunther
Zitat von: Gunther am 31 Dezember 2021, 01:33:17
Wenn ich mich bei Miele registriere bekomme ich kein Passwort und kann auch keines vergeben.
Könnt Ihr mir auf die Sprünge helfen, wo und wie ich zu einem Passwort komme?
Danke und viele Grüße
Gunther
Unter welchen Link genau hast du dich registriert?
Unter dem:
https://www.miele.com/f/com/en/register_api.aspx
Bekomme alles außer ein Passwort
Okay das ist schon mal die richtige. Ich denke der Vorgang wird manuell geprüft und danach wirst du per Mail deine Client Daten bekommen.
Da ich bis heute kein Passwort bekommen habe, habe ich nochmal neu beantragt.
Nur zur Sicherheit:
1. https://www.miele.com/f/com/en/register_api.aspx
2. Eingabe
3. Ich bekomme im Browser folgende Nachricht:
Your registration request has been processed successfully.
Please check your inbox for an e-mail with your personal activation link.
4. Ich bekomme eine Mail mit folgendem Inhalt:
Dear developer,
in order to receive and activate your client credentials,
visit the following URL:
https://api-eu.mcs3.miele.com/thirdparty/confirm?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJtY3MtdGhpcmRwYXJ0eS1jbGllbnQiLCJuYmYiOjE2NDI2MjMxNjQsImlzcyI6Im1jcy1yb3V0ZXIiLCIzRC1DSUQiOiI5ODkwOGYwMS01ZTRkLTRlOTYtYmI5Yy01N2I3ZjQxNWMxYjciLCJleHAiOjE2NDI3MDk1NjQsImlhdCI6MTY0MjYyMzE2NCwianRpIjoiYzVkOWJkZGUtY2FmYy00Y2RjLThiYTYtNThjOTJlYTkxOWZkIn0.Gvs2G0ZTkilIdjcUNKyx-qW5Cw5pf2kaQa97RkC2A6E
5. Ich klicke auf den Link
6. Ich sehe im Browser
Your activation was successful.
Have fun using our API. Make sure you don't miss out on our documentation https://www.miele.com/developer/swagger-ui/index.html !
Hier stoppt es leider bei mir. Leider keine Mail - auch nicht im Spam.
Wo bekomme ich dieses Passwort her?
Hi Gunther,
der Link in (1) ist auf jeden Fall richtig. Ich weiss leider nicht mehr, wie genau ich es gemacht habe, ich habe jedoch 5 Testaccounts, bei denen es immer funktioniert hat. Ich bin gerade im Urlaub, danach guck ich mal, wie ich das gemacht habe, falls sich niemand anderes zu Wort gemeldet hat.
LG
Christian
Das ist super. Danke!
Habe in einem anderen Thread aus 2019 gelesen, dass man Miele per Mail anschreiben soll.
Freue mich, wenn hoer jemand kurz berichtet, wie er an sein Passwort gekommen ist.
Hallo in die Runde,
bastele mir gerade Statusanzeigen für Mielegeräte. Gibt es eine Übersicht, welchen Status das jeweilige Gerät annehmen kann? Zum Beispiel würde ich gerne Fehler meines Trockners auswerten, aber die kann ich nicht erzwingen. Was kann da im STATE so auftauchen?
Hm,
Miele hilft: https://www.miele.com/developer/swagger-ui/swagger.html#/Information/get_devices__deviceId__state
Und, schon mal zum grübeln:
1 = OFF
2 = ON
3 = PROGRAMMED
4 = PROGRAMMED WAITING TO START
5 = RUNNING
6 = PAUSE
7 = END PROGRAMMED
8 = FAILURE
9 = PROGRAMME INTERRUPTED
10 = IDLE
11 = RINSE HOLD
12 = SERVICE
13 = SUPERFREEZING
14 = SUPERCOOLING
15 = SUPERHEATING
146 = SUPERCOOLING_SUPERFREEZING
255 = NOT_CONNECTED
Grüße Jörg
Das hilft schon mal deutlich weiter, danke! Werde mich da durchfräsen.
Mein Trockner erzählt mir bei Normalbetrieb immer was von "In Use", zusammen mit einer Zeitangabe. Diesen STATE finde ich auf den ersten Blick in der API Dokumentation nicht und frage mich, woher der kommt? Liefert den die API oder findet noch an irgendeiner Stelle ein "re-mapping" statt?
EDIT: Ah, hab's gefunden. Okay, große Tasse Kaffee und tiefer abtauchen in die Dok... 8)
Weiss ja nicht ab das von der App oder Miele API kommt....Spülmaschine 60Grad Normalprogramm wird als "Biergläser warm" in FHEM gemeldet 8)
Aber wenn mans weis....Readings bekomme ich jedenfalls jede Menge von Miele und kann somit super Auswertungen und Actions erstellen...
Mal testen, ob das Glasprogramm dann als "Biergläser kalt" gemeldet wird ;D
Ich sehe das "Problem" im API-Wert value_localized. Der scheint mir in fhem für STATE gezogen zu werden, und der ist z.T. recht fantasievoll, und dafür hab ich auf die Schnelle auch keine Liste gefunden.
Wobei "Biergläser warm" den Vogel abschießt... wer will sowas??? :o Das misshandelt ja meine schönen 0-Grad-Getränke aus dem Bio-Fresh-Fach!!
Ich hab's jetzt so gelöst, dass ich mir aus der von JoWiemann verlinkten Seite bzw. dem PDF den Zahlenwert des Status rausgesucht habe, denn der steht im Reading statusRaw. Den zieh ich mit ReadingsVal, und fertig - keine Substrings oder sonst irgendwelche RegEx-Notwendigkeiten - es ist einfach 1, 2, 3 oder was auch immer.
Zitat von: Gunther am 19 Januar 2022, 22:58:28
Das ist super. Danke!
Habe in einem anderen Thread aus 2019 gelesen, dass man Miele per Mail anschreiben soll.
Freue mich, wenn hoer jemand kurz berichtet, wie er an sein Passwort gekommen ist.
Ich schiebe das nochmal nach oben. Wie seid Ihr an Euer Developer-Passwort gekommen?
Hi,
Zitat von: Gunther am 28 Januar 2022, 10:23:10
Ich schiebe das nochmal nach oben. Wie seid Ihr an Euer Developer-Passwort gekommen?
ich hab's gerade nochmal ausprobiert:
Unter https://www.miele.com/f/com/en/register_api.aspx registriert, ein paar minuten später kam 'ne Mail mit 'nem langen link, da drauf geklickt erscheint im Browser Client-Id und Client-Secret.
LG
Christian
Hi,
Zitat von: bamm-bamm am 26 Januar 2022, 16:32:25
... wird als "Biergläser warm" in FHEM gemeldet ...
Du könntest das an Miele melden unter partner.developer@miele.com. Die haben immer sehr nett geantwortet (und sprechen deutsch).
LG
Christian
Zitat von: choenig am 29 Januar 2022, 20:56:17
Hi,
ich hab's gerade nochmal ausprobiert:
Unter https://www.miele.com/f/com/en/register_api.aspx registriert, ein paar minuten später kam 'ne Mail mit 'nem langen link, da drauf geklickt erscheint im Browser Client-Id und Client-Secret.
LG
Christian
Hallo Christian,
das ist doch nicht das Passwort, oder???
Soweit komme ich auch. Leider weiß ich nicht, woher ich das Passwort bekomme. Oder stehe ich auf dem Schlauch. Hier sind doch sicherlich mehrere, die das Passwort irgendwoher bekommen haben. Die Frage ist: Woher?
Danke und LG
Gunther
Hi,
Username und Passwort sind die, die Du in der App erstellt hast, Client-Id und Client-Secret bekommst du über den Link und für das Modul benötigst du alle vier.
LG
Christian
Das war der wichtige Tipp für mich. Danke!!! Dachte ich bekomme von Miele ein Passwort... - da stand ich wohl mächtig auf der Leitung
Hi,
mein Log wirft mir seit einiger Zeit falsches Tun vor:
2022.02.22 13:41:24 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1342.
2022.02.22 13:41:24 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1342.
Hab ich da was falsch konfiguriert oder gibt's im Modul eine kleine Baustelle?
EDIT: und auch:
PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/HttpUtils.pm line 648
Das verschwindet, wenn ich das Miele-Modul testweise deaktiviere.
Zitat von: zife am 22 Februar 2022, 13:44:13
Hab ich da was falsch konfiguriert oder gibt's im Modul eine kleine Baustelle?
Ein List vom Device wäre hilfreich. Bitte Passwort ausixen.
Grüße Jörg
Na klar doch...
Internals:
FUUID [anonymisiert]
HAS_MimeBase64 1
NAME MieleConnection
NR 148
OAUTH2_ACCESS_TOKEN DE_[anonymisiert]
OAUTH2_EXPIRES_AT 2022-02-24 13:38:22
OAUTH2_EXPIRES_IN 2592000
OAUTH2_REFRESH_TOKEN DE_[anonymisiert]
STATE Initialized
TOKEN_REFRESH_IN_PROGRESS 0
TYPE MieleAtHome
VERSION 1.2.0
READINGS:
2022-02-22 13:38:40 state active
Attributes:
clientId [anonymisiert]
devStateIcon .*:noIcon
group Miele
icon czZentraleMiele_full@grey
login [anonymisiert]
room Geraete
Und eins meiner Geräte (ich hab davon mehrere, aber alle soweit identisch eingerichtet... kann gerne alle hier "listen", will aber auch nicht zuspammen 8)):
Internals:
DEF 000104806264@MieleConnection 300
DEVICE_ID 000104806264
FUUID [anonymisiert]
HAS_MimeBase64 1
INTERVAL 300
IODevName MieleConnection
NAME Geschirrspueler
NR 158
STATE Off (-:-)
TYPE MieleAtHome
VERSION 1.2.0
READINGS:
2022-02-22 15:39:08 actions_deviceName 0
2022-02-22 15:39:08 actions_light
2022-02-22 15:39:08 actions_modes
2022-02-22 15:39:08 actions_powerOff 0
2022-02-22 15:39:08 actions_powerOn 1
2022-02-22 15:39:08 actions_processAction
2022-02-22 15:39:08 actions_programId
2022-02-22 15:39:08 actions_startTime
2022-02-22 15:39:08 actions_targetTemperature
2022-02-22 15:39:08 actions_ventilationStep
2022-02-22 15:39:08 communicationModuleReleaseVersion 03.88
2022-02-22 15:39:08 communicationModuleTechType EK037
2022-02-22 15:39:08 deviceHardwareFabIndex 64
2022-02-22 15:39:08 deviceHardwareFabNumber 000104806264
2022-02-22 15:39:08 deviceHardwareMatNumber 10992410
2022-02-22 15:39:08 deviceHardwareTechType G7360
2022-02-22 15:39:08 deviceName
2022-02-22 15:39:08 deviceType Dishwasher
2022-02-22 15:39:08 dryingStep
2022-02-21 12:44:52 ecoFeedbackCurrentEnergyConsumption 0.4
2022-02-21 12:44:52 ecoFeedbackCurrentWaterConsumption 10
2022-02-21 12:44:52 ecoFeedbackEnergyForecast 0.4
2022-02-21 12:44:52 ecoFeedbackWaterForecast 0.3
2022-02-22 15:39:08 elapsedTime 0:00
2022-02-22 15:39:08 eta -:-
2022-02-22 15:39:08 etaHR -:-
2022-02-22 15:39:08 programID Auto
2022-02-22 15:39:08 programPhase
2022-02-22 15:39:08 programType Program
2022-02-22 15:39:08 remainingTime 2:44
2022-02-22 15:39:08 remoteEnableFullRC 1
2022-02-22 15:39:08 remoteEnableSmartGrid 0
2022-02-22 15:39:08 signalDoor 0
2022-02-22 15:39:08 signalFailure 0
2022-02-22 15:39:08 signalInfo 0
2022-02-22 15:39:08 startTime 0:00
2022-02-22 15:39:08 state Off (-:-)
2022-02-22 15:39:08 status Off
2022-02-22 15:39:08 statusRaw 1
2022-02-22 15:39:08 ventilationStep
Attributes:
devStateIcon .*:noIcon
event-on-change-reading state
group Miele
icon czWaschmaschine_full@grey
room 22 Kueche,Geraete
Hm... bin ich der Einzige mit diesem Problem? Keiner eine Idee, was ich tun könnte?
Welches Problem meinst du? Die Warnungen? Die fixe ich bei Zeiten, hat aber erstmal keine Priorität, solange es kein echtes ,,Problem" ist.
LG
Christian
Danke, nein, keine Eile, ich konnte nur nicht einschätzen, ob mehr dahinter steckt. Ich habe öfter Statusaussetzer bei den Geräten, das schreibe ich aber der Cloudverfügbarkeit bei Miele zu.
Es gibt also keine spürbaren Probleme - danke für die Rückmeldung.
Hi,
Zitat von: zife am 28 Februar 2022, 00:36:07
Danke, nein, keine Eile
Danke :)
Zitat von: zife am 28 Februar 2022, 00:36:07
Ich habe öfter Statusaussetzer bei den Geräten
Was meinst Du mit "Statusaussetzer"? Status 255? Oder gar kein Update mehr?
LG
Christian
Meine Geräte bleiben z.T. im Status "Initialized" stehen und ein "set update" führt zu einem Timeout. Das ist aber ein sporadischer Fehler, ich kann ihn nicht gezielt nachstellen und somit vermute ich das Problem außerhalb von fhem.
Hallo Zusammen
Ich versuche Miele@Home Modul zu initialsieren und bekomme die folgende Meldung:
2022.04.01 22:04:19 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:763) Error: Bearer code not found, giving up
Hat jemand eine Idee an was es liegen könnte?
2022.04.01 22:20:19 5: MieleConnection (MieleAtHome::MAH_refreshAccessToken:598) called
2022.04.01 22:20:19 5: MieleConnection (MieleAtHome::MAH_doThirdpartyLoginRequest:640) called
2022.04.01 22:20:19 5: MieleConnection (MieleAtHome::MAH_onThirdpartyLoginReply:672) reply: err:, code:200, headers:HTTP/1.1 200 OK<0d><0a>Date: Fri, 01 Apr 2022 20:20:19 GMT<0d><0a>Content-Type: text/html<0d><0a>Content-Length: 2298<0d><0a>Connection: close<0d><0a>Strict-Transport-Security: max-age=15724800; includeSubDomains<0d><0a>X-Environment: mcs-eu-prod-default<0d><0a>Vary: Accept-Encoding<0d><0a>Content-Encoding: gzip<0d><0a>Access-Control-Allow-Origin: *<0d><0a>Access-Control-Allow-Credentials: true<0d><0a>Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS<0d><0a>Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization, data:<html lang="de"><0a><head><0a><!--Let browser know website is optimized for mobile--><0a><meta name="viewport" content="width=device-width, initial-scale=1.0"/><0a><meta charset="utf-8"><0a><!-- Suppress favicon request--><0a><link rel="shortcut icon" type="image/x-icon"<0a>href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAUAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/EwCL/xMAjP8TAIv/EgCL/xIAi/8TAIv/EgCL/xMAi/8SAIv/EwCL/xIAi/8TAIv/FACM/xQAjP8UAIz/FwON/yYUlf8bCY//KBaW/ysZmP8tG5j/JhSV/y4dmf8mFJX/KxmX/ygVlv8tG5j/JxSV/xQAjP8UAIz/EwCM/x4Lkf+BdsH/nJPO/7Ot2v+aks7/s63a/6Wd0/+9t9//lo3M/7Wv2/+noNT/vbff/5mQzf8mFJX/EwCL/xMAjP8cCJD/qaLV/8C64P+9uN//mpLO/4+GyP9pXLX/hnvE/3Fluv+1rtv/iH/F/4B2wf9zaLv/HQqR/xMAjP8UAIz/FwOO/zMhm/8mFZX/JxaV/y0bmP8fDZL/FwWO/xIAi/8VBI3/MiCa/yIRk/8SAIv/EgCL/xMAjP8UAIz/FACM/xQAjP8SAIv/EwCL/xMAi/8SAIv/EwCM/xQAjP8UAIz/FACM/xIAi/8TAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="><0a><!--Import Google Icon Font--><0a><!--Import materialize.css--><0a><!--Import own css--><0a><link href="/assets/css/googleMaterialIcons.css?1630575190000" rel="stylesheet"><0a><link rel="stylesheet" href="/assets/css/materialize.min.css?1556550173384"><0a><link type="text/css" rel="stylesheet" href="/assets/css/mieleStyle.css?1556550173387"<0a>media="screen,projection"/><0a><!-- Import scrips --><0a><!-- Compiled and minified JavaScript --><0a><script src="/assets/js/materialize.min.js?1556550173386"></script><0a><!--Hotfix for selection error on IOS 13, see MIELCLD3-4504--><0a><script src="/assets/js/selectHotfix.js"></script><0a><script><0a>document.addEventListener('DOMContentLoaded', function () {<0a>M.FormSelect.init(document.querySelectorAll('select'));<0a>});<0a></script><0a></head><0a><body id="mieleLoginSite"><0a><div class="container"><0a><div class="row"><0a><div class="col s12 m8 offset-m2 offset-l2 l8"><0a><div class="center"><0a><img class="responsive-img"<0a>src="/assets/images/miele_logo.svg" width="150" alt="miele.com"/><0a></div><0a><h1 class="center mediumFont">Login</h1><0a><form method="post" action="/oauth/auth"><0a><div class="input-field"><0a><i class="material-icons prefix">account_circle</i><0a><input required id="e-mail" type="email" name="email"><0a><label for="e-mail">Email Address</label><0a></div><0a><div class="input-field"><0a><i class="material-icons prefix">https</i><0a><input required id="password" type="password" name="password"><0a><label for="password">Password</label><0a></div><0a><!-- add here all hidden inputs --><0a><input type="hidden" name="response_type" value="code"><0a><input type="hidden" name="redirect_uri" value="https://api.mcs3.miele.com/thirdparty/login/"><0a><input type="hidden" name="state" value="login"><0a><input type="hidden" name="client_id" value="b0beefb8-5e65-4499-a773-befbc50b7d62"><0a><div class="input-field" style="margin-top: 25px;"><0a><i class="material-icons prefix no-margin">language</i><0a><select required name="vgInformationSelector" size="5"><0a><option value="" disabled>Please select your country</option><0a><option value="en-AU">Australia</option><0a><option value="ru-BY">Belarus</option><0a><option value="fr-BE">Belgique</option><0a><option value="pt-BR">Brazil</option><0a><option value="en-CA">Canada</option><0a><option value="es-CL">Chile</option><0a><option value="cs-CZ">Czechia</option><0a><option value="da-DK">Danmark</option><0a><option value="de-DE">Deutschland</option><0a><option value="et-EE">Eesti</option><0a><option value="en-EG">Egypt</option><0a><option value="es-ES">Espa<c3><b1>a</option><0a><option value="fr-FR">France</option><0a><option value="en-GB">Great Britain</option><0a><option value="ko-KR">Hanguk</option><0a><option value="en-HK">Hong Kong, China</option><0a><option value="hr-HR">Hrvatska</option><0a><option value="en-IN">India</option><0a><option value="en-ID">Indonesia</option><0a><option value="en-IE">Ireland</option><0a><option value="en-IS">Island</option><0a><option value="en-IL">Israel</option><0a><option value="it-IT">Italia</option><0a><option value="el-CY">Kypros</option><0a><option value="lv-LV">Latvija</option><0a><option value="en-LB">Lebanon</option><0a><option value="de-CH">Liechtenstein</option><0a><option value="lt-LT">Lietuva</option><0a><option value="de-LU">Luxemburg</option><0a><option value="hu-HU">Magyarorsz<c3><a1>g</option><0a><option value="en-MY">Malaysia</option><0a><option value="en-MT">Malta</option><0a><option value="es-MX">M<c3><a9>xico</option><0a><option value="nl-NL">Nederland</option><0a><option value="en-NZ">New Zealand</option><0a><option value="en-NG">Nigeria</option><0a><option value="ja-JP">Nihon</option><0a><option value="no-NO">Norge</option><0a><option value="en-PH">Philippines</option><0a><option value="pl-PL">Polska</option><0a><option value="pt-PT">Portugual</option><0a><option value="ro-RO">Rom<c3><a2>nia</option><0a><option value="de-CH">Schweiz</option><0a><option value="en-SG">Singapore</option><0a><option value="sl-SI">Slovenija</option><0a><option value="sk-SK">Slovensko</option><0a><option value="en-ZA">South Africa</option><0a><option value="fi-FI">Suomi</option><0a><option value="sv-SE">Sverige</option><0a><option value="en-TH">Thailand</option><0a><option value="tr-TR">T<c3><bc>rkiye</option><0a><option value="en-US">USA</option><0a><option value="en-AE">United Arab Emirates</option><0a><option value="de-AT"><c3><96>sterreich</option><0a><option value="el-GR"><ce><95><ce><bb><ce><bb><ce><ac><ce><b4><ce><b1></option><0a><option value="bg-BG"><d0><91><d1><8a><d0><bb><d0><b3><d0><b0><d1><80><d0><b8><d1><8f></option><0a><option value="ru-KZ"><d0><9a><d0><b0><d0><b7><d0><b0><d1><85><d1><81><d1><82><d0><b0><d0><bd></option><0a><option value="ru-RU"><d0><a0><d0><be><d1><81><d1><81><d0><b8><d1><8f></option><0a><option value="sr-RS"><d0><a1><d1><80><d0><b1><d0><b8><d1><98><d0><b0></option><0a><option value="uk-UA"><d0><a3><d0><ba><d1><80><d0><b0><d1><97><d0><bd><d0><b0></option><0a><option value="zh-CN"><e4><b8><ad><e5><9b><bd><e5><a4><a7><e9><99><86></option><0a></select><0a><label>Country</label><0a></div><0a><p></p><0a><div class="center"><0a><button class="btn waves-effect waves-light miele-red"<0a>type="submit">Submit</button><0a></div><0a></form><0a></div><0a></div><0a></div><0a></body><0a></html>
2022.04.01 22:20:19 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:689) called
2022.04.01 22:20:19 5: MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:711) country for /oauth/auth is de-DE
2022.04.01 22:20:20 5: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:740) reply: err:, code:401, headers:HTTP/1.1 401 Unauthorized<0d><0a>Date: Fri, 01 Apr 2022 20:20:20 GMT<0d><0a>Content-Type: text/plain<0d><0a>Content-Length: 3289<0d><0a>Connection: close<0d><0a>Strict-Transport-Security: max-age=15724800; includeSubDomains<0d><0a>X-Environment: mcs-eu-prod-default<0d><0a>Access-Control-Allow-Origin: *<0d><0a>Access-Control-Allow-Credentials: true<0d><0a>Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS<0d><0a>Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization, data:<html lang="de"><0a><head><0a> <!--Import Google Icon Font--><0a> <!--Import materialize.css--><0a> <!--Import own css--><0a> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"><0a> <link type="text/css" rel="stylesheet" href="/assets/css/materialize.min.css?1556550173384"<0a> media="screen,projection"/><0a> <link type="text/css" rel="stylesheet" href="/assets/css/mieleStyle.css?1556550173387" media="screen,projection"/><0a> <!-- Suppress favicon request--><0a> <link rel="shortcut icon" type="image/x-icon"<0a> href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAUAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/EwCL/xMAjP8TAIv/EgCL/xIAi/8TAIv/EgCL/xMAi/8SAIv/EwCL/xIAi/8TAIv/FACM/xQAjP8UAIz/FwON/yYUlf8bCY//KBaW/ysZmP8tG5j/JhSV/y4dmf8mFJX/KxmX/ygVlv8tG5j/JxSV/xQAjP8UAIz/EwCM/x4Lkf+BdsH/nJPO/7Ot2v+aks7/s63a/6Wd0/+9t9//lo3M/7Wv2/+noNT/vbff/5mQzf8mFJX/EwCL/xMAjP8cCJD/qaLV/8C64P+9uN//mpLO/4+GyP9pXLX/hnvE/3Fluv+1rtv/iH/F/4B2wf9zaLv/HQqR/xMAjP8UAIz/FwOO/zMhm/8mFZX/JxaV/y0bmP8fDZL/FwWO/xIAi/8VBI3/MiCa/yIRk/8SAIv/EgCL/xMAjP8UAIz/FACM/xQAjP8SAIv/EwCL/xMAi/8SAIv/EwCM/xQAjP8UAIz/FACM/xIAi/8TAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/FACM/xQAjP8UAIz/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="><0a> <!--Let browser know website is optimized for mobile--><0a> <meta name="viewport" content="width=device-width, initial-scale=1.0"/><0a><0a> <!-- Compiled and minified JavaScript --><0a> <script src="/assets/js/materialize.min.js?1556550173386"></script><0a><0a> <meta charset="utf-8"><0a></head><0a><body id="mieleLoginSite"><0a><div class="container"><0a> <div class="row"><0a> <div class="col s12 m8 offset-m2 offset-l2 l8 center"><0a> <div><0a> <img class="responsive-img"<0a> src="/assets/images/miele_logo.svg" width="150" alt="miele.com"/><0a> </div><0a> <h1 class="mediumFont">Authentication failed!</h1><0a> <p>Please check your login details.</p><0a> <button class="btn waves-effect waves-light miele-red"<0a> onclick="location.replace(document.referrer)"<0a> >Back</button><0a> <p>After 5 seconds, you will be directed back to the Login automatically.</p><0a> </div><0a> </div><0a></div><0a></body><0a><script><0a> document.ready(<0a> window.setTimeout(function(){<0a> location.replace(document.referrer);<0a> }, 5000)<0a> );<0a></script><0a></html><0a>
2022.04.01 22:20:20 5: MieleConnection (MieleAtHome::MAH_scrapeGrantAccessPage:783) code not found
2022.04.01 22:20:20 2: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:763) Error: Bearer code not found, giving up
LG
Stephan
Hi,
Zitat von: wegms am 01 April 2022, 22:23:01
2022.04.01 22:20:20 5: MieleConnection (MieleAtHome::MAH_onOauthLoginReply:740) reply: err:, code:401, headers:HTTP/1.1 401 Unauthorized
Unauthorized klingt danach, dass einer der vier Daten fehlerhaft ist (login, passwort, clientId, clientSecret).
Ansonsten hab' ich jetzt erstmal keine Idee.
LG
Christian
Zitat von: bamm-bamm am 16 November 2021, 18:53:26
Soll heißem, NUR wenn ein Programm läuft, kann ich über FHEM Programm beenden, Pausieren, Maschine Ausschalten.
Wenn die Maschine aus ist, kann ich sie einschalten mit FHEM. Auswählbar bleibt in FHEM nur set ON. Über die Befehlszeile "set Spuehlmaschine off" geht sie aus.
Also kann über die API ausgeschaltet werden, das FHEM Modul zeigt die Funktion dann wohl nur nicht an.
Ist es denn auch möglich, eine Spülprogramm Auswahl einzubauen? Wie schaut es in dieser Hinsicht bei deiner Waschmaschine aus?
Gruß,
Andreas
Hallo Zusammen,
ich habe seit kurzem eine Miele Waschmaschine und hatte die Hoffnung, dass ich sie mit diesem Modul auch gezielt fernstarten kann, bspw. wenn PV-Überschuss vorhanden ist.
Nun habe ich das gleiche Verhalten wie von bamm-bamm geschildert: Die Maschine lässt sich seitens FHEM ein- oder ausschalten. Ein Waschprogramm lässt sich aktuell aber nur über die App auswählen und auch nur über diesen Weg kann ich einen Waschvorgang starten. Wenn das Waschprogramm läuft, kann anschließend in FHEM pausiert, gestoppt oder die Maschine ausgeschaltet werden.
Kann es daran liegen, dass meine Maschine vom Modul noch nicht unterstützt wird oder habe ich etwas falsch verstanden und es ist derzeit noch gar nicht möglich, ein Waschprogramm aus FHEM heraus zu starten?
Viele Grüße
Michael
Hi,
Zitat von: Ollifant am 13 April 2022, 00:16:33
Nun habe ich das gleiche Verhalten wie von bamm-bamm geschildert: Die Maschine lässt sich seitens FHEM ein- oder ausschalten. Ein Waschprogramm lässt sich aktuell aber nur über die App auswählen und auch nur über diesen Weg kann ich einen Waschvorgang starten. Wenn das Waschprogramm läuft, kann anschließend in FHEM pausiert, gestoppt oder die Maschine ausgeschaltet werden.
Ich weiss nicht mehr genau, wie es bei bamm-bamm war. Ich meine mich zu erinnern, dass es ein GUI-Problem war und ein reload der FHEM-Seite geholfen hat. Das Module entscheidet nicht selber, welche actions erlaubt sind, sondern verarbeitet nur die aus der API.
In `actions_processAction` kannst du gucken, welche aktiv sind, wenn sie eingeschaltet ist. Das sind die möglichen processActions:
possible actions out of
1 START
2 STOP
3 PAUSE
4 START SUPERFREEZING
5 STOP SUPERFREEZING
6 START SUPERCOOLING
7 STOP SUPERCOOLING
Leider ist es nicht möglich, das Waschprogramm zu konfigurieren, dass muss alles vorher passieren. Die Waschmaschine muss dann im Zustand "Fernsteuerbar" (oder so ähnlich) sein. Wenn Du sie mittels Miele-App fernstarten kannst, sollte es auch über fhem funktionieren.
LG
Christian
Zitat von: choenig am 13 April 2022, 11:23:16
In `actions_processAction` kannst du gucken, welche aktiv sind, wenn sie eingeschaltet ist. Das sind die möglichen processActions:
possible actions out of
1 START
2 STOP
3 PAUSE
4 START SUPERFREEZING
5 STOP SUPERFREEZING
6 START SUPERCOOLING
7 STOP SUPERCOOLING
Hallo Christian,
danke für die Rückmeldung. Ich hab das jetzt noch mal getestet und das Reading ist bei mir leer.
Verbose 5 gibt folgende Einträge im Log aus:
Waschmaschine Status Off:
2022.04.13 11:33:51 5: Miele_xxxx (MieleAtHome::MAH_onGetDeviceActionsReply:1149) reply: err:, code:200, data:{"processAction":[],"light":[],"ambientLight":[],"startTime":[],"ventilationStep":[],"programId":[],"targetTemperature":[],"deviceName":true,"powerOn":false,"powerOff":true,"colors":[],"modes":[]}
Waschmaschine Status On:
2022.04.13 11:37:36 5: Miele_xxxx (MieleAtHome::MAH_onGetDeviceActionsReply:1149) reply: err:, code:200, data:{"processAction":[],"light":[],"ambientLight":[],"startTime":[],"ventilationStep":[],"programId":[],"targetTemperature":[],"deviceName":true,"powerOn":false,"powerOff":true,"colors":[],"modes":[]}
Waschmaschine Status On + Mobile Start
2022.04.13 11:43:36 5: Miele_xxxx (MieleAtHome::MAH_onGetDeviceActionsReply:1149) reply: err:, code:200, data:{"processAction":[],"light":[],"ambientLight":[],"startTime":[],"ventilationStep":[],"programId":[],"targetTemperature":[],"deviceName":true,"powerOn":false,"powerOff":true,"colors":[],"modes":[]}
Sieht für mich so aus, als würde das Reading nicht gefüllt. Hab nach jedem Schritt den Browser aktualisiert, um eine mögliche Ursache mit der GUI auszuschließen.
Viele Grüße
Michael
Hi,
das ist wirklich strange. Aber gut schonmal, dass wir die fhem-gui ausschliessen können, aber das Log ist natürlich eindeutig :)
Ich vermute, dass `processAction` auch leer ist, wenn die Maschine läuft, richtig? Also du kannst sie auch nicht stoppen per fhem?
Kannst Du mir mal mitteilen, was das für einen WaMa ist? Am besten ein list der Readings, gerne per PN. Ich würde dann mal den Support anschreiben. Könnte sich aber über Ostern noch ziehen.
LG
Christian
Hi Christian,
Zitat
Ich vermute, dass `processAction` auch leer ist, wenn die Maschine läuft, richtig? Also du kannst sie auch nicht stoppen per fhem?
Wenn die Maschine läuft, wird das Reading gefüllt und ich bekomme die Aktionen pause und stop angezeigt. Bekommt man bei anderen Maschine bereits im eingeschalteten Zustand die Aktionen angezeigt oder auch nur wenn ein Programm läuft?
2022.04.13 13:32:36 5: Miele_xxxx (MieleAtHome::MAH_onGetDeviceActionsReply:1149) reply: err:, code:200, data:{"processAction":[2,3],"light":[],"ambientLight":[],"startTime":[],"ventilationStep":[],"programId":[],"targetTemperature":[],"deviceName":true,"powerOn":false,"powerOff":true,"colors":[],"modes":[]}
Wenn die Maschine aus bzw. an ist, kann ich sie grundsätzlich über set Befehle in der Kommandozeile oder im Device ein oder ausschalten. Das heisst die Kommunikation über das Modul mit der Maschine funktioniert aus meiner Sicht.
Viele Grüße
Michael
Hi Michael,
Zitat von: Ollifant am 14 April 2022, 10:17:04
Wenn die Maschine läuft, wird das Reading gefüllt und ich bekomme die Aktionen pause und stop angezeigt. Bekommt man bei anderen Maschine bereits im eingeschalteten Zustand die Aktionen angezeigt oder auch nur wenn ein Programm läuft?
So sieht es bei mir i.d.R. auch. Ich hab' jetzt mal mein Log durchgeschaut und auch solche komischen Zustände dazwischen (aber sehr selten):
full-2022-03-04.log:2022-03-04_23:55:54.608 KG.Keller.MieleWaschmaschine actions_processAction: 1,2
full-2022-03-04.log:2022-03-04_23:56:55.410 KG.Keller.MieleWaschmaschine actions_processAction: 1,2,3
Zitat von: Ollifant am 14 April 2022, 10:17:04
Wenn die Maschine aus bzw. an ist, kann ich sie grundsätzlich über set Befehle in der Kommandozeile oder im Device ein oder ausschalten. Das heisst die Kommunikation über das Modul mit der Maschine funktioniert aus meiner Sicht.
Ich werde es bei meiner nochmal ausprobieren, ob START überhaupt funktioniert. Wir benutzen das nämlich nicht. Da aber STOP und PAUSE funktioniert, ging ich bislang davon aus, dass das auch tut. Naja, ich melde mich, sobald die nächste Maschine gelaufen sein wird ...
LG
Christian
Hi Christian,
super, vielen Dank.
Start der Maschine wäre cool, wenn das Modul bzw. die API das hergibt.
Perspektivisch würde ich die Waschmaschine gerne bei PV-Überschuss triggern und hatte bereits probiert, ob ich alternativ nach dem Programmstart den Vorgang pausieren kann. Aber hier läuft das Programm nach ca. 10-15 Minuten dann automatisch weiter, da es nur zum Nachlegen der Wäsche dient. Ist für meinen Anwendungsfall daher nicht geeignet.
Viele Grüße
Michael
Hallo,
seit ca. 2 Wochen ist mein Log voll von
2022.04.16 19:52:12 3: Geschirrspueler (MieleAtHome::MAH_onGetDeviceActionsReply:1157) Error: code != 200: 401
2022.04.16 19:52:12 3: Geschirrspueler (MieleAtHome::MAH_onGetDeviceIdentAndStateReply:1008) Error: code != 200: 401
Und das für alle Geräte.
Ich dachte mir, das hat was mit den Credentials zu tun, und habe Login, Passwort, ClientID und ClientSecret neu gesetzt - nichts. Auch führt ein "get listDevices" zu einem leeren Pop-Up.
Ein neues "autocreate" hat mir dann zwei devices angelegt, einmal "Miele_code" und einmal "Miele_message". Interessanterweise funktioniet dort das "get listDevices" korrekt. Ich habe jedoch nirgends eine Erklärung für diese devices gefunden.
Das eigentliche MieleAtHome-Device ist wie oben beschrieben immer noch tot. Ich habe es komplett gelöscht, neu angelegt, habe ein fhem-Update gefahren, neugestartet... aber ich komme nicht weiter.
Kann mir bitte einer auf die Sprünge helfen, was es damit auf sich hat? Und wie bekomme ich meine Konfig wieder zum laufen?
Hier das List meines MieleAtHome-Devices:
Internals:
CFGFN
FUUID 625b[...anonymisiert...]dff1
HAS_MimeBase64 1
NAME MieleConnection
NR 2844
OAUTH2_ACCESS_TOKEN DE_50f5c[...anonymisiert...]49c1f0
OAUTH2_EXPIRES_AT 2022-04-23 18:55:20
OAUTH2_EXPIRES_IN 2592000
OAUTH2_REFRESH_TOKEN DE_b390a0[...anonymisiert...]832ab9a
STATE Initialized
TOKEN_REFRESH_IN_PROGRESS 0
TYPE MieleAtHome
VERSION 1.2.0
READINGS:
Attributes:
clientId 34ee[...anonymisiert...]
devStateIcon .*:noIcon
login c[...anonymisiert...]@gmx.net
room MieleAtHome
Hi Michael,
Zitat von: Ollifant am 14 April 2022, 13:35:27
super, vielen Dank.
Start der Maschine wäre cool, wenn das Modul bzw. die API das hergibt.
ich hatte heute Zeit, das mal auszuprobieren.
Ich habe leider auch keine Möglichkeit gefunden, die Maschine in einen Zustand zu versetzen, damit man dann per FHEM starten kann :(. Das Einzige was ging, war mittels Miele-App, da musste man dann aber auch noch das Programm auswählen. Als sie lief war dann auch Pause und Stopp möglich, als sie pausiert war, dann auch wieder Start.
Du könntest Dein Anliegen mal an developer@miele.com schreiben, vielleicht erhöht das die Chance, dass es irgendwann möglich wird. Wenn es eine Änderung gibt, erweitere ich das Modul natürlich. Mir haben die da immer schnell und freundlich geantwortet.
LG
Christian
Hi Zife,
Zitat von: zife am 16 April 2022, 20:25:35
seit ca. 2 Wochen ist mein Log voll von
2022.04.16 19:52:12 3: Geschirrspueler (MieleAtHome::MAH_onGetDeviceActionsReply:1157) Error: code != 200: 401
2022.04.16 19:52:12 3: Geschirrspueler (MieleAtHome::MAH_onGetDeviceIdentAndStateReply:1008) Error: code != 200: 401
Und das für alle Geräte.
Ich dachte mir, das hat was mit den Credentials zu tun, und habe Login, Passwort, ClientID und ClientSecret neu gesetzt - nichts. Auch führt ein "get listDevices" zu einem leeren Pop-Up.
Ein neues "autocreate" hat mir dann zwei devices angelegt, einmal "Miele_code" und einmal "Miele_message". Interessanterweise funktioniet dort das "get listDevices" korrekt. Ich habe jedoch nirgends eine Erklärung für diese devices gefunden.
Das eigentliche MieleAtHome-Device ist wie oben beschrieben immer noch tot. Ich habe es komplett gelöscht, neu angelegt, habe ein fhem-Update gefahren, neugestartet... aber ich komme nicht weiter.
Sowas habe ich noch nie gesehen. Heissen die zwei Devices wirklich "Miele_code" und "Miele_message"? Da scheint dann wohl wirklich was richtig schief zu gehen.
Um sicherzugehen, dass nix an den Credentials schiefgeht, könntest Du alles, was sich auf MieleAtHome bezieht aus der Datei
FHEM/FhemUtils/uniqueID löschen, nachdem Du das Device gelöscht hast (falls dann noch was übrig wär). Möglicherweise funktionierten auch deine ClientId und ClientSecret nicht mehr, Du könntest ein neues generieren und damit testen.
Ansonsten habe ich jetzt keine Idee, ich würde aber nächste Woche mit Dir weiter forschen und gucken, was da schiefläuft.
LG
Christian
Ja, in der Tat, so heissen sie :D
Ich stelle hier noch ein list der beiden ein, bevor ich alle Miele-Devices nochmal lösche. Vielleicht hilft es beim Sezieren 8)
Das Verrückte ist, dass beide Devices ansonsten identisch zu sein scheinen, und auch die fhemweb Befehle sind identisch zum eigentlichen MieleAtHome Device.
Was gegen einen Credential-Fehler spricht: wenn man über eines von den sonderbaren Devices ein autocreate auslöst, erscheinen die Geräte korrekt mitsamt Status ???
list vom "Miele_code"
Internals:
CFGFN
DEF code@MieleConnection
DEVICE_ID code@MieleConnection
FUUID 625b[...anonymisiert...]2e
HAS_MimeBase64 1
INTERVAL 120
NAME Miele_code
NR 2850
OAUTH2_ACCESS_TOKEN DE_b833[...anonymisiert...]4
OAUTH2_EXPIRES_AT 2022-05-13 22:44:15
OAUTH2_EXPIRES_IN 2592000
OAUTH2_REFRESH_TOKEN DE_a49f[...anonymisiert...]ad
STATE Initialized
TYPE MieleAtHome
VERSION 1.2.0
READINGS:
Attributes:
comment Auto-created by MieleConnection
devStateIcon .*:noIcon
room MieleAtHome
und vom "Miele_message":
Internals:
CFGFN
DEF message@MieleConnection
DEVICE_ID message@MieleConnection
FUUID 625b[...anonymisiert...]c3
HAS_MimeBase64 1
INTERVAL 120
NAME Miele_message
NR 2851
OAUTH2_ACCESS_TOKEN DE_f965[...anonymisiert...]2
OAUTH2_EXPIRES_AT 2022-05-13 22:47:09
OAUTH2_EXPIRES_IN 2592000
OAUTH2_REFRESH_TOKEN DE_9b7ae[...anonymisiert...]ad
STATE Initialized
TYPE MieleAtHome
VERSION 1.2.0
READINGS:
Attributes:
comment Auto-created by MieleConnection
devStateIcon .*:noIcon
room MieleAtHome
Zitat von: choenig am 17 April 2022, 13:39:25
Ansonsten habe ich jetzt keine Idee, ich würde aber nächste Woche mit Dir weiter forschen und gucken, was da schiefläuft.
Also, für's Erste scheint die komplette Bereinigung und Neuinstallation erfolgreich gewesen zu sein - mit den bestehenden ClientID und ClientSecret. Packen wir also die o.g. Geräte "Miele_code" und "Miele_message" mal in die Kuriositäten-Ecke - es sei denn, Du magst dazu den ein oder anderen Test fahren, dann helfe ich gern.
Zitat von: choenig am 17 April 2022, 13:29:50
Hi Michael,
ich hatte heute Zeit, das mal auszuprobieren.
Ich habe leider auch keine Möglichkeit gefunden, die Maschine in einen Zustand zu versetzen, damit man dann per FHEM starten kann :(. Das Einzige was ging, war mittels Miele-App, da musste man dann aber auch noch das Programm auswählen. Als sie lief war dann auch Pause und Stopp möglich, als sie pausiert war, dann auch wieder Start.
Du könntest Dein Anliegen mal an developer@miele.com schreiben, vielleicht erhöht das die Chance, dass es irgendwann möglich wird. Wenn es eine Änderung gibt, erweitere ich das Modul natürlich. Mir haben die da immer schnell und freundlich geantwortet.
LG
Christian
Hi Christian,
Danke für's nachforschen und vergleichen. Ich schreibe die Entwickler wie von dir vorgeschlagen an, vielleicht kommt das ja wirklich irgendwann auf deren Todo Liste.
Viele Grüße
Michael
Moin zusammen,
ich bekomme nächste Woche meine neue Küche geliefert und alle Geräte haben das Miele@Home verbaut.
- Kühlschrank mit 0 Grad und Froster
- Dampfgarer mit Mikrowelle
- Backofen
- Kochfeld
- Spülmaschine
- Wäschetrockner
- Waschmaschine
Gibt es irgendwo eine Übersicht, welche Geräte mit welchen Funktionen unterstützt werden, und welche Statusinformationen man bei den Geräten mit fhem abfragen kann?
Danke und Gruß,
Spartacus
Zitat von: Spartacus am 27 April 2022, 13:22:25
Gibt es irgendwo eine Übersicht, welche Geräte mit welchen Funktionen unterstützt werden, und welche Statusinformationen man bei den Geräten mit fhem abfragen kann?
Danke und Gruß,
Spartacus
Hier im Thread. Ich hatte mal eine entsprechende Übersicht von Miele gepostet. Und natürlich immer aktuelle bei Miele: https://www.miele.com/developer/capabilities.html. Findet man sehr schnell über googeln :-)
Grüße Jörg
Hi Spartacus,
Zitat von: Spartacus am 27 April 2022, 13:22:25
ich bekomme nächste Woche meine neue Küche geliefert und alle Geräte haben das Miele@Home verbaut.
- Kühlschrank mit 0 Grad und Froster
- Dampfgarer mit Mikrowelle
- Backofen
- Kochfeld
- Spülmaschine
- Wäschetrockner
- Waschmaschine
Du wirst uns eine breite Datenbasis liefern können mit Deiner Ausstattung. ;)
Willkommen im Thread, mein Freund :).
LG
Christian
Hallo Christian,
vielen Dank für Willkommensgrüße, ich werde sehr gerne unterstützen, aber bitte gib mir noch etwas Zeit, bis ich den Kram ins SmartHome aufnehme. Es gibt vorher noch ein paar andere Baustellen, denn nicht nur die Küchengeräte sind neu! Die gesamte Beleuchtung im Wohnbereich und in der Küche muss noch programmiert werden.
Ich melde mich, sobald die Geräte online sind!
Schon mal vielen Dank und bis bald,
Spartacus
Hallo Christian,
heute habe ich folgende Antwort vom Miele 3rd Party API Team erhalten.
Zitat
Hallo Michael,
vielen Dank Dein positives Feedback, das freut uns sehr.
Die Frage nach der Steuerbarkeit von unseren Geräten, insbesondere Geschirrspüler, Waschmaschine und Trockner erreicht uns in letzter Zeit öfters. Tatsächlich ist das auch über die 3rd Party API möglich, allerdings ist der Usecase aktuell etwas anders angelegt. Er sieht wie folgt aus:
Der Nutzer belädt das Gerät, wählt eine Start- oder Endzeit innerhalb der nächsten 24 Stunden und betätigt die Starttaste am Gerät
Das Gerät wartet auf einen ,,Remote-Start". Erfolgt dieser nicht bis zur vorgegebenen Start- oder Endzeit, startet das Gerät selbst um passend fertig zu sein.
Die Smart Home Anwendung kann vor Ablauf der Start- oder Endzeit das Gerät starten.
Wir hoffen, wir konnten Dir mit dieser Erklärung helfen.
Dazu wurde das im Anhang bereitgestellte Ablaufdiagramm (image001.png) bereitgestellt.
Für einen schnellen Test nun mal eben die WaMa angeworfen, Programm ausgewählt, Start Timer auf Zeit in der Zukunft (18h) gestellt, Tür geschlossen und Start an der WaMa gedrückt. Damit ist die WaMa nun remote zu bedienen und in FHEM stehen nach dem nächsten Update Intervall die Aktionen "Start, Stop, Pause, Off" zur Verfügung.
Auf der Basis kann ich nun aufsetzen, um einen Start bei überschüssiger PV zu triggern. Wenn ich soweit bin, werde ich das für alle Interessierten auch mal bereitstellen / verlinken.
Viele Grüße
Michael
Zitat von: Ollifant am 02 Mai 2022, 13:01:23
Hallo Christian,
heute habe ich folgende Antwort vom Miele 3rd Party API Team erhalten.
Dazu wurde das im Anhang bereitgestellte Ablaufdiagramm (image001.png) bereitgestellt.
Für einen schnellen Test nun mal eben die WaMa angeworfen, Programm ausgewählt, Start Timer auf Zeit in der Zukunft (18h) gestellt, Tür geschlossen und Start an der WaMa gedrückt. Damit ist die WaMa nun remote zu bedienen und in FHEM stehen nach dem nächsten Update Intervall die Aktionen "Start, Stop, Pause, Off" zur Verfügung.
Auf der Basis kann ich nun aufsetzen, um einen Start bei überschüssiger PV zu triggern. Wenn ich soweit bin, werde ich das für alle Interessierten auch mal bereitstellen / verlinken.
Viele Grüße
Michael
Ich nutze das Feature schon seit ein paar Jahren mit unserer WCR870 und unserer PV-Anlage. Einfach morgens den spätestens Termin eintragen, also bis wann soll die Maschine fertig sein wenn kein PV-Signal kommt. Dann per DOIF den PV Überschuss beobachten und dann per "set Miele_xxxxxx start" die WM fernstarten.
Hallo zusammen,
ich habe heute folgende Geräte erfolgreich in fhem eingebunden:
- Backofen H7660BP
- Dampfgarer mit Mikrowelle: DGM7640
- Geschirrspüler: G7665
- Kühlschrank: K 7474 D
- Wäschetrockner: TSJ663WP
Das Induktionsfeld ist noch nicht montiert. Kommt nächste Woche hinzu. Die Waschmaschine ist offenbar zu alt und hat noch kein Miele@home. Vielleicht kann man es nachrüsten.
Die ersten Versuche zeigen,
- Backofen: Power ein-/ausschalten, Licht ein/aus
- Dampfgarer: Power ein-/ausschalten, Licht ein/aus
- Spülmaschine: Power einschalten
- Wäschetrockner: Power ein-/ausschalten.
- Kühlschrank: SuperCooling ein-/ausschalten
Was soll beim Kühlschrank die Funktion "tagetTemperature_zone1" bewirken. stelle ich darüber die Kühltemperatur ein? Wenn ja, dann funktioniert das bei mir nicht.
Das Licht in der Spülmaschine lässt sich nicht schalten und man kann die Spülmaschine auch nicht ausschalten.
Programme starten oder stoppen, kann man bei keinem Gerät, ich bekomme aber jede Menge Daten geliefert.
Wenn ich etwas testen soll, dann bitte kurz Bescheid geben. Ich bin zwar immer noch im Renovierungsstress, aber soweit möglich, unterstütze gerne.
Spartacus
Hallo Spartacus,
bei mir kann ich die Temperatur damit einstellen. Ich habe allerdings einen KF 7772 B.
Viele Grüße
Jürgen
Hi Jürgen,
nee, das klappt bei mir nicht. Der Kühlschrank reagier darauf überhaupt nicht.
Hier ein List:
Internals:
DEF 000712060061@Miele
DEVICE_ID 000712060061
FUUID 62728e36-f33f-d9cb-ef9e-f41dda6113cfb953
HAS_MimeBase64 1
INTERVAL 120
IODevName Miele
NAME Miele_000712060061
NR 247
STATE In use (21:15)
TYPE MieleAtHome
VERSION 1.2.0
READINGS:
2022-05-04 21:15:36 actions_deviceName 1
2022-05-04 21:15:36 actions_light
2022-05-04 21:15:36 actions_modes 1
2022-05-04 21:15:36 actions_powerOff 1
2022-05-04 21:15:36 actions_powerOn 0
2022-05-04 21:15:36 actions_processAction 6
2022-05-04 21:15:36 actions_programId
2022-05-04 21:15:36 actions_startTime
2022-05-04 21:15:36 actions_targetTemperature 1[1,9]
2022-05-04 21:15:36 actions_ventilationStep
2022-05-04 21:15:36 communicationModuleReleaseVersion 32.21
2022-05-04 21:15:36 communicationModuleTechType EK037LHBM
2022-05-04 21:15:36 deviceHardwareFabIndex 00
2022-05-04 21:15:36 deviceHardwareFabNumber 000712060061
2022-05-04 21:15:36 deviceHardwareMatNumber 11641360
2022-05-04 21:15:36 deviceHardwareTechType K 7474 D
2022-05-04 21:15:36 deviceName
2022-05-04 21:15:36 deviceType Refrigerator
2022-05-04 21:15:36 dryingStep
2022-05-04 21:15:36 elapsedTime 0:00
2022-05-04 21:15:36 eta 21:15
2022-05-04 21:15:36 etaHR +0:00
2022-05-04 21:15:36 programID
2022-05-04 21:15:36 programPhase
2022-05-04 21:15:36 programType Program
2022-05-04 21:15:36 remainingTime 0:00
2022-05-04 21:15:36 remoteEnableFullRC 1
2022-05-04 21:15:36 remoteEnableSmartGrid 0
2022-05-04 21:15:36 signalDoor 0
2022-05-04 21:15:36 signalFailure 0
2022-05-04 21:15:36 signalInfo 0
2022-05-04 21:15:36 startTime 0:00
2022-05-04 21:15:36 state In use (21:15)
2022-05-04 21:15:36 status In use
2022-05-04 21:15:36 statusRaw 5
2022-05-04 21:15:36 targetTemperature 6
2022-05-04 21:15:36 temperature 6
2022-05-04 21:15:36 ventilationStep
Attributes:
alias Kühlschrank
comment Auto-created by Miele
devStateIcon .*:noIcon
room MieleAtHome
Hi,
hat jemand eine Idee, wie man die Anzahl der Spülgänge bei der Spülmaschine mitzählen kann? Hintergrund ist, ich würde gerne wissen, wieviel Spülgänge diese Powerdisk so schafft!
Hat jemand eine Idee, für einen Ansatz?
Spartacus
Zitat von: Spartacus am 12 Mai 2022, 13:32:13
Hi,
...die Anzahl der Spülgänge...
Hat jemand eine Idee, für einen Ansatz?
Spartacus
nicht das ich es im Einsatz hätte - aber beim Lesen im Forum drüber gestolpert: Modul monitoring?
Hi det.
danke für den Tipp, dann müsste ich mal schauen, welche Events ich da am Besten auswerte. Spontan fällt mir dazu jetzt nix ein...
Spartacus
es gibt da doch eine lange Liste von Readings - wie wäre es mit programPhase
Moin zusammen,
ich habe heute wieder die Erinnerungsmail von Miele bekommen, das ich wohl ungewöhnlich hohe token refreshes habe. Komisch.
Vielen dank für das Modul,
die Einbindung der Waschmaschine funktioniert sehr gut.
Grüße
Jens
Hallo Zusammen,
auch von meiner Seite vielen Dank! Habe gestern meine Waschmaschine ohne Probleme innerhalb kürzester Zeit einbinden können. Top!
Meine Frage in die Runde: Hat sich schon jemand mal Gedanken gemacht, wie man eine Historie über Programme, Verbräuche und Laufzeiten erstellt? Mein Ansatz wäre Status-Änderungen bei "Status" und ggf. noch feiner bei "programPhase" einen Snapshot aller relevanten Werte (programID, spinningSpeed, ecoFeedback..., etc.) in eine separate Logdatei zu schreiben und die dann z.B. als Excel Input für allerlei Pivotisierungen zu nutzen. Die Miele App liefert zwar auch eine "Historie" allerdings nur über die letzten 5 Wäschen, das ist doch eher sehr rudimentär...
Guten Morgen,
ich habe schon vor geraumer Zeit die event-API im Miele Modul implementiert und nutze sie bereits seit 9 Monaten. Am Anfang war es hakelig, jetzt scheint es aber gut zu laufen.
Im Anhang findet ihr die Version zum Testen.
Um die event-API statt `poll` zu verwenden, müsst ihr zur Zeit in jedem Miele-Device (nicht im Miele-Gateway-Device) das Attribut `api` auf `event` stellen. Es wird dann on-the-fly umgestellt.
@TomSH: Da ist auch das Reading `mobileStart` drin.
Moin,
ich probiere gerade die Version mit Event API aus. Ich habe das Gateway und die Waschmaschine auf API event umgestellt.
Die Events werden gepusht, das funktioniert sehr gut.
Ein Fehlverhalten hier, das Reading programPhase für eine Waschmaschine wird nicht aktualisiert und bleibt leer.
Grüße
Jens
Moin,
nächste Wäsche, jetzt wird das Reading programPhase wieder befüllt. Warum vorher nicht und jetz schon weiß ich nicht. Geändert habe ich nichts.
Grüße
Jens
Hi dyna,
danke für das Feedback.
Der Code für die readings ist identisch, egal ob poll oder event API. Wenn da was fehlt, würde ich denken, dass es nicht gesendet wurde. Kann aber natürlich immer ein Bug im Modul sein :)
Wenn das wiederholt auftritt, kannst du ja mal verbose hochsetzen und im Log nachsehen, ob es fehlt oder nicht.
LG
Christian
PS: Ich habe keine Eile, das einzuchecken, wir können als gerne zusammen noch ne Zeit lang testen.
Hallo zusammen,
ich nutze auch seit gestern die API Version. Auch bei mir funktioniert es sehr gut. Habe jetzt auch keine Timeouts mehr vom Modul im Log :-)
Moin,
bei allen weiteren Wäschen gab es keine Auffälligkeiten. Top.
Danke für Deine Arbeit.
Grüße
Jens
Hallo Christian,
ich habe folgende Einträge im Logfile:
2023.04.07 17:35:35 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1342.
2023.04.07 17:35:35 1: stacktrace:
2023.04.07 17:35:35 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1342)
2023.04.07 17:35:35 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1047)
2023.04.07 17:35:35 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.04.07 17:35:35 1: main::__ANON__ called by fhem.pl (781)
2023.04.07 17:35:35 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1342.
2023.04.07 17:35:35 1: stacktrace:
2023.04.07 17:35:35 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1342)
2023.04.07 17:35:35 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1047)
2023.04.07 17:35:35 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.04.07 17:35:35 1: main::__ANON__ called by fhem.pl (781)
Ist aus meiner Sicht aber eher kosmetischer Natur. Vielleicht kannst Du trotzden die Ursache finden und bereinigen.
Viele Grüße
Jürgen
Hi,
ich glaube, dass diese zwei Warnungen in der aktuellen Version, die hier im Thread zu finden, aber noch nicht eingecheckt ist, bereits gefixt sind.
Ich werde mal gucken, die neue Version in den nächsten Tagen einzuchecken, vielleicht lässt mir der Osterhase was Zeit ;)
LG
Christian
Hallo Christian,
mit der letzten Version (2.0.0-a1) bekomme ich bei meinem Ubuntu-Testsystem diese Meldung (hatte ich vorher aber auch schon)
2023.04.09 14:56:01 1: PERL WARNING: Code point 0xFFFFFFFF is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/([\x{00}-\x{1f}\x{7f}-\x{ffffffff} <-- HERE ])/ at ./FHEM/48_MieleAtHome.pm line 2305, <$fh> line 2844.
Die anderen Meldungen sind weg.
Viele Grüße und frohe Ostern
Jürgen
Hi,
ich kann das Problem bei mir leider nicht reproduzieren. Könntest Du mal probieren, in der angegebenen Zeile aus
\x{ffffffff}
ein
\x{7fffffff}
zu machen und zu gucken, ob das das Problem beseitigt?
LG
Christian
Hallo Christian,
nach dieser Änderung kommt die Meldung nicht mehr.
Viele Grüße
Jürgen
Hi Christian,
könntest Du Dein aktuelles Modul mit der Korrektur dann einchecken? Danke für Deine Unterstützung.
Viele Grüße
Jürgen
Ich bekomme auch gelegentlich ein Fehler...
2023.04.20 15:06:22 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.04.20 15:06:22 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
Gruß
Mike
Hi,
hab' Version 2.1.0 eingecheckt, sollte ab morgen verfügbar sein.
Neu ist das Attribut "api".
Es unterstützt "poll" und "event".
"poll" ist immer noch default und entspricht dem alten regelmäßigen polling.
"event" ist neu und verbindet per server-sent-events und bekommt die Updates daher on-the-fly, ohne polling.
LG
Christian
Danke
Viele Grüße
Jürgen
Moin,
ich muss das leider das Bearer Problem aus einem anderen Thread nochmal aufgreifen.
Update: Daten sind auch beim Miele Dev-Login direkt ungültig, kein Modul-Problem
Hallo Christian,
ich habe heute festgestellt, dass ich die Termperaturen meiner Kühl-/Gefrierkombination nicht mehr über FHEM steuern kann. Es wird die neue Temperatur nicht ans Gerät übertragen. Wenn ich die Temperatur über die App ändere, kommt diese aber in FHEM an Hier die Log-Daten:
2023.07.09 19:34:19 5: Miele_000712292377 (MieleAtHome::MAH_eventSourceKeepAlive:787) called
2023.07.09 19:34:19 5: Miele_000712292377 (MieleAtHome::MAH_eventSourceDispatch:732) received reply, headers:HTTP/1.1 200 OK<0d><0a>Date: Sun, 09 Jul 2023 17:28:19 GMT<0d><0a>Content-Type: text/event-stream<0d><0a>Transfer-Encoding: chunked<0d><0a>Connection: keep-alive<0d><0a>Content-Encoding: identity<0d><0a>Content-Language: de<0d><0a>X-Environment: mcs-eu-prod-std<0d><0a>Cache-Control: no-cache, no-transform<0d><0a>Strict-Transport-Security: max-age=15724800; includeSubDomains<0d><0a>Access-Control-Allow-Origin: *<0d><0a>Access-Control-Allow-Credentials: true<0d><0a>Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS<0d><0a>Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization<0d><0a>Access-Control-Max-Age: 1728000, data:event: ping<0a>data: ping<0a><0a>
2023.07.09 19:34:19 5: Miele_000712292377 (MieleAtHome::MAH_updateEventSourceReadings:830) called
2023.07.09 19:34:19 5: Miele_000712292377 (MieleAtHome::MAH_eventSourceDispatch:762) ping >> ping
2023.07.09 19:34:38 5: Miele_000712292377 (MieleAtHome::MAH_sendSetActionRequest:1855) called with action {"targetTemperature":[{"zone": 1, "value": 5}]}
2023.07.09 19:34:38 4: Miele_000712292377 (MieleAtHome::MAH_getAccessToken:1991) found local token with remaining lifetime of 2430264.80766797 seconds
2023.07.09 19:34:38 5: Miele_000712292377 (MieleAtHome::MAH_onSetActionReply:1890) received reply, code:204, headers:HTTP/1.1 204 No Content<0d><0a>Date: Sun, 09 Jul 2023 17:34:38 GMT<0d><0a>Content-Type: application/octet-stream<0d><0a>Connection: close<0d><0a>access-control-allow-credentials: true<0d><0a>access-control-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization<0d><0a>access-control-allow-methods: PUT, GET, POST, OPTIONS<0d><0a>access-control-allow-origin: *<0d><0a>access-control-max-age: 1728000<0d><0a>Strict-Transport-Security: max-age=15724800; includeSubDomains<0d><0a>x-environment: mcs-eu-prod-std<0d><0a>x-environment: mcs-eu-prod-default
2023.07.09 19:34:39 5: Miele_000712292377 (MieleAtHome::MAH_eventSourceDispatch:732) received reply, headers:HTTP/1.1 200 OK<0d><0a>Date: Sun, 09 Jul 2023 17:28:19 GMT<0d><0a>Content-Type: text/event-stream<0d><0a>Transfer-Encoding: chunked<0d><0a>Connection: keep-alive<0d><0a>Content-Encoding: identity<0d><0a>Content-Language: de<0d><0a>X-Environment: mcs-eu-prod-std<0d><0a>Cache-Control: no-cache, no-transform<0d><0a>Strict-Transport-Security: max-age=15724800; includeSubDomains<0d><0a>Access-Control-Allow-Origin: *<0d><0a>Access-Control-Allow-Credentials: true<0d><0a>Access-Control-Allow-Methods: PUT, GET, POST, OPTIONS<0d><0a>Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization<0d><0a>Access-Control-Max-Age: 1728000, data:event: ping<0a>data: ping<0a><0a>
2023.07.09 19:34:39 5: Miele_000712292377 (MieleAtHome::MAH_updateEventSourceReadings:830) called
2023.07.09 19:34:39 5: Miele_000712292377 (MieleAtHome::MAH_eventSourceDispatch:762) ping >> ping
2023.07.09 19:34:43 4: Miele_000712292377 (MieleAtHome::MAH_getAccessToken:1991) found local token with remaining lifetime of 2430259.2077179 seconds
Hast Du eine Idee?
Viele Grüße
Jürgen
Hi Jürgen,
der Ausschnitt sieht ja eigentlich gut aus. 204 klingt auch erfolgreich. Hast Du 'ne Idee, ob das mit meinem letzen Release angefangen hat oder evtl. mit einem letzen update auf Miele Seite?
Die Doku beschreibt targetTemperature exakt wie es bei Dir geschickt wird.
Wenn möglich, könntest Du die alte Version des Miele-Moduls ausprobieren, ich denke aber eigentlich nicht, dass ich das kaputt gemacht habe ;).
LG
Christian
Hallo Christian,
ich glaube, dass es mit dem letzten Update auf dem Miele-Server zusammen hängt.
Ich teste aber auch noch einmal deine alte Version.
Viele Grüße
Jürgen
Hallo Christian,
ich habe nun noch ein wenig getestet und folgende Ergebnisse erzielt:
Aktuelle Version (2.1.0):
- Temperatur (1 und 2) nicht veränderbar.
- Einschalten/Ausschalten "StartSuperColling" funktioniert.
- Einschalten/Ausschalten "StartSuperFreezing" funktioniert.
- Einschalten/Ausschalten "mode" "sabbathMode" funktioniert.
- Änderung der Temperatur "targetTemperature_zone1/2" funktioniert nicht.
Version 1.1.1:
- Das Einstellen der Temperatur ist nicht möglich.
Viele Grüße
Jürgen
Hallo Christian,
heute habe ich ein weiteres Problem entdeckt.
Bei fehlenden Internetzugang wird das Logfile mit dem Eintrag "...(MieleAtHome::MAH_eventSourceDispatch:737) Error: DNS: Short DNS answer" mehrmals pro Minute vollgeschrieben. Verbose steht schon auf 1.
Kannst Du das etwas "optimieren"?
Die Änderung der Temperatur geht auch noch nicht.
Viele Grüße
Jürgen
Dieses spannende Modul probiere ich nun seit zwei Wochen mit unserem Kochfeld aus und es funktioniert prima mit dieser Ausnahme: Ich erhalte im zentalen Log diese Fehlermeldungen:
2023.08.07 07:58:40 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.08.07 07:58:40 1: stacktrace:
2023.08.07 07:58:40 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1648)
2023.08.07 07:58:40 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1333)
2023.08.07 07:58:40 1: main::MAH_updateDeviceReadings called by ./FHEM/48_MieleAtHome.pm (1280)
2023.08.07 07:58:40 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.08.07 07:58:40 1: main::__ANON__ called by fhem.pl (781)
2023.08.07 07:58:40 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.08.07 07:58:40 1: stacktrace:
2023.08.07 07:58:40 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1648)
2023.08.07 07:58:40 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1333)
2023.08.07 07:58:40 1: main::MAH_updateDeviceReadings called by ./FHEM/48_MieleAtHome.pm (1280)
2023.08.07 07:58:40 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.08.07 07:58:40 1: main::__ANON__ called by fhem.pl (781)
2023.08.07 07:59:22 1: OWXMULTI_BinValues: TF_Galerie: VAD not different from VDD
2023.08.07 08:00:37 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.08.07 08:00:37 1: stacktrace:
2023.08.07 08:00:37 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1648)
2023.08.07 08:00:37 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1333)
2023.08.07 08:00:37 1: main::MAH_updateDeviceReadings called by ./FHEM/48_MieleAtHome.pm (1280)
2023.08.07 08:00:37 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.08.07 08:00:37 1: main::__ANON__ called by fhem.pl (781)
2023.08.07 08:00:37 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.08.07 08:00:37 1: stacktrace:
2023.08.07 08:00:37 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1648)
2023.08.07 08:00:37 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1333)
2023.08.07 08:00:37 1: main::MAH_updateDeviceReadings called by ./FHEM/48_MieleAtHome.pm (1280)
2023.08.07 08:00:37 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.08.07 08:00:37 1: main::__ANON__ called by fhem.pl (781)
2023.08.07 08:02:38 1: PERL WARNING: Use of uninitialized value $hour in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.08.07 08:02:38 1: stacktrace:
2023.08.07 08:02:38 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1648)
2023.08.07 08:02:38 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1333)
2023.08.07 08:02:38 1: main::MAH_updateDeviceReadings called by ./FHEM/48_MieleAtHome.pm (1280)
2023.08.07 08:02:38 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.08.07 08:02:38 1: main::__ANON__ called by fhem.pl (781)
2023.08.07 08:02:38 1: PERL WARNING: Use of uninitialized value $minute in sprintf at ./FHEM/48_MieleAtHome.pm line 1648.
2023.08.07 08:02:38 1: stacktrace:
2023.08.07 08:02:38 1: main::__ANON__ called by ./FHEM/48_MieleAtHome.pm (1648)
2023.08.07 08:02:38 1: main::MAH_formatTime called by ./FHEM/48_MieleAtHome.pm (1333)
2023.08.07 08:02:38 1: main::MAH_updateDeviceReadings called by ./FHEM/48_MieleAtHome.pm (1280)
2023.08.07 08:02:38 1: main::MAH_onGetDeviceIdentAndStateReply called by FHEM/HttpUtils.pm (755)
2023.08.07 08:02:38 1: main::__ANON__ called by fhem.pl (781)
Was kann ich tun?
Herzliche Grüße
Christian
Hallo zusammen,
@Jürgen: Ich habe es endlich mal geschafft, eine eMail an Miele zu schicken, mal sehen, was sie sagen. Zu dem DNS-Fehler kann ich nicht wirklich was sagen, da habe ich keine Idee.
@Christian: Die Warnung habe ich jetzt endlich mal gefixt, sollte morgen im Update sein.
LG
Christian
Hi,
Zitat von: choenig am 27 August 2023, 10:07:13@Jürgen: Ich habe es endlich mal geschafft, eine eMail an Miele zu schicken, mal sehen, was sie sagen.
ich habe folgende Antwort erhalten:
Hallo Christian,
vielen Dank für Deine Mail. Deine Vermutung ist richtig, bei der Vielzahl der Kühlschrankmodelle läuft hier ein Pfad aktuell ins Leere. Wir arbeiten daran, das mit dem nächsten internen Release alles wieder wie vorher läuft.
LG
Christian
Hallo Christian,
vielen lieben Dank für das Kümmern. Mal sehen, wie lange Miele für die KOrrektur benötigt.
Viele Grüße
Jürgen
Hi Christian,
nun habe ich 12 Stunden stacktrace laufen lassen und kann bestätigen: MieleAtHome verhält sich bezüglich Fehlermeldung stubenrein! Auch die Systembelastung ist mit dem Aktivieren der neuen Version eindeutig etwas zurückgegangen.
Vielen Dank für Deine Arbeit und die Korrektur.
Auch der Geschirrspüler wird gut abgebildet, allerdings habe ich entgegen der Miele-App nicht die Möglichkeit, ein Spülprogramm auszuwählen. Brauchst Du da von mir irgendwelche Traces oder Verbose-5-Listings?
Herzliche Grüße
Christian
Zitat von: choenig am 29 August 2023, 12:59:08Hi,
Zitat von: choenig am 27 August 2023, 10:07:13@Jürgen: Ich habe es endlich mal geschafft, eine eMail an Miele zu schicken, mal sehen, was sie sagen.
ich habe folgende Antwort erhalten:
Hallo Christian,
vielen Dank für Deine Mail. Deine Vermutung ist richtig, bei der Vielzahl der Kühlschrankmodelle läuft hier ein Pfad aktuell ins Leere. Wir arbeiten daran, das mit dem nächsten internen Release alles wieder wie vorher läuft.
LG
Christian
Hallo Christian,
das Problem wurde von Miele behoben. Man kann nun über die API wieder die Temperatur einstellen. Nochmals Danke für Deine Unterstützung.
Viele Grüße
Jürgen
Hallo zusammen,
ich habe heute meinen Geschirrspüler über das Modul eingebunden. Hat nach keinen Schwierigkeiten gut geklappt.
Jedoch sind die Set commands sehr eingeschränkt. (Einschalten und Update der Werte)
Wenn ich so durch die API schaue Link (https://www.miele.com/developer/swagger-ui/#/Actions/putActionsById) könnte da noch mehr gehen.
Könnt mir jemand einen Tip geben wie ich da versuchen kann was einzubauen ?
So sieht der Geschirrspüler gerade aus:
define Miele_000105791234 MieleAtHome 000105791234@MieleConnection
attr Miele_000105791234 comment Auto-created by MieleConnection
attr Miele_000105791234 devStateIcon .*:noIcon
attr Miele_000105791234 room MieleAtHome
# CFGFN
# DEF 000105791234@MieleConnection
# DEVICE_ID 000105791234
# FUUID 65230753-f33f-8ce7-a026-cd9d641894c8707c
# HAS_MimeBase64 1
# INTERVAL 120
# IODevName MieleConnection
# NAME Miele_000105791234
# NR 79410
# STATE Off (-:-)
# TYPE MieleAtHome
# VERSION 2.1.1
# eventCount 64
# Helper:
# DBLOG:
# actions_deviceName:
# logdb:
# TIME 1696796791.49556
# VALUE 1
# actions_light:
# logdb:
# TIME 1696796791.49556
# VALUE
# actions_modes:
# logdb:
# TIME 1696796791.49556
# VALUE
# actions_powerOff:
# logdb:
# TIME 1696796791.49556
# VALUE 0
# actions_powerOn:
# logdb:
# TIME 1696796791.49556
# VALUE 1
# actions_processAction:
# logdb:
# TIME 1696796791.49556
# VALUE
# actions_programId:
# logdb:
# TIME 1696796791.49556
# VALUE
# actions_startTime:
# logdb:
# TIME 1696796791.49556
# VALUE
# actions_targetTemperature:
# logdb:
# TIME 1696796791.49556
# VALUE
# actions_ventilationStep:
# logdb:
# TIME 1696796791.49556
# VALUE
# communicationModuleReleaseVersion:
# logdb:
# TIME 1696796791.47185
# VALUE 08.20
# communicationModuleTechType:
# logdb:
# TIME 1696796791.47185
# VALUE EK057
# deviceHardwareFabIndex:
# logdb:
# TIME 1696796791.47185
# VALUE 65
# deviceHardwareFabNumber:
# logdb:
# TIME 1696796791.47185
# VALUE 000105791234
# deviceHardwareMatNumber:
# logdb:
# TIME 1696796791.47185
# VALUE 11509630
# deviceHardwareTechType:
# logdb:
# TIME 1696796791.47185
# VALUE G7165
# deviceName:
# logdb:
# TIME 1696796791.47185
# VALUE
# deviceType:
# logdb:
# TIME 1696796791.47185
# VALUE Dishwasher
# dryingStep:
# logdb:
# TIME 1696796791.47185
# VALUE
# ecoFeedbackCurrentEnergyConsumption:
# logdb:
# TIME 1696796311.47517
# VALUE 1.3
# ecoFeedbackCurrentWaterConsumption:
# logdb:
# TIME 1696796311.47517
# VALUE 17
# ecoFeedbackEnergyForecast:
# logdb:
# TIME 1696796311.47517
# VALUE 0.01
# ecoFeedbackWaterForecast:
# logdb:
# TIME 1696796311.47517
# VALUE 0.01
# elapsedTime:
# logdb:
# TIME 1696796791.47185
# VALUE 0:00
# eta:
# logdb:
# TIME 1696796791.47185
# VALUE -:-
# etaHR:
# logdb:
# TIME 1696796791.47185
# VALUE -:-
# programID:
# logdb:
# TIME 1696796791.47185
# VALUE
# programPhase:
# logdb:
# TIME 1696796791.47185
# VALUE
# programType:
# logdb:
# TIME 1696796791.47185
# VALUE Program
# remainingTime:
# logdb:
# TIME 1696796791.47185
# VALUE 0:00
# remoteEnableFullRC:
# logdb:
# TIME 1696796791.47185
# VALUE 1
# remoteEnableMobileStart:
# logdb:
# TIME 1696796791.47185
# VALUE 0
# remoteEnableSmartGrid:
# logdb:
# TIME 1696796791.47185
# VALUE 0
# signalDoor:
# logdb:
# TIME 1696796791.47185
# VALUE 0
# signalFailure:
# logdb:
# TIME 1696796791.47185
# VALUE 0
# signalInfo:
# logdb:
# TIME 1696796791.47185
# VALUE 0
# startTime:
# logdb:
# TIME 1696796791.47185
# VALUE 0:00
# state:
# logdb:
# TIME 1696796791.47185
# VALUE Off (-:-)
# status:
# logdb:
# TIME 1696796791.47185
# VALUE Off
# statusRaw:
# logdb:
# TIME 1696796791.47185
# VALUE 1
# ventilationStep:
# logdb:
# TIME 1696796791.47185
# VALUE
# READINGS:
# 2023-10-08 22:26:31 actions_deviceName 1
# 2023-10-08 22:26:31 actions_light
# 2023-10-08 22:26:31 actions_modes
# 2023-10-08 22:26:31 actions_powerOff 0
# 2023-10-08 22:26:31 actions_powerOn 1
# 2023-10-08 22:26:31 actions_processAction
# 2023-10-08 22:26:31 actions_programId
# 2023-10-08 22:26:31 actions_startTime
# 2023-10-08 22:26:31 actions_targetTemperature
# 2023-10-08 22:26:31 actions_ventilationStep
# 2023-10-08 22:26:31 communicationModuleReleaseVersion 08.20
# 2023-10-08 22:26:31 communicationModuleTechType EK057
# 2023-10-08 22:26:31 deviceHardwareFabIndex 65
# 2023-10-08 22:26:31 deviceHardwareFabNumber 000105791234
# 2023-10-08 22:26:31 deviceHardwareMatNumber 11509630
# 2023-10-08 22:26:31 deviceHardwareTechType G7165
# 2023-10-08 22:26:31 deviceName
# 2023-10-08 22:26:31 deviceType Dishwasher
# 2023-10-08 22:26:31 dryingStep
# 2023-10-08 22:18:31 ecoFeedbackCurrentEnergyConsumption 1.3
# 2023-10-08 22:18:31 ecoFeedbackCurrentWaterConsumption 17
# 2023-10-08 22:18:31 ecoFeedbackEnergyForecast 0.01
# 2023-10-08 22:18:31 ecoFeedbackWaterForecast 0.01
# 2023-10-08 22:26:31 elapsedTime 0:00
# 2023-10-08 22:26:31 eta -:-
# 2023-10-08 22:26:31 etaHR -:-
# 2023-10-08 22:26:31 programID
# 2023-10-08 22:26:31 programPhase
# 2023-10-08 22:26:31 programType Program
# 2023-10-08 22:26:31 remainingTime 0:00
# 2023-10-08 22:26:31 remoteEnableFullRC 1
# 2023-10-08 22:26:31 remoteEnableMobileStart 0
# 2023-10-08 22:26:31 remoteEnableSmartGrid 0
# 2023-10-08 22:26:31 signalDoor 0
# 2023-10-08 22:26:31 signalFailure 0
# 2023-10-08 22:26:31 signalInfo 0
# 2023-10-08 22:26:31 startTime 0:00
# 2023-10-08 22:26:31 state Off (-:-)
# 2023-10-08 22:26:31 status Off
# 2023-10-08 22:26:31 statusRaw 1
# 2023-10-08 22:26:31 ventilationStep
# helper:
# bm:
# MAH_AttrFn:
# cnt 1
# dmx -1000
# dtot 0
# dtotcnt 0
# mTS 08.10. 21:47:31
# max 3.88622283935547e-05
# tot 3.88622283935547e-05
# mAr:
# set
# Miele_000105791234
# comment
# Auto-created by MieleConnection
# MAH_DefFn:
# cnt 1
# dmx -1000
# dtot 0
# dtotcnt 0
# mTS 08.10. 21:47:31
# max 0.00146102905273438
# tot 0.00146102905273438
# mAr:
# HASH(0x557a62206398)
# Miele_000105791234 MieleAtHome 000105791234@MieleConnection
# MAH_GetFn:
# cnt 3
# dmx -1000
# dtot 0
# dtotcnt 0
# mTS 08.10. 21:51:11
# max 7.00950622558594e-05
# tot 0.00012516975402832
# mAr:
# HASH(0x557a62206398)
# Miele_000105791234
# ?
# MAH_SetFn:
# cnt 77
# dmx -1000
# dtot 0
# dtotcnt 0
# mTS 08.10. 21:51:14
# max 0.00206208229064941
# tot 0.0200667381286621
# mAr:
# HASH(0x557a62206398)
# Miele_000105791234
# on
# hmccu:
#
setstate Miele_000105791234 Off (-:-)
setstate Miele_000105791234 2023-10-08 22:26:31 actions_deviceName 1
setstate Miele_000105791234 2023-10-08 22:26:31 actions_light
setstate Miele_000105791234 2023-10-08 22:26:31 actions_modes
setstate Miele_000105791234 2023-10-08 22:26:31 actions_powerOff 0
setstate Miele_000105791234 2023-10-08 22:26:31 actions_powerOn 1
setstate Miele_000105791234 2023-10-08 22:26:31 actions_processAction
setstate Miele_000105791234 2023-10-08 22:26:31 actions_programId
setstate Miele_000105791234 2023-10-08 22:26:31 actions_startTime
setstate Miele_000105791234 2023-10-08 22:26:31 actions_targetTemperature
setstate Miele_000105791234 2023-10-08 22:26:31 actions_ventilationStep
setstate Miele_000105791234 2023-10-08 22:26:31 communicationModuleReleaseVersion 08.20
setstate Miele_000105791234 2023-10-08 22:26:31 communicationModuleTechType EK057
setstate Miele_000105791234 2023-10-08 22:26:31 deviceHardwareFabIndex 65
setstate Miele_000105791234 2023-10-08 22:26:31 deviceHardwareFabNumber 000105791234
setstate Miele_000105791234 2023-10-08 22:26:31 deviceHardwareMatNumber 11509630
setstate Miele_000105791234 2023-10-08 22:26:31 deviceHardwareTechType G7165
setstate Miele_000105791234 2023-10-08 22:26:31 deviceName
setstate Miele_000105791234 2023-10-08 22:26:31 deviceType Dishwasher
setstate Miele_000105791234 2023-10-08 22:26:31 dryingStep
setstate Miele_000105791234 2023-10-08 22:18:31 ecoFeedbackCurrentEnergyConsumption 1.3
setstate Miele_000105791234 2023-10-08 22:18:31 ecoFeedbackCurrentWaterConsumption 17
setstate Miele_000105791234 2023-10-08 22:18:31 ecoFeedbackEnergyForecast 0.01
setstate Miele_000105791234 2023-10-08 22:18:31 ecoFeedbackWaterForecast 0.01
setstate Miele_000105791234 2023-10-08 22:26:31 elapsedTime 0:00
setstate Miele_000105791234 2023-10-08 22:26:31 eta -:-
setstate Miele_000105791234 2023-10-08 22:26:31 etaHR -:-
setstate Miele_000105791234 2023-10-08 22:26:31 programID
setstate Miele_000105791234 2023-10-08 22:26:31 programPhase
setstate Miele_000105791234 2023-10-08 22:26:31 programType Program
setstate Miele_000105791234 2023-10-08 22:26:31 remainingTime 0:00
setstate Miele_000105791234 2023-10-08 22:26:31 remoteEnableFullRC 1
setstate Miele_000105791234 2023-10-08 22:26:31 remoteEnableMobileStart 0
setstate Miele_000105791234 2023-10-08 22:26:31 remoteEnableSmartGrid 0
setstate Miele_000105791234 2023-10-08 22:26:31 signalDoor 0
setstate Miele_000105791234 2023-10-08 22:26:31 signalFailure 0
setstate Miele_000105791234 2023-10-08 22:26:31 signalInfo 0
setstate Miele_000105791234 2023-10-08 22:26:31 startTime 0:00
setstate Miele_000105791234 2023-10-08 22:26:31 state Off (-:-)
setstate Miele_000105791234 2023-10-08 22:26:31 status Off
setstate Miele_000105791234 2023-10-08 22:26:31 statusRaw 1
setstate Miele_000105791234 2023-10-08 22:26:31 ventilationStep
Keiner Verbesserungsvorschlag: Ich hatte ein Fehler im Secret und habe daher kein Access Token bekommen. Erst nach dem Debug 5 war der Fehler sichtbar. Vielleicht könnte das noch als Hinweis bei dem Fehlenden Access Token eingebunden werden. So nach dem Motto Check ID and Secret ...
Hallo,
unser neuer Miele Backofen (H 2465 B ACTIVE) habe ich nun mit Miele@home in FHEM:
Screenshot 2023-12-16 at 14-49-42 Home Sweet Home.png
Doch was kann ich in FHEM damit machen?
Hallo Zusammen,
bei meiner Miele Waschmaschine passt irgendwas an den Verbrauchswerten nicht. In der Anlage ein Beispiel vom Ende des Waschgangs.
ecoFeedbackCurrentEnergyConsumption => Dieser Wert zeigt immer "0". Müsste aber etwas passendes zum Forecast anzeigen.
ecoFeedbackEnergyForecast => Der Wert zeigt 0.4 (Ist plausibel.)
ecoFeedbackCurrentWaterConsumption => Dieser Wert zeigt 29 (Ist plausibel.)
ecoFeedbackWaterForecast => Der Wert 0.2 passt nicht zum Current von 29.
Hat jemand eine Waschmaschine wo die Werte die in Ordnung sind?
miele.jpg
Zitat von: DerTom71 am 11 Februar 2024, 18:31:09Hallo Zusammen,
bei meiner Miele Waschmaschine passt irgendwas an den Verbrauchswerten nicht. In der Anlage ein Beispiel vom Ende des Waschgangs.
ecoFeedbackCurrentEnergyConsumption => Dieser Wert zeigt immer "0". Müsste aber etwas passendes zum Forecast anzeigen.
ecoFeedbackEnergyForecast => Der Wert zeigt 0.4 (Ist plausibel.)
ecoFeedbackCurrentWaterConsumption => Dieser Wert zeigt 29 (Ist plausibel.)
ecoFeedbackEnergyForecast => Der Wert 0.2 passt nicht zum Current von 29.
Hat jemand eine Waschmaschine wo die Werte die in Ordnung sind?
miele.jpg
Ich meine dass das bei mir auch noch nie gepasst hat.
Moin Zusammen,
seit Januar habe ich Probleme mit dem Login des Miele@home-Gateway-Devices, das bis dahin sehr gut funktioniert hatte.
Laut Log sind die Anmeldedaten falsch.
Ich habe ein neues Paar "Client ID"/"Client Secret" generieren lassen und ein neues Passwort zum Login vergeben.
Mit diesen Daten habe ich ein neues Miele@home-Gateway-Device angelegt. Leider erfolglos. die Meldung im Log ist
2024.03.04 22:22:02 3: MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_passwd: setKeyValue: invalid value: PU1ibXdrMTEwMHJzXzFl<0a>
2024.03.04 22:22:30 3: MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_clientSecret: setKeyValue: invalid value: PVhXMGxXRnBIbVRualFRQWhtWUhaU2ZDbGI2cFNKaTQw<0a>
Jetzt weiß ich nicht mehr weiter.
Grüße
Jens
Hallo,
scheint ein generelles Problem/ÄÄnderung bei Miele zu sein. Habe auch versucht die neue WaMa einzubinden und es geht nicht.
Wenn ich auf get MieleConnection listDevices gehe kommt die Fehlermeldung
ZitatlistDevices needs a valid ACCESS_TOKEN, please try again
und im log steht
2024.03.05 11:17:22 3: MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_clientSecret: setKeyValue: invalid value: PVFNb<-truncated->XZYSWxRN2o4Q0Fi<0a>
Der Login mit der Client ID und dem Secret auf https://www.miele.com/developer/swagger-ui/ (https://www.miele.com/developer/swagger-ui/)
funktioniert (siehe Bild).
Login_OK.jpg
Gruß
Christian E.
Hi,
ich habe jetzt mal ein bisschen weitergesucht und dabei ist mir folgendes aufgefallen.
Im log, mit verbose 5 steht
ZitatError when setting MieleAtHome_MieleConnection_clientSecret: setKeyValue: invalid value: PXdNRmxvSXkzTDR1M0c1NTZvNXJjNVU0bGJDenV6TWhE<0a>
wenn ich nun diesen string auf der Seite https://www.base64decode.org/ decodiere bekomme ich als Ergebniss:
Zitat=wMFloIy3L4u3G556o5rc5U4lbCzuzMhD
Das ist aber nicht 100% das was ich als Client Secret definiert/gesetzt habe welches
ZitatwMFloIy3L4u3G556o5rc5U4lbCzuzMhD
aber ohne das = am Anfang.
Liegt vielleicht daran das problem das die base64 kodierung da ein = irgendwie einfügt?
Gruß
Christian
Hallo,
ich habe auch das Problem seit Ende Januar 2024 und dachte zunächst, ich wäre der einzige und habe FHEM nicht richtig eingestellt. Deshalb hatte ich am 11. Februar mal an Miele (developer@miele.com) geschrieben:
Screenshot 2024-03-05 174707.jpg
Leider hat sich Miele bisher dazu nicht geäußert.
Aufgrund von OAUTH2_EXPIRES_AT 2024-01-29... vermutete ich, dass dann irgendetwas (Was ist OAUTH2?) abgelaufen ist und ich mich neu registrieren müsste. Hat aber nicht funktioniert.
Gut, dass ich wenigstens nicht der einzige bin.
Hallo Zusammen,
ich war ein zeitlang nicht daheim. Laut LOG hat es bis ~24.02.24 funktioniert. Jetzt das gleiche:
(MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_ACCESS_TOKEN: setKeyValue: invalid value:
(MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_REFRESH_TOKEN: setKeyValue: invalid value:
(MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_EXPIRES_IN: setKeyValue: invalid value:
(MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_EXPIRES_AT: setKeyValue: invalid value:
Hallo zusammen,
bei mir ist seit dem 14.02. "Funkstille". Christian war leider seit Dezember nicht mehr aktiv. Ich habe ihm eine PM gesendet.
Viele Grüße
Jürgen
Hallo,
habt ihr euch zwischenzeitlich mal direkt auf miele.de angemeldet? Eventuell müsst ihr ja neuen Geschäftsbedingungen zustimmen. Ich habe jedenfalls bisher keine Probleme.
Grüße Jörg
Hallo Jörg,
wenn man Miele@Home einmal registriert hat, funktioniert es. Wenn man aber auf einem neuen System Miele neu einrichten will, funktioniert die Anmeldung nicht mehr. Es kommt immer die Fehlermeldung
lastError please set login, password, clientId and clientSecret 2024-03-11 13:02:38
Viele Grüße
Jürgen
Zitat von: juemuc am 11 März 2024, 13:08:14Hallo Jörg,
wenn man Miele@Home einmal registriert hat, funktioniert es. Wenn man aber auf einem neuen System Miele neu einrichten will, funktioniert die Anmeldung nicht mehr. Es kommt immer die Fehlermeldung
lastError please set login, password, clientId and clientSecret 2024-03-11 13:02:38
Viele Grüße
Jürgen
Hallo Jürgen,
ich hatte mich jetzt auf die Rückmeldungen bezogen, in denen gemeldet wurde: Hat bis dann funktioniert und seit dem bekomme ich eine Fehlermeldung. Also nicht auf komplette Neuanmeldungen.
Ist schon etwas länger her, aber musste man sich nicht sowieso erst für die API auf der API Seite von Miele registrieren?!
Grüße Jörg
Grüße Jörg
Bei mir war die Registrierung vor Ewigkeiten und am System habe ich nichts gemacht.
Es ging von heute auf morgen nicht mehr. (Auf der der Miele-App wird alles wie gewohnt angezeigt.)
Zitat von: DerTom71 am 11 März 2024, 13:43:32Bei mir war die Registrierung vor Ewigkeiten und am System habe ich nichts gemacht.
Es ging von heute auf morgen nicht mehr. (Auf der der Miele-App wird alles wie gewohnt angezeigt.)
Gibt es eine Fehlermeldung? Was geht nicht mehr?
Bei einer Neuinstallation hilft es, wenn die Daten aus einer "alten" uniqueID-Datei übernommen werden. FHEM muss danach aber neu gestartet werden.
Viele Grüße
Zitat von: juemuc am 11 März 2024, 14:16:58Gibt es eine Fehlermeldung? Was geht nicht mehr?
Hatte ich weiter oben schon geschrieben. OAUTH2 bringt Error. Die Geräte werden nicht mehr aktualisiert.
MieleConnection (MieleAtHome::MAH_onThirdpartyLoginReply:940) received reply, code:200, headers:HTTP/1.1 200 OK<0d><0a>Date: Sun, 10 Mar 2024 08:29:55 GMT
MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:957) called
MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:979) country for /oauth/auth is de-DE
MieleConnection (MieleAtHome::MAH_onOauthLoginReply:1008) received reply, code:302, headers:HTTP/1.1 302 Found<0d><0a>Date: Sun, 10 Mar 2024 08:29:56 GMT<
MieleConnection (MieleAtHome::MAH_onOauthLoginReply:1019) Bearer found in headers
MieleConnection (MieleAtHome::MAH_doThirdpartyTokenRequest:1075) called
MieleConnection (MieleAtHome::MAH_onThirdpartyTokenReply:1129) received reply, code:200, headers:HTTP/1.1 200 OK<0d><0a>Date: Sun, 10 Mar 2024 08:29:56 GM
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_ACCESS_TOKEN: setKeyValue: invalid value: PURFX2
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_REFRESH_TOKEN: setKeyValue: invalid value: PURFX
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_EXPIRES_IN: setKeyValue: invalid value: PTI1OTIw
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_EXPIRES_AT: setKeyValue: invalid value: PTIwMjQt
MieleConnection (MieleAtHome::MAH_getAccessToken:1992) found local token with remaining lifetime of 2591999.18088007 seconds
MieleConnection (MieleAtHome::MAH_start:581) called
Zitat von: JoWiemann am 11 März 2024, 13:17:35Zitat von: juemuc am 11 März 2024, 13:08:14Hallo Jörg,
wenn man Miele@Home einmal registriert hat, funktioniert es. Wenn man aber auf einem neuen System Miele neu einrichten will, funktioniert die Anmeldung nicht mehr. Es kommt immer die Fehlermeldung
lastError please set login, password, clientId and clientSecret 2024-03-11 13:02:38
Viele Grüße
Jürgen
Hallo Jürgen,
ich hatte mich jetzt auf die Rückmeldungen bezogen, in denen gemeldet wurde: Hat bis dann funktioniert und seit dem bekomme ich eine Fehlermeldung. Also nicht auf komplette Neuanmeldungen.
Ist schon etwas länger her, aber musste man sich nicht sowieso erst für die API auf der API Seite von Miele registrieren?!
Grüße Jörg
Hallo Jörg,
man musste sich registrieren. Bei mir war das Problem, dass diese Daten bei einer neuen Definition nicht in die Datei "uniqueID" geschrieben wurden. Eventuell gibt es ein Problem, wenn man sich mit diesen Daten neu anmeldet. Ich habe die Daten dann manuell in die "uniqueID" geschrieben und es funktioniert wieder.
Viele Grüße
Jürgen
Zitat von: DerTom71 am 11 März 2024, 14:35:38Zitat von: juemuc am 11 März 2024, 14:16:58Gibt es eine Fehlermeldung? Was geht nicht mehr?
Hatte ich weiter oben schon geschrieben. OAUTH2 bringt Error. Die Geräte werden nicht mehr aktualisiert.
MieleConnection (MieleAtHome::MAH_onThirdpartyLoginReply:940) received reply, code:200, headers:HTTP/1.1 200 OK<0d><0a>Date: Sun, 10 Mar 2024 08:29:55 GMT
MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:957) called
MieleConnection (MieleAtHome::MAH_doOauthLoginRequest:979) country for /oauth/auth is de-DE
MieleConnection (MieleAtHome::MAH_onOauthLoginReply:1008) received reply, code:302, headers:HTTP/1.1 302 Found<0d><0a>Date: Sun, 10 Mar 2024 08:29:56 GMT<
MieleConnection (MieleAtHome::MAH_onOauthLoginReply:1019) Bearer found in headers
MieleConnection (MieleAtHome::MAH_doThirdpartyTokenRequest:1075) called
MieleConnection (MieleAtHome::MAH_onThirdpartyTokenReply:1129) received reply, code:200, headers:HTTP/1.1 200 OK<0d><0a>Date: Sun, 10 Mar 2024 08:29:56 GM
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_ACCESS_TOKEN: setKeyValue: invalid value: PURFX2
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_REFRESH_TOKEN: setKeyValue: invalid value: PURFX
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_EXPIRES_IN: setKeyValue: invalid value: PTI1OTIw
MieleConnection (MieleAtHome::MAH_setKeyValue:2186) Error when setting MieleAtHome_MieleConnection_OAUTH2_EXPIRES_AT: setKeyValue: invalid value: PTIwMjQt
MieleConnection (MieleAtHome::MAH_getAccessToken:1992) found local token with remaining lifetime of 2591999.18088007 seconds
MieleConnection (MieleAtHome::MAH_start:581) called
Hatte ich zu spät gesehen O:-)
Hast Du einmal die Datei uniqueID geprüft? Stehen dort die Daten für Miele drin? Wenn nein, musst Du sie aus einer Sicherung manuell dort wieder eintragen.
Viele Grüße
Jürgen
In der uniqueID steht alles richtig drin, bzw. ist auch nicht verändert worden.
Dann weiß ich leider auch nicht weiter.
Viele Grüße
Jürgen
Ich hatte die api auf event (seit es das gibt) umgestellt. Jetzt habe die api zurück auf poll gestellt. Jetzt bekomme ich wieder den Status der Geräte angezeigt.
(Bei mir steht bei OAUTH2_EXPIRES_AT 2024-04-10 15:51:28, mal sehen was an den Datum passiert.)
Bei mir funktioniert event weiterhin.
Du hast nicht zufälligerweise "event-on-change" auf ".*" gesetzt? Dann ändern sich die Readings nur, wenn sich der Wert auch ändert.
Viele Grüße
Jürgen
Ich habe bei mir folgende Beobachtung gemacht. Werden Geräte vom Strom getrennt oder FHEM neu gestartet funktioniert event nicht mehr.
Danach 1x Umstellen auf poll und anschließend zurück auf event und alles funktioniert wie gehabt.
(Und weiterhin habe ich beim FHEM-Start die Meldung: Error when setting MieleAtHome_MieleConnection_OAUTH2_ ...).
Hallo,
ich habe mal folgende Zeilen beim FHEM-Start eingebaut:
get MieleFHEM listDevices;
sleep 5;
set Miele_000712292377 update
Viele Grüße
Jürgen