Xiaomi WiFi Devices Modul (Vacuum/Airpurifier/Fan) - 72_XiaomiDevice (Support)

Begonnen von Markus M., 11 Juni 2017, 12:48:58

Vorheriges Thema - Nächstes Thema

Markus M.

Readings nochmal löschen, Anhang ausprobieren
Wenn das nicht passt musst du mit JSON  rausfinden was deine Lampe tatsächlich zurückgibt, einzeln je Reading.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Manul

Zitat von: Manul am 02 Juli 2017, 18:39:18
Okay. Kann man die interne Zeit und Zeitzone des Geräts irgendwie auslesen oder gar setzen? Falls nicht, was hältst Du von einer automatischen Umrechnung localtime<->UTC+8?

Zwischen den längeren Beiträgen untergegangen oder keine Lust zu antworten? Ich würde so eine Konvertierung implementieren, aber nur, wenn Du sie eventuell auch einbauen würdest.

darthi

Zitat von: Markus M. am 02 Juli 2017, 20:08:38
Readings nochmal löschen, Anhang ausprobieren
Wenn das nicht passt musst du mit JSON  rausfinden was deine Lampe tatsächlich zurückgibt, einzeln je Reading.
Danke! Beim Anhang passen die Readings nun.

Markus M.

Zitat von: Manul am 02 Juli 2017, 20:13:46
Zwischen den längeren Beiträgen untergegangen oder keine Lust zu antworten? Ich würde so eine Konvertierung implementieren, aber nur, wenn Du sie eventuell auch einbauen würdest.

Ich hab mir das mal angesehen.
Spätestens wenn sich dann die Tage auch noch ändern, macht das keinen Spass mehr.
Ich würde auf Xiaomi warten.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Manul

Zitat von: Markus M. am 02 Juli 2017, 20:29:24
Spätestens wenn sich dann die Tage auch noch ändern, macht das keinen Spass mehr.

Wie gesagt: Ich biete an, mich dran zu versuchen.

Zitat von: Markus M. am 02 Juli 2017, 20:29:24
Ich würde auf Xiaomi warten.

Rechnest Du denn damit, daß da noch was kommt? Ich wäre eher skeptisch.

Hast Du mal mitgeschnitten, welchen Offset die App beim Einrichten sendet? Die meisten von uns dürften die App ja auf "mainland China" gestellt haben, vielleicht sendet sie ja deswegen UTC+8 statt lokaler Zeit.

Markus M.

Zitat von: Manul am 02 Juli 2017, 23:26:44Hast Du mal mitgeschnitten, welchen Offset die App beim Einrichten sendet? Die meisten von uns dürften die App ja auf "mainland China" gestellt haben, vielleicht sendet sie ja deswegen UTC+8 statt lokaler Zeit.
Die App sendet als Offset 7200, (nur) beim Air Purifier auch noch die Zeitzone Berlin als Text.

Wenn du basteln möchtest:
Ich würde ein Attribut für den Offset oder die Zeitzone anlegen, eine Funktion schreiben die Stunden entgegennimmt und die berechneten Stunden nebst Tagesoffset ausspuckt.
Wenn man einen Timer für mehrere Tage anlegt wird das aber hässlich.
Wenn man den Sauger in der Ladestation parkt, braucht man die Timer ja sowieso nicht.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Manul

Zitat von: Markus M. am 02 Juli 2017, 23:39:27
Ich würde ein Attribut für den Offset oder die Zeitzone anlegen, eine Funktion schreiben die Stunden entgegennimmt und die berechneten Stunden nebst Tagesoffset ausspuckt.

Ich schau's mir mal an. Welchen Offset würdest Du denn ins Attribut schreiben? Ich hätte jetzt den lokalen aus der localtime ausgelesen und für die interne Zeit fest UTC+8 angenommen.

Zitat von: Markus M. am 02 Juli 2017, 23:39:27
Wenn man einen Timer für mehrere Tage anlegt wird das aber hässlich.

Müsste aber auch gehen. Kurz nachgefragt, ob ich den datestring richtig verstanden habe:

- Für einen täglichen Timer wird der ds als "* * *" gesetzt und als "* * all" vom Sauger ausgegeben
- Für ein festes Datum ist der ds "<d> <m> *" mit <d> = Tag und <m> = Monat
- Für Wiederholung an bestimmten Tagen wird "* * X" gesetzt und "* * Y" ausgegeben. Hierbei besteht X aus beliebigen Elementen "0" (Sonntag) bis "7" (Samstag), Y entsprechend aus "Su" bis "Sa". Einzelne Elemente werden durch Leerzeichen getrennt

Soweit richtig? Hab ich noch was übersehen?

Zitat von: Markus M. am 02 Juli 2017, 23:39:27
Wenn man den Sauger in der Ladestation parkt, braucht man die Timer ja sowieso nicht.

Warum? Da hab ich wohl irgendwas nicht mitgekriegt.

Markus M.

