[Modul] Dyson

Hallo,

ich habe ein Modul zur Einbindung der Dyson-Geräte geschrieben, die per Dyson Link App angebunden werden können.
Das umfasst offensichtlich Lüfter und Staubsaugerroboter.

Ist im Modul-Store als Beta unter dem Namen Dyson vorhanden und unter https://github.com/demel42/IPSymconDyson.git.

Das Modul benötigt das installierte Modul [Modul] MQTTClient. An dieser Stelle herzlichen Dank an KaiS, der mir mit diesem Modul die Arbeit mit der MQTT-Kommunikation deutlich erleichtert hat.

Ich habe das bisher nur für ein bestimmten Typ (Produkt-Typ 438 - Dyson Pure Cool Turmventilator mit Luftreiniger) realisiert.
Grundsätzlich funktioniert die Kommunikation bei den diversen Modelle gleich, es gibt aber einige Unterschiede.

Wenn jemand einen noch nicht unterstützten Typ besitzt und einbinden möchte, bitte folgendes machen

  1. [li]Dyson Konfigurator installieren und das gewünschte Gerät anlegen
    [/li][li]In der Gerät-Konfiguration findet sich die Dyson Produkt-Nummer - diese benötige ich dann zusammen mit der korrekten Typenbezeichnung.
    [/li][li]Dann bitte folgende Schritte durchführen:
    [/li]
    [ul]
    [li]Instanz-Debug aktivieren und groß genug dimensionieren
    [/li][li]Action Status aktualisieren auslösen
    [/li][/ul]

Die Informationen und den Debug dann bitte an mich schicken (demel42@web.de)

gruß
demel

Beta

1.2 @ 22.07.2020 12:20

Stable

1.1 @ 19.07.2020 16:54

  • Modell 455 (Dyson Pure Hot+Cool Turmventilator mit Luftreiniger (HP02)) hinzugefügt mit Unterstützung durch jbr27
  • fehlende Systemvoraussetzungen im Konfigurationsformular anzeigen
  • Nutzung von HasActiveParent(): Anzeige im Konfigurationsformular sowie entsprechende Absicherung von SendDataToParent()

1.0 @ 11.07.2020 12:51

  • Initiale Version

Reserviert

Hi demel,

vielen Dank für das Modul.

Erste Installation und Test ohne Probleme.

Gruß

Uli

Gesendet von iPhone mit Tapatalk

prima. Hast Du das gleiche Modell?
demel

Ja, habe ich.

Uli

Gesendet von iPhone mit Tapatalk

Guten Morgen demel,

heute morgen mal ein bisschen gespielt und dann hatte ich ein paar Fehlermeldungen im Log:


15.07.2020, 07:45:24 | FlowHandler          | Kann Daten nicht zur Instanz #18605 weiterleiten: <br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>539</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>539</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>539</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>539</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>540</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>541</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>637</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>637</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>638</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>657</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>657</b><br />
<br />
<b>Notice</b>:  Trying to access array offset on value of type int in <b>/mnt/data/symcon/modules/.store/demel42.dyson/DysonDevice/module.php</b> on line <b>658</b><br />
RESULT:

ID 18605 = Device

Gerade gesehen, ein Update war im beta Kanal verfügbar, habe ich jetzt installiert, aber noch nicht getestet, werde es beobachten!

Gruß
Uli

Hi demel,

o.a. Fehler ist nach wie vor vorhanden.

Beim Drehmodus, Drehwinkel und Luftstromrichtung taucht es auf, mehr habe ich nicht getestet.

MQTT Client ist 1.1 vom Kai, Symcon latest 5.5 vom 13.07.2020.

Oder habe ich noch etwas falsch konfiguriert?

Uli

hallo,

da war ein Bug bei dem STATE-CHANGE und dem Ändern des Drehwinkels. Ich habe es gerade als Beta eingestellt.
Ich nehme an, das das Update, das du erwähnt hast, noch etwas anderes betraf, also sicherheitshalber nochmal auf update prüfen

demel

Hi demel,

