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

mark79

Zitat von: timmmmmey am 11 Januar 2018, 14:21:59
App/FHEM + Offline scheint derzeit nicht zu gehen, sobald das WLAN eingerichtet ist. Ein Github-User bastelt gerade an einem Ersatz für den Client auf dem Roboter -> https://github.com/dgiese/dustcloud/issues/15 . Hoffe mal ich kann das die Tage mal testen :)
Das ist nicht ganz richtig, bei mir geht es: https://www.awesomescreenshot.com/image/3092851/a0478efdcdf0c1fa70b442fdedca9a78

Wie habt ihr den Robi ins Wlan gebracht? Per Hand mit editieren von device.conf und wpa_supplicant.conf?
Ich habe es mit der Mi Home APP gemacht und den Robi danach im Router geblockt.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Ma_Bo

Zitat von: mark79 am 11 Januar 2018, 20:25:50
Das ist nicht ganz richtig, bei mir geht es: https://www.awesomescreenshot.com/image/3092851/a0478efdcdf0c1fa70b442fdedca9a78

Wie habt ihr den Robi ins Wlan gebracht? Per Hand mit editieren von device.conf und wpa_supplicant.conf?
Ich habe es mit der Mi Home APP gemacht und den Robi danach im Router geblockt.

Bei mir funktioniert diese Methode auch.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

drhirn

Wenn er bei mir wifi_state = connecting hat (was passiert, wenn ich den Internetzugriff blocke), dann kann ich ihn nicht über FHEM steuern.

ZitatWie habt ihr den Robi ins Wlan gebracht? Per Hand mit editieren von device.conf und wpa_supplicant.conf?
Nein. Durch Editieren der /mnt/data/miio/wifi.conf ;)

mark79

Bei mir steht er auch auf "wifi_state = connecting", das steuern über Fhem geht trotzdem und die Readings werden auch aktualisiert.

Vielleicht noch mal neu Verbinden mit der Mi Home APP. Der root bleibt erhalten.
Was vllt. noch sein könnte, das ihr python-mirobo verwendet, anstatt python-miio. Ist aber nur eine Vermutung.
https://github.com/dgiese/dustcloud/pull/31
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

timmmmmey

Zitat von: mark79 am 11 Januar 2018, 21:39:48
Bei mir steht er auch auf "wifi_state = connecting", das steuern über Fhem geht trotzdem und die Readings werden auch aktualisiert.

Vielleicht noch mal neu Verbinden mit der Mi Home APP. Der root bleibt erhalten.
Was vllt. noch sein könnte, das ihr python-mirobo verwendet, anstatt python-miio. Ist aber nur eine Vermutung.
https://github.com/dgiese/dustcloud/pull/31

Hab ich jetzt auch geschafft. Hatte noch eine private IP in der Hostfile eingetragen. Dann macht der Robo anscheinend gar nichts. Über den Router geblocked, kann ich den auch einigermaßen erreichen, dennoch ist ca. alle zwei Minuten die Verbindung weg.
Werde also weiter auf den alternativen Client warten

erdnar

Eine Frage am Rande:
Hat eine/r eine Übersicht aller (Fehler-)Meldungen die der Sauger an Fhem senden könnte?
Vorab vielen Dank.
Erdnar

Markus M.

Zitat von: erdnar am 13 Januar 2018, 12:46:17Hat eine/r eine Übersicht aller (Fehler-)Meldungen die der Sauger an Fhem senden könnte?
Der Code des Moduls hat die:my %vacuum_states = ( '0' => "Unknown",
                      '1' => "Starting up",
                      '2' => "Sleeping",
                      '3' => "Waiting",
                      '4' => "Remote control",
                      '5' => "Cleaning",
                      '6' => "Returning to base",
                      '7' => "Manual mode",
                      '8' => "Charging",
                      '9' => "Charging problem",
                     '10' => "Paused",
                     '11' => "Spot cleaning",
                     '12' => "Malfunction",
                     '13' => "Shutting down",
                     '14' => "Software update" ,
                     '15' => "Docking" , );


my %vacuum_errors = ( '0' => "None",
                      '1' => "Laser sensor fault",
                      '2' => "Collision sensor fault",
                      '3' => "Wheel floating",
                      '4' => "Cliff sensor fault",
                      '5' => "Main brush blocked",
                      '6' => "Side brush blocked",
                      '7' => "Wheel blocked",
                      '8' => "Device stuck",
                      '9' => "Dust bin missing",
                     '10' => "Filter blocked",
                     '11' => "Magnetic field detected",
                     '12' => "Low battery",
                     '13' => "Charging problem",
                     '14' => "Battery failure",
                     '15' => "Wall sensor fault",
                     '16' => "Uneven surface",
                     '17' => "Side brush failure",
                     '18' => "Suction fan failure",
                     '19' => "Unpowered charging station",
                     '20' => "Unknown" , );
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

erdnar

Zitat von: Markus M. am 14 Januar 2018, 01:28:46
Der Code des Moduls hat die:
...