Zitat von: Manul am 03 Juli 2017, 10:50:23
Ich schau's mir mal an. Welchen Offset würdest Du denn ins Attribut schreiben? Ich hätte jetzt den lokalen aus der localtime ausgelesen und für die interne Zeit fest UTC+8 angenommen.
Eigentlich müsste man da die Ziel-Zeitzone reinschreiben, also z.B. was auch immer China hat.
Der Unterschied wird dann aus der Zeitzone des Systems berechnet.
Klappt bei abweichender Sommerzeit aber auch nicht wirklich durchgängig :)

ZitatMüsste aber auch gehen. Kurz nachgefragt, ob ich den datestring richtig verstanden habe:
- Für einen täglichen Timer wird der ds als "* * *" gesetzt und als "* * all" vom Sauger ausgegeben
- Für ein festes Datum ist der ds "<d> <m> *" mit <d> = Tag und <m> = Monat
- Für Wiederholung an bestimmten Tagen wird "* * X" gesetzt und "* * Y" ausgegeben. Hierbei besteht X aus beliebigen Elementen "0" (Sonntag) bis "7" (Samstag), Y entsprechend aus "Su" bis "Sa". Einzelne Elemente werden durch Leerzeichen getrennt
Soweit richtig? Hab ich noch was übersehen?
Jepp. Mit verbose 5 siehst du was gesendet wird.


ZitatWarum? Da hab ich wohl irgendwas nicht mitgekriegt.
Weil der einzige Fall in dem ein interner Timer überhaupt Sinn machen könnte der ist, bei dem der Sauger das WLAN abgeschaltet hat weil er irgendwo in einem anderen Stockwerk rumsteht. (Und ich weiss noch nicht mal ob das überhaupt klappen würde)
Im Normallfall gibt es absolut keinen Grund, das Reinigungsprogramm nicht ausschliesslich direkt aus FHEM zu starten.
Ich starte das Ding beispielsweise nachdem alle die Wohnung verlassen haben, nicht zu einer fixen Uhrzeit.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Otto123

Zitat von: Markus M. am 03 Juli 2017, 11:00:52
Ich starte das Ding beispielsweise nachdem alle die Wohnung verlassen haben, nicht zu einer fixen Uhrzeit.
Genauso mache ich das auch. Das ist ja auch mich ein Hauptgrund warum ich das in FHEM integriere.

Ohne FHEM und nur mit der App klappt es ja, egal welche Zeitzone im Hintergrund spielt (zumindest bei meinem einen Versuch)

Schaltet der das WLAN ab wenn er irgendwo rumsteht? habe ich noch gar nicht beobachtet. Letztens hatte ich ihn im OG die halbe Nacht stehen lassen und dann hat mein Automatismus (noch nicht perfekt) ihn in die Ladestation geschickt, da hat er natürlich rumgeningelt.  ;D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Manul

Zitat von: Markus M. am 03 Juli 2017, 11:00:52
Eigentlich müsste man da die Ziel-Zeitzone reinschreiben, also z.B. was auch immer China hat.

Kennst Du denn ein Beispiel, bei dem der Sauger eine andere Zeitzone als China (=UTC+8, keine Sommerzeit) hat?

Zitat von: Markus M. am 03 Juli 2017, 11:00:52
Klappt bei abweichender Sommerzeit aber auch nicht wirklich durchgängig :)

Kann man irgendwie auf die Sommerzeitumstellung triggern? Dann müsste man zu dem Zeitpunkt einfach nur die Zeiten aus den Readings neu berechnen und an den Sauger übertragen.

Zitat von: Markus M. am 03 Juli 2017, 11:00:52
Jepp. Mit verbose 5 siehst du was gesendet wird.

Danke, guter Tip!

Zitat von: Markus M. am 03 Juli 2017, 11:00:52
Im Normallfall gibt es absolut keinen Grund, das Reinigungsprogramm nicht ausschliesslich direkt aus FHEM zu starten.

Ist sicher auch Geschmackssache. Ich denke trotzdem, wenn der Sauger schon interne Timer hat, sollte man die auch über das Modul möglichst komfortabel stellen können.

Manul

Zitat von: Otto123 am 03 Juli 2017, 11:21:37
Ohne FHEM und nur mit der App klappt es ja, egal welche Zeitzone im Hintergrund spielt (zumindest bei meinem einen Versuch)

Echt? Da hat er sich an die Zeit gehalten, die Du in der App eingestellt hattest? Hat bei mir nicht geklappt, muß ich noch mal ausprobieren.

Zitat von: Otto123 am 03 Juli 2017, 11:21:37
da hat er natürlich rumgeningelt.  ;D

Bitte was hat er? ;)

Otto123

Ja ok, kommt wohl eher aus meiner Gegend und ist außerhalb von Mitteldeutschland ungebräuchlich
ningeln -> kläglich jammern  ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

zernima

Hallo,

ist es eigentlich normal das mein Robi anch gewisser Zeit auf "disconnected" geht?

Manul

Hat meiner bis jetzt nur einmal nach dem Firmware-Update gemacht. Steht er denn im Dock oder frei?

zernima