Update durchgeführt, kurzer Test, Fehler sind weg, vielen Dank!

Uli

Hallo demel42,

vielen Dank für die Entwicklung des Moduls.
Mit dem Produkt-Typ 438 funktioniert bei mir alles einwandfrei.

Ich habe dir gerade eine E-Mail mit einem Debug-Log von dem Produkt-Typ 455 (Dyson Pure Hot+Cool Link) gesendet.
Die Änderung auf den Produkt-Typ 438 hat leider gezeigt, dass die bestehenden Variablen nicht mit dem Produkt-Typ 455 funktionieren.

Hi demel42

Vielen Dank für das Modul. Ich habe einen Pure Cool Turmventilator von Dyson.
Das Modul sowie das MQTT von KaiS habe ich installiert. Wenn ich das Gerät über den Konfigurator erstelle , werden „nur“ 3 Variablen angelegt.

Über den Testmodus kann ich z.B. per {„fpwr“:„ON“} den Venti einschalten. Die Kommunikation scheint also zu funktionieren.

Wie bekomme ich nun z.B. die Messwerte von Temp. NO² etc. bzw. wie steuere ich nun den Venti.

Ich habe bisher leider noch keine Erfahrungen mit MQTT , deshalb evtl. die „dumme“ Frage. Oder ich stehe auf dem Schlauch. :confused:

Danke schon mal für die Hilfe :smiley:

EDIT

habe gerade gesehen, das ich einen TYP 520habe. Es ist der kleinere Venti (Tischversion).
wahrscheinlich liegt es daran.

/EDIT
Oliver

Hallo olima,

welche Nummer wird als Produkt-Typ im Konfigurator des Moduls angezeigt?

Viele Grüße,
jbr27

Wie schon im EDIT

520

mache mal einen Debug .

Habe den Debug mal an demel42 gesendet. evtl. kann er den dann einbinden.

Es handelt sich um die Tischversion des Turmventilators.
Dyson Pure Coolᵀᴹ Tischventilator Luftreiniger DP04

Oliver

Mail ist auf dem Weg

demel

HI demel42

das hat funktioniert. Jetzt sind alle Variablen da.

Testen werde ich das morgen . Sieht aber gut aus.

Vielen Dank für die schnelle Integration.

Oliver

Ich hätte auch noch eine kurze Anregung für eine Verbesserung des Moduls.

Wir haben einen Dyson-Luftreiniger an einer Steckdosenleiste, welche nicht immer an ist (um Strom zu sparen) und sobald das Modul bzw. der MQTT-Client die Verbindung verliert, wird der Symcon-Log im Sekundentakt mit Warnungen überflutet:


28.07.2020, 08:47:33 | MQTTClient           | Connect failed (No route to host)
28.07.2020, 08:47:33 | DysonDevice          | has no active parent instance

Kann man diese Warnung irgendwie unterdrücken oder die MQTT-Instanz mit einem Ereignis deaktivieren? Wenn ich händisch die MQTT-Instanz deaktiviere, dann wird sie automatisch sofort wieder aktiviert, wenn das Moduls eine Anfrage startet.

Aktuell lösche ich das Dyson Device und die MQTT-Client-Instanz, wenn die Steckdosenleiste aus ist.

Hallo

Soweit scheint es nun zu funktionieren. Ich kann in der Testumgebung die einzelnen Funktionen schalten.
Nur wie bekomme ich das in einem Skript hin … stehe da irgendwie auf den Schlauch. :confused:
Wäre für ein kurzes Code Beispiel dankbar. :slight_smile:

Danke

Oliver

Hallo,

Ich werde in das DysonDevice noch einbauen, das die Instanz deaktiviert ist, womit die zyklische Abfrage unterbleiben wird ( wundert mich etwas, das das fehlt, weil ich das in alle Module einbaue ).
Wie deaktivierst du denn den MQTTClient-Splitter?
meiner Erfahrung nach der MQTTClient macht alle 5s den Versuch, den IO wieder zu aktivieren. Das das nicht mein Modl ust, habe ihc da keinen unmittelbaren Ansatz.

Gruß
demel