[Modul] Dyson

Hallo,

die Implementierung Dees Modell 358 ist noch nicht ganz fertig, hatte das vor einiger Zeit mit User dealer begonnen.
Wenn Du möchtest kann st Du mir aber hier auch die nötigen Daten liefern (demel42@web.de).

Dabei muss man folgendes machen
Es gibt drei Nachrichten vom und eine Nachricht an den Dyson

  • CURRENT-STATE: das sind die Daten, die zyklisch abgerufen werden bzw. bei Betätigen des manuellen Datenabrufs auf der Instanz-Seite

  • ENVIRONMENTAL-CURRENT-SENSOR-DATA: analog zu CURRENT-STATE, jedoch z.T. zusätzliche Informationen

  • STATE-CHANGE: diese Nachricht kommt, sobald sich ein Status ändert, insbesondere bei Betätigen eines Kommandos

  • STATE-SET: ist die Nachricht, die wir an Dyson schicken um Einstellungen zu ändern bzw. Aktionen auszulösen

Leider ist es so, das nicht alle Typen gleich sind und wir müssen immer herausfinden, wie eine Variable in den Daten heisst bzw. welchen Wert diese annehmen kann.

Daher muss man in der App eine Funktion schalten, dann alle drei (!) Nachrichten abwarten und schauen, ob man den Wert wieder findet. zT kann man die Variable aufgrund des Wertes identifizieren, eventuell auch durch den Variablen-Namen (aber keineswegs immer). Den zyklischen Abruf kann man durch einen manuellen Abruf „beschleunigen“.

Achtung: die Limitierung im Debuglog sehr deutlich erhöhen, damit die Nachrichten vollständig sind.

Jeder Funktion muss in allen möglichen Ausprägungen vorliegen (also wenn nur ein und aus, dann einmal nach „EIN“ und dann nachnahm getrennt nach "AUS).
Zu jeder Aktion bitte die Uhrzeit im Log angeben, damit ich die Stelle identifizieren kann.

Ich würde mir die Daten dann anschauen.

Gruß
demel

Hallo,

eine wichtige Information: seit einigen Tagen gibt es einen HTTP-Error 403, wenn man sich bei Dyson anmelden möchte, was u.a. dazu führt, das im Konfiguration keine Geräte mehr angezeigt werden.

Der Fix steht im Modul-Store/Beta zur Verfügung.

Ich habe die Version noch nicht als stable eingereicht, da mir noch die Rückmeldungen fehlen, ob mit diesen Modelle alles ok ist

  • Modell 358 (Dyson Pure Cool Turmventilator mit Luftreiniger und Luftbefeuchter (DP05)) hinzugefügt
  • Modell 527 (Dyson Pure Hot+Cool …) hinzugefügt

Würde mich dazu über Rückmeldung freuen

Gruß
demel

Hallo,

Super Modul, vielen Dank.:):slight_smile:

habe jetzt einen „Dyson Pure Humidify+Cool Luftbefeuchter“ welcher als Typ 358 (DP05) vom Konfigurator erkannt wird.
Ich finde aber bei Dyson den DP05 nicht. Auf meiner Rechnung von Dyson steht was von PH01. Der wird bei Dyson gefunden.
Hoffe das es trotzdem der richtige ist?

Es werden alle Variablen angelegt und aktualisiert. Aber:

  • Luftstromstärke wird im Automatik Modus nicht angezeigt
  • Aktivkohlefilter Lebensdauer steht bei 0%

alles andere scheint zu passen

Hallo,

die Typen werden nur über die Nummer erkannt, der Rest ist nur eine texthelle Beschreibung. Und da hat mir jemand gesagt, der Typ 358 würde DP05 heissen, wenn der PH01 heisst … klingt nicht unplausibel (DP steht nach meines geratenen Verständnis für Desktop-Purify-Typen, PH könnte ja Purify-Hunidify heissen)

Wie ich ja vorher geschrieben ist dieser Type leider noch etwas stecken geblieben, das fehlen mir von den User noch die Antworten.

Wenn Du magst, kannst Du die Test auch weiterführen.

Dabei geht es um folgendes: ich muss zu einer Beobachtung immer den Instanz-Debug haben, also die zyklische Übertragung der Daten (bzw manuell ausgelöst), Nachricht heiss CURRENT-STATE.

Dazu muss ich wissen, was erwartet wird (also hier, wie die Luftstromstärke ist) und ggfs das, was in der App angezeigt wird).

Bzw wie ist die angezeigte Haltbarkeit des Aktivkohlefilters?

Das schickst Du mir bitte an meine Mailadresse (demel42@web.de).

Was ist mir der Einstellung der Lufbefuechtug? wie funktioniert die?