Das zählt nicht, war zu einfach  ::)
...
Danke.

lenoxef

Mahlzeit, ich versuche gerade mich per Telegram benachrichtigen zu lassen wenn der Roboter irgendwo fest steckt..

bisher habe ich das mit einem DOIF beispielhaft für das Laden gelößt. Das sieht aktuell so aus:

([Staubsauger:state] eq "Docked") (set Telegram send @xxxxxxxxx Staubsauger ist in der Ladestation angekommen)
DOELSEIF
([Staubsauger:state] eq "Returning to base") (set Telegram send @xxxxxxxxx Staubsauger fährt zur Ladestation zurück)


Jetzt müsste ich für jeden Status der eintreten kann eine Zeile im DOIF ergänzen...

Kann man nicht einfach bei Änderung von "state" den Wert von "state" per Telegram senden? Wenn ja, wie?

drhirn

Zitat von: lenoxef am 15 Januar 2018, 15:10:26Jetzt müsste ich für jeden Status der eintreten kann eine Zeile im DOIF ergänzen...

Kann man nicht einfach bei Änderung von "state" den Wert von "state" per Telegram senden? Wenn ja, wie?

Hätte ich im DOIF-Bereich nachgefragt.

Aber sowas könnte z.B. funktionieren:

define diRoboterStatus doif ([Roboter])(set Telegram send @xxxxxxxxx Roboter-Status: $EVENT)
attr diRoboterStatus do always

gt_im

Zitat von: lenoxef am 15 Januar 2018, 15:10:26
Mahlzeit, ich versuche gerade mich per Telegram benachrichtigen zu lassen wenn der Roboter irgendwo fest steckt..

bisher habe ich das mit einem DOIF beispielhaft für das Laden gelößt. Das sieht aktuell so aus:

([Staubsauger:state] eq "Docked") (set Telegram send @xxxxxxxxx Staubsauger ist in der Ladestation angekommen)
DOELSEIF
([Staubsauger:state] eq "Returning to base") (set Telegram send @xxxxxxxxx Staubsauger fährt zur Ladestation zurück)


Jetzt müsste ich für jeden Status der eintreten kann eine Zeile im DOIF ergänzen...

Kann man nicht einfach bei Änderung von "state" den Wert von "state" per Telegram senden? Wenn ja, wie?


wie wäre es so:
define Staubsauger_nachricht notify Staubsauger set Telegram send @xxxxxxxxx $NAME $EVENT


dgi

Hallo zusammen,
also das mit dem Miio_Client wird sich noch etwas hinziehen, habe gerade noch ein anderes Projekt laufen... geht aber auch um Xiaomi.

Das mit dem MD5 Fehler kommt wohl daher, dass die App Schnittstelle nicht komplett hoch kommt, wenn der Staubsauger keine Verbundung zur Cloud hatte. Habe zwar eine abgespeckte Dustcloud gebaut (ohne DB, ohne Webserver), die das emuliert, allerdings habe ich aktuell Probleme python-miio auf dem Staubi zu installieren. Außerdem ist auch die Frage, ob man eine komplette Python3 Distro da drauf haben will.
Langfristig kommen wir nicht um ein Modul herum, weil die Kartendaten in der SQLite DB liegen. Es gibt bereits ein Tool, was die ausliest, aber das muss man erstmal triggern.

Dennis

nichdu

Zitat von: gt_im am 15 Januar 2018, 20:04:23
wie wäre es so:
define Staubsauger_nachricht notify Staubsauger set Telegram send @xxxxxxxxx $NAME $EVENT
Das war jetzt auch gar nicht so zweckmäßig. Hab es für meine Zwecke an Pushover angepasst. Wurde gerade ziemlich zugespammt.https://i.imgur.com/THQ576h.jpg

no_Legend

Zitat von: nichdu am 18 Januar 2018, 10:00:33
Das war jetzt auch gar nicht so zweckmäßig. Hab es für meine Zwecke an Pushover angepasst. Wurde gerade ziemlich zugespammt.https://i.imgur.com/THQ576h.jpg

Ein bischen genauer solltest du schon schreiben was du erwartest.
Was willst du denn für Nachrichten Überhaupt haben?
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

MadMax-FHEM

Zitat von: nichdu am 18 Januar 2018, 10:00:33
Das war jetzt auch gar nicht so zweckmäßig. Hab es für meine Zwecke an Pushover angepasst. Wurde gerade ziemlich zugespammt.https://i.imgur.com/THQ576h.jpg

Dann würde ich empfehlen in der commadref zu Notify zu lesen: https://fhem.de/commandref_DE.html#notify

Denn dein Notify triggert auf alles was der Sauger an Events produziert.

Wie no_Legend schon geschrieben hat: genauer sagen was du willst...
...oder eben lesen und selber einschränken (regex), dass nur noch gemeldet wird was du willst.

Es geht auch den EventMonitor zu öffnen, warten bis die gewünschte "Nachricht" auftaucht, diese dann markieren und "create/modify" das Notify anlegen lassen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)