[Neues Modul] Miele@Home

Begonnen von choenig, 14 Juni 2020, 11:08:17

Vorheriges Thema - Nächstes Thema

choenig

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

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

speedAmaster

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

xerion

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.

Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

speedAmaster

ad1: Asche auf mein Haupt!
ad2: danke für die Bestätigung!

wann wird das Modul "offiziell"?

ReneH87

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
  }

choenig

Interessant, das ist neu, hab' ich noch nicht bemerkt.

Bau ich ein.

LG
Christian

choenig

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

choenig

#143
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

Weisswurstverkäufer

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

choenig

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

Weisswurstverkäufer

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

choenig

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

Weisswurstverkäufer

Da geht es tatsächlich auch nicht:

ZitatKontoverknüpfung fehlgeschlagen!
Bitte überprüfen Sie ihre Zugangsdaten.

Das ist leicht kurios.

choenig

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