Wenn es um Aktivitäten/Auslösen von Funktionen geht kann man so vorgehen
a) in der App auslösen
b) die dabei protokollierte Kommunikation (STATE-CHANGE sowie CURRENT-STATE & ENVIRONMENTAL-CURRENT-SENSOR-DATA

Bitte das Limit des Instanz-Debug unbedingt erhöhen, der Standardwert ist für solche Beobachtungen viel zu klein.
Und wenn möglich als Orientierung den Zeitstempel im Debug mitteilen, wann etwas passiert ist.

gruß
demel

Hi und danke für das Modul…

ich hab jetzt einen Dyson Pure Hot+Cool Cryptomic Luftreiniger und wollte den mal einbinden…

Das Modul hab ich aus dem Store installiert und die Userdaten eingegeben… Leider komme ich über die Anmeldung nicht hinaus…
es erscheint nur Anmeldung fehlgeschlagen… Mit den gleichen Daten hab ich mich dann problemlos auf der Dyson-Website angemeldet…
Irgendeine Idee? :wink:

Hallo,

so ganz werde ich aus Deinen Anmerkungen nicht schlau. Wo hast Du was genau gemacht?
Als erstes muss man ja die Konfigurator-Instanz anlegen, die dann eine Splitte und eine IO-INstamz anlegen und dazu auch nach Daten fragen.
Dann kannst du die Konfigurator-Instanz konfigurieren und dann hast Du was gemacht? Und was passiert im Debug der Konfigurator-Instanz?

demel

Ich hab das Modul über den ModulStore installiert…
Dabei wurde automatisch die Konfigurator-Instanz angelegt. Dort hab ich die Web-Zugangsdaten eingegeben…
Lt Doku sollten dann im Konfigurator die hinterlegten Dyson-Produkte auswählbar sein…

Im Debug des Moduls steht folgendes…
26.01.2021, 19:30:43 | doLogin | http-post: url=https://appapi.cp.dyson.com/v1/userregistration/authenticate?country=de
26.01.2021, 19:30:44 | doLogin | => errno=0, httpcode=403, duration=0,15s
26.01.2021, 19:30:44 | doLogin | => cdata=error code: 1020
26.01.2021, 19:30:44 | doLogin | new auth=

Es werden keine Produkte angezeigt… Die Meldung „Anmeldung fehlgeschlagen“ erscheint, wenn ich auf den Button „erneut anmelden“ klicke…

Ich hab gerade nochmal geschaut, ob die Anmeldedaten auch richtig sind… Sollte eigentlich so sein…

Wechsel bitte auf Modulstore/Beta. Ich vermute den Fehler, den ich 3 Post drüber beschrieben hatte (17.01.21, 19:13)

demel

Das war es… Mit der Beta-Version funktioniert die Anmeldung und ich sehe das Gerät… dann schaue ich mal weiter… :wink:

Gerät mal komplett einebunden… Sieht gut aus soweit… scheint alles zu funktionieren… Tolles Modul… Danke dafür…

Hallo,

unter welcher ID und Bezeichnung läuft denn dein Dyson nun? Die Modellbezeichnung Dyson Pure Hot+Cool Cryptomic habe ich ja bisher nicht im Modul hinterlegt

demel

Hallo, und super Idee mit dem Modul.
Frage: Wäre es möglich bei der Anmeldung auch Österreich mit rein zu nehmen?
bekomme so keine Anmeldung.
Danke wäre super.

ja, gerne. melde mich, wenn ich es eingebaut habe, spätestens am WE

gruß
demel

Hallo,
so ich habe nochmal etwas geschaut und nachgedacht.
In der API gibt es nur eine Angabe der Sprache (en oder de). aber das hat mit dem Vertriebsgebiet nicht zu tun.
Wie redest Du dich denn an? Mit OAuth (als über Symcon-Connect) oder Entwicklerschlüssel?
Bei dem Entwicklerschlüssel habe ich im Code einen (ungetesten) Eintrag für „Austria“ mit dem Wert „de-AT“.
Bei OAuth ist die Login-Seite original von Miele, da habe ich keine Einfluss drauf.

Also, wie geht Du genau vor und wo ist Dein Problem?

gruß
demel

Ich danke dir für deine Bemühungen, habe es jetzt hinbekommen. Musste auf Dyson Deutschland ein Konto eröffnen. Gruß Heinz

Hallo,

ich muss mich entschuldige, ich hatte irgendwie gedacht, es bezog sich auf das Miele-Modul … wenn ich schon mal anfange zu denken.

Natürlich kann ich da weitere Language-Codes einbauen. Brauchst es zwar nicht ehr, aber vielleicht wird es ja nochmal benötigt.

Gruß
demel

Hallo demel,

leider funkt es nicht mehr mit dem Dyson. Habe neu die Beta installiert, aber kein Erfolg. Kann mich nicht anmelden. Bekomme immer die Meldung im Dyson Konfigurator: Anmeldung fehlgeschlagen. Das Konto ist aber über App erreichbar. Debug fehlermeldung: httpcode=429

Bitte um Hilfe. Gruß Heinz

Hallo,

irgendwie ist für Dich der Dienst auf dem Dyson-Server nicht erreichbar. Der Code sagt ja , das der Server an sich erreichbar ist, aber der Dienst („Endpoint“) nicht.
Bei mir läuft der Zugriff unverändert, ist also kein systematisches Problem.

Vielleicht hat er doch ein Problem damit, das Du in Österreich über ein deutsches Konto arbeitest ??

Keine Ahnung,

Ich habe mal die Längerauswahl ergänzt (im Modulstore als Beta).
Kannst es ja vielleicht einmal damit probieren, dein Ö-Konto direkt zu benutzen

Gruß
demel

.Danke für deine schnelle Antwort, aber auch mit dieser Version kein Erfolg. Ist httpcode=429 nicht eine Ablehnung wegen zu viele Abfragen. Dieser Code kam aber schon ab der ersten Anmeldung. Wenn ich die KonfigInstanz anlege muß sich gleichzeitig auch die Splitt- und die IOInstanz anlegen ?, denn das tut es nicht. Oder werden die Instanzen erst mit der DysonDevice Instanz angelegt.
MfG.

ja, du hast recht. 429 bedeutet too many requests.
die Abfrage zum Dyson-Server ist schon sehr selten, eigentlich nur im Konfigurator bei Aufruf und im Device all 60m (Standardwert,
änderbar).
Der Rest findet nur zwischen IPs und dem MQTT-Server im Dyson-Gerät

demel