NEWS
JSON aus diesem Link - Ist das machbar ? MELCLOUD
-
@paul53
Argument -
-
@meicker kannste damit vielleicht was anfangen? response.body bleibt leer, da ich keine Geräte habe die in der App registriert werden können.
@paul53 siehst du auf Anhieb was, wie man das "Script" besser schreiben könnte? Bin ja auch noch am lernen.
LogIn(); function LogIn () { var url = "https://app.melcloud.com/Mitsubishi.Wifi.Client/Login/ClientLogin"; var form = { AppVersion: "1.9.3.0", CaptchaChallenge: "", CaptchaResponse: "", Email: "hier deine email aus der Registrierung", Language: "4", //hier kann man Zahlen für verschiedene Sprachen eingeben eingeben --> keine Übersicht gefunden Password: "hier dein Passwort", Persist: "true" }; var method = "post"; request({ url: url, form: form, method: method }, function (error, response) { if (!error && response.statusCode == 200) { log('Device_statusCode: ' + response.statusCode); let obj = JSON.parse(response.body); log('ContextKey: ' + obj.LoginData.ContextKey); let ContextKey = obj.LoginData.ContextKey; getDevices (ContextKey); } else { log('Geräteabfrage fehlgeschlagen ==> StatusCode: ' + response.statusCode); log('Geräteabfrage fehlgeschlagen ==> Error: ' + error); } }); } function getDevices(ContextKey) { var url = "https://app.melcloud.com/Mitsubishi.Wifi.Client/User/ListDevices"; var method = "get"; request({ url: url, method: method, headers: {"X-MitsContextKey" : ContextKey} }, function(error, response) { if (!error && response.statusCode == 200) { log('Device_statusCode: ' + response.statusCode); log('response: ' + JSON.stringify(response)); } else { log('Geräteabfrage fehlgeschlagen ==> StatusCode: ' + response.statusCode); log('Geräteabfrage fehlgeschlagen ==> Error: ' + error); } }); }
-
-
@paul53 sagte in JSON aus diesem Link - Ist das machbar ? MELCLOUD:
@Lenny-CB sagte:
keine Übersicht gefunden
man man man, du hast deine Augen auch überall oder kannst einfach Google besser bedienen als ich. -
@Lenny-CB sagte:
function (error, response) {
an die Callback-Funktion von request() werden doch 3 Parameter übergeben ?
request(options, function (error, response, body) {
wobei das gewünschte Ergebnis in body übergeben wird.
-
@paul53 sagte in JSON aus diesem Link - Ist das machbar ? MELCLOUD:
wobei das gewünschte Ergebnis in body übergeben wird.
stimmt, da habe ich mich wohl von deinem Homebridge-Link verleiten lassen. Das war die Grundlage meiner "Script-Schmiererei".
Was wäre hier richtiger? Es aus dem body oder aus dem response zu nehmen? (steht ja in beidem drin) -
@Lenny-CB sagt:
body oder aus dem response zu nehmen? (steht ja in beidem drin)
Wenn das Ergebnis sowohl in body als auch in response.body übergeben wird, ist es egal, wie man es macht (die Variante mit response.body war mir nicht geläufig).
-
@paul53 naja sagen wir mal so, ich bin ja der letzte der sagen kann ob es eine Variante ist oder nicht. Bei response kam ein JSON raus in dem ein body mit dem gesuchten Ausdruck enthalten war. Dann habe ich das da "raus gefummelt" und nicht weiter im "richtigen" body geschaut.
Mal schauen was @meicker draus macht. -
@Lenny-CB
ich bin gar nicht so weit das ich bei euch mitreden könnte Ich könnte aus einer fast funktionierenden Lösung was umbauen aber selber bekomme ich das leider nicht hin. Für Melcloud bin ich jetzt einen anderen Weg gegangen und habe mit die Daten über Openhab reingeholt. Schöner wäre es natürlich wenn man das mit Java hinbekommen würde und richtig schick wäre ein Adapter. Aber ich kann da, außer das ich die Hardware habe zum testen, nicht weiter helfen ... Leider ... Ich würde es so gerne können ...vg Marc