Ankündigung

Einklappen
Keine Ankündigung bisher.

MQTT : Befehle ausführen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bonze
    antwortet
    Ich hab irgendwie mit dem oauth2 Probleme,
    hat da jemand zufällig Erfahrung mit requests_oauth? Oder sollte man lieber die requests abfragen von Hand zu Fuss zusammenbauen, wie bei dem Beispiel Script?

    Ich bekomme beim oauth2 immer Fehler 503 , wenn ich wenigstens da den richtigen Ansatz hätte..

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Super danke dir schonmal Bonze

    Sofern du dann den genauen secret benötigst kannst du mich kontaktieren

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    Ich kucke morgen Mal kurz danach, bin zwar auch kein pro, kann aber das Plugin Grundgerüst stellen
    Zuletzt geändert von Bonze; 02.02.2020, 21:32.

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Zitat von bmx Beitrag anzeigen
    Ach ja, mir fällt gerade auf, das das Plugin jsonread eigentlich genau für Dein Problem eine Lösung bieten sollte
    Ich hatte mal das Plugin probier leider ohne Erfolgt.

    Ich muss zur Autorisierung einen curl befehl absetzen dieser wie folgt aufgebaut ist:

    curl -X GET "https://api.mcs3.miele.com/v1/devices/?language=de" -H "accept: application/json; charset=utf-8" -H "Authorization: Bearer CH_41acccc32secretxxxxxxxx"



    alternativ kann ich diese datei aufrufen : miele-MQTT.php


    Code:
    php miele-MQTT.php
    Data for appliance: 000149834615
    Appliance type: Washing Machine
    Program status: Finished
    Program type: 1
    Program phase: Anti-crease
    Time left: 00:00
    Time elapsed: 00:00
    Angehängte Dateien

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Guten Morgen , ich schaue es mir mal an

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ach ja, mir fällt gerade auf, das das Plugin jsonread eigentlich genau für Dein Problem eine Lösung bieten sollte

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Zitat von Bonze Beitrag anzeigen
    Das verlinkte script, nutzt anscheinend den Miele REST Service und setzt diesen auf mqtt um.
    Ja genau so ist es ,

    Mir sind vorallem Meldungen wie Waschmaschine Fertig sowie die Verbrauchswerte wichtig sodass ich diese visualisieren kann und die waMa aus der Logik raus starten kann

    Code:
    https://api.mcs3.miele.com/v1/devices/?language=de" -H "accept: application/json; charset=utf-8" -H "Authorization: Bearer CH_xyyyyyy""
    > ^
    > SyntaxError: invalid syntax
    Zuletzt geändert von jonny7792; 24.01.2020, 19:15.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Du kannst Du in einer Logik von der Webadresse die Du oben angegeben hast die Daten Abfragen. Das das JSON ist, kannst Du das eigentlich auch direkt in ein dict überführen und mit dem Inhalt des dicts dann Deine Items befüllen.

    Code:
    {
        "000149834615": {
            "ident": {
                "type": {
                    "key_localized": "Gerätetyp",
                    "value_raw": 1,
                    "value_localized": "Waschmaschine"
                },
                "deviceName": "",
                "deviceIdentLabel": {
                    "fabNumber": "xxxxx",
                    "fabIndex": "11",
                    "techType": "WWI660",
                    "matNumber": "xxxxxx",
                    "swids": [
                        "4418",
                        "20456",
                        "25213"
                    ]
                },
                "xkmIdentLabel": {
                    "techType": "EK037",
                    "releaseVersion": "03.65"
                }
            },
            "state": {
                "ProgramID": {
                    "value_raw": 1,
                    "value_localized": "Baumwolle",
                    "key_localized": "Programmbezeichnung"
                },
                "status": {
                    "value_raw": 9,
                    "value_localized": "Abbruch",
                    "key_localized": "Status"
                },
                "programType": {
                    "value_raw": 1,
                    "value_localized": "Eigenes Programm",
                    "key_localized": "Programmart"
                },
                "programPhase": {
                    "value_raw": 256,
                    "value_localized": "",
                    "key_localized": "Programmphase"
                },
                "remainingTime": [
                    0,
                    0
                ],
                "startTime": [
                    0,
                    0
                ],
                "targetTemperature": [
                    {
                        "value_raw": 6000,
                        "value_localized": 60,
                        "unit": "Celsius"
                    },
                    {
                        "value_raw": -32768,
                        "value_localized": null,
                        "unit": "Celsius"
                    },
                    {
                        "value_raw": -32768,
                        "value_localized": null,
                        "unit": "Celsius"
                    }
                ],
                "temperature": [
                    {
                        "value_raw": -32768,
                        "value_localized": null,
                        "unit": "Celsius"
                    },
                    {
                        "value_raw": -32768,
                        "value_localized": null,
                        "unit": "Celsius"
                    },
                    {
                        "value_raw": -32768,
                        "value_localized": null,
                        "unit": "Celsius"
                    }
                ],
                "signalInfo": false,
                "signalFailure": false,
                "signalDoor": false,
                "remoteEnable": {
                    "fullRemoteControl": true,
                    "smartGrid": true
                },
                "light": 0,
                "elapsedTime": [
                    0,
                    0
                ],
                "spinningSpeed": {
                    "unit": "U/min",
                    "value_raw": 1600,
                    "value_localized": "1600",
                    "key_localized": "Schleuderdrehzahl"
                },
                "dryingStep": {
                    "value_raw": null,
                    "value_localized": "",
                    "key_localized": "Trockenstufe"
                },
                "ventilationStep": {
                    "value_raw": null,
                    "value_localized": "",
                    "key_localized": "Lüfterstufe"
                },
                "plateStep": []
            }
        }
    }
    Mit dem Python Modul requests kannst Du den curl abbilden. Du hast jetzt nicht geschrieben, ob die Miele noch irgendeinen Parameter gesendet bekommen muß. In dem Fall findet sich hier lesenswertes.
    Um json dann in ein dict zu überführen hilft das Python Modul json. Auch hier hat Stackoverflow die Antworten.

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    Das verlinkte script, nutzt anscheinend den Miele REST Service und setzt diesen auf mqtt um.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Nutze das MQTT Plugin

    Einen Kommentar schreiben:


  • jonny7792
    hat ein Thema erstellt MQTT : Befehle ausführen

    MQTT : Befehle ausführen

    Hallo zusammen,

    ich habe eine Miele Waschmaschine mit Miele@Home - Dafür benutze ich die Miele 3rd party API - Nun würde ich gerne die Maschine per MQTT an SHNG anbinden.


    Dies ist das MQTT der Miele

    Jedoch bekomme ich garnichts hin ..

    Code:
    curl -X GET "https://api.mcs3.miele.com/v1/devices/?language=de" -H "accept: application/json; charset=utf-8" -H "Authorization: Bearer XXXXXXXXX"
    damit erhalte ich folgende ausgabe :

    Code:
    
    { "000149834615": { "ident": { "type": { "key_localized": "Gerätetyp", "value_raw": 1, "value_localized": "Waschmaschine" }, "deviceName": "", "deviceIdentLabel": { "fabNumber": "xxxxx", "fabIndex": "11", "techType": "WWI660", "matNumber": "xxxxxx", "swids": [ "4418", "20456", "25213" ] }, "xkmIdentLabel": { "techType": "EK037", "releaseVersion": "03.65" } }, "state": { "ProgramID": { "value_raw": 1, "value_localized": "Baumwolle", "key_localized": "Programmbezeichnung" }, "status": { "value_raw": 9, "value_localized": "Abbruch", "key_localized": "Status" }, "programType": { "value_raw": 1, "value_localized": "Eigenes Programm", "key_localized": "Programmart" }, "programPhase": { "value_raw": 256, "value_localized": "", "key_localized": "Programmphase" }, "remainingTime": [ 0, 0 ], "startTime": [ 0, 0 ], "targetTemperature": [ { "value_raw": 6000, "value_localized": 60, "unit": "Celsius" }, { "value_raw": -32768, "value_localized": null, "unit": "Celsius" }, { "value_raw": -32768, "value_localized": null, "unit": "Celsius" } ], "temperature": [ { "value_raw": -32768, "value_localized": null, "unit": "Celsius" }, { "value_raw": -32768, "value_localized": null, "unit": "Celsius" }, { "value_raw": -32768, "value_localized": null, "unit": "Celsius" } ], "signalInfo": false, "signalFailure": false, "signalDoor": false, "remoteEnable": { "fullRemoteControl": true, "smartGrid": true }, "light": 0, "elapsedTime": [ 0, 0 ], "spinningSpeed": { "unit": "U/min", "value_raw": 1600, "value_localized": "1600", "key_localized": "Schleuderdrehzahl" }, "dryingStep": { "value_raw": null, "value_localized": "", "key_localized": "Trockenstufe" }, "ventilationStep": { "value_raw": null, "value_localized": "", "key_localized": "Lüfterstufe" }, "plateStep": [] } } }Response headers
    wie kann man dies nun sinnvoll in SHNG eibinden und Später dazu noch eine Logik für den sogeannten Smartstart erstellen wenn PV Überschuss vorhanden ist.
    Zuletzt geändert von jonny7792; 23.01.2020, 20:38.
Lädt...
X