FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: dominik am 30 Oktober 2020, 21:26:31

Titel: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 Oktober 2020, 21:26:31
Hallo zusammen,

ich habe ein neues Modul zur Steuerung von Xiaomi WiFi Devices erstellt. Soll vorrangig dazu dienen fuer z.B. Xiaomi Cameras ein/aus/motion detection aktivieren/deaktivieren, etc..
Das Modul basiert auf python-miio (https://github.com/rytilahti/python-miio (https://github.com/rytilahti/python-miio)), hier die Liste der unterstuetzten Devices:
  airconditioningcompanion
  airconditioningcompanionv3
  airdehumidifier
  airfresh
  airfresht2017
  airhumidifier
  airhumidifierca1
  airhumidifiercb1
  airhumidifierjsq
  airhumidifiermiot
  airhumidifiermjjsq
  airpurifier
  airpurifiermiot
  airqualitymonitor
  alarmclock
  aqaracamera
  ceil
  chuangmicamera
  chuangmiir
  chuangmiplug
  cooker
  device
  fan
  fanp5
  fansa1
  fanv2
  fanza1
  fanza3
  fanza4
  gateway
  gatewayalarm
  gatewaydevice
  gatewaylight
  gatewayradio
  gatewayzigbee
  heater
  miotdevice
  philipsbulb
  philipseyecare
  philipsmoonlight
  philipsrwread
  philipswhitebulb
  plug
  plugv1
  plugv3
  powerstrip
  pwznrelay
  toiletlid
  vacuum
  viomivacuum
  waterpurifier
  wifirepeater
  wifispeaker
  yeelight


Das Modul unterstuetzt aktuell nur Kommandos die keine weiteren Argumente benoetigen. Z.B. ein Lautstaerke setzen geht noch nicht, on/off, motion aktivieren/deaktivieren geht. Bitte beachtet, dass das Modul sehr generisch aufgebaut ist, fuer Saugroboter/Airpurifier sollte das Modul von Markus hier verwendet werden: https://forum.fhem.de/index.php/topic,73052.0.html

Installation (Basisinstallation fhem_pythonbinding)
https://github.com/dominikkarall/fhem_pythonbinding

Nutzung miio Modul:
https://github.com/dominikkarall/fhem_pythonbinding/blob/master/FHEM/bindings/python/lib/miio/README.md

Ich nutze es aktuell nur um die Ueberwachung auf meinen Kameras zu aktivieren/deaktivieren.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: neturmel am 20 November 2020, 11:13:38
Hi,

ich nutze das Modul dafür, meinen Xiaomi Mijia G1 über FHEM zu steuern, da ich mir dafür ein python-miioo Modul gebaut habe.
Das funktioniert prima, wäre aber noch schöner, wenn man den Status sehen könnte oder noch besser als Reading hätte.

Leider habe ich eigentlich nicht wirklich Zeit, auch noch am FHEM zu basteln, aber da jetzt ja schon ein Teil funktioniert...

Wie würde man denn vorgehen, um z.B. das:


miiocli  g1vacuum --ip 192.168.... --token 82... status
State: G1State.Sweeping
Error: G1Error.Everything_is_ok
Battery: 42%
Mode: G1Mode.Global_clean
Mop State: G1MopState.Off
Charge Status: G1ChargeState.Not_charging
DND enabled: False
Direction: None
Fan speed: G1FanLevel.Standard
Water level: G1WaterLevel.Level2
Filter Life Level: 65%
Brush Life Level: 82%
Side Brush Life Level: 63%
Clean Area: 4768
Total Clean Area: 0
Clean Time: 70
Total Clean Count: 0


in FHEM-Readings zu mappen?
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 20 November 2020, 18:07:17
Hi,

eigentlich werden durch das miio Modul auch Readings angelegt und alle 300s automatisch per "status" aktualisiert. Erscheinen gar keine Readings bei dir mit dem Modul?
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: neturmel am 21 November 2020, 10:03:30
Es erscheinen leider nur Readings nach dem Aufruf eines set commands.

Eventuell passt die Umsetzung des Status-commands mit dem neuen get_properties_by_dataclass() da nicht (mein Modul entstand aus einem Pull Request für den dreame Sauger, der im Moment scheinbar ruht und den Status nur rudimentär anzeigt). Oder ich habe beim zusammen hacken (oder nennen wir es besser pfuschen) irgendwas kaputt gemacht.

Das muss ich mir dann doch mal an der Stelle nochmal genauer anschauen.

Raw Dev:

defmod staubi PythonModule miio g1vacuum 192.168.... 82...
attr staubi IODev local_pybinding
attr staubi icon vacuum_top
attr staubi room Wohnzimmer

setstate staubi online
setstate staubi 2020-11-20 10:48:35 accesspoint {'ssid': 'fleck', 'bssid': '98:9B:CB:21:D2:D5', 'rssi': -36, 'primary': 6}
setstate staubi 2020-11-19 17:29:53 find {'did': 'call-6-1', 'siid': 6, 'aiid': 1, 'code': 0}
setstate staubi 2020-11-20 10:48:35 firmware_version 2.0.8
setstate staubi 2020-11-20 10:48:35 hardware_version esp32
setstate staubi 2020-11-20 10:48:35 mac_address 64:90:C1
setstate staubi 2020-11-20 10:48:35 model mijia.vacuum.v2
setstate staubi 2020-11-20 10:48:35 network_interface {'localIp': '192.168.', 'mask': '255.255.255.0', 'gw': '192.168.178.1'}
setstate staubi 2020-11-20 10:48:35 raw {'life': 53248, 'uid': 633960, 'model': 'mijia.vacuum.v2', 'token': '82', 'ipflag': 1, 'fw_ver': '2.0.8', 'mcu_fw_ver': '6138', 'miio_ver': '0.0.8', 'hw_ver': 'esp32', 'mmfree': 64144, 'mac': '64:90:C1', 'wifi_fw_ver': 'cef6c09-dirty', 'ap': {'ssid': 'fck', 'bssid': '98:9B:CB:21:D2:D5', 'rssi': -36, 'primary': 6}, 'netif': {'localIp': '192.168.', 'mask': '255.255.255.0', 'gw': '192.168.178.1'}}
setstate staubi 2020-11-19 17:34:06 return_home {'did': 'call-2-3', 'siid': 2, 'aiid': 3, 'code': 0}
setstate staubi 2020-11-19 17:33:44 start {'did': 'call-2-1', 'siid': 2, 'aiid': 1, 'code': 0}
setstate staubi 2020-11-21 06:19:00 state online
setstate staubi 2020-11-19 17:33:35 stop {'did': 'call-2-2', 'siid': 2, 'aiid': 2, 'code': 0}
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 21 November 2020, 17:41:57
Kannst du mir mal den Link zum miio Code schicken wo der g1vacuum integriert wurde? Dann kann ich nachschauen warum die anderen Statuswerte da nicht übernommen werden.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: neturmel am 23 November 2020, 07:41:11
Ich habe mein python-miip-g1vacuum Modul jetzt so umgeschrieben, dass der Status als Objekt zurück geliefert wird (Danke @dominik ) und bekomme jetzt auch Readings.

Einen Pull Request als Basis zu nehmen, war im Nachhinein keine gute Idee. Die neuen Miot_Device-Funktionen, die u.a. darin implementiert wurden,
sind noch nicht so richtig ausgereift und liefern nicht immer das, was man erwartet.

Ich habe jetzt den Master-Branch als Basis genommen und das Mapping und die Abfrage der Properties wie in den bisherigen MIOT-Devices kodiert.

Habe mal einen Pull-Request (https://github.com/rytilahti/python-miio/pull/867/files) angelegt.

Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: neturmel am 23 November 2020, 17:14:01
Ich finde das mit den Python-Bindings übrigens toll, gerade wenn man sonst eher mit Python als mit Perl arbeitet, kommt man wirklich schnell zu brauchbaren Ergebnissen.

Super Arbeit!
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 23 November 2020, 20:11:29
Super, freut mich, dass alles so gut geklappt hat!

Ich hoffe der PR wird akzeptiert und damit können dann alle den g1vacuum schnell nutzen.
Falls der g1vacuum auch History, usw. abrufen kann, habe ich schon mal ein Attribut vorbereitet mit dem man alle x Sekunden den Status abfragen kann. Ich muss es nur noch selbst testen.

Zum PythonBinding: Alleine wenn ich mir die Liste der Module ansehe (https://github.com/dominikkarall/fhem_pythonbinding#fhem-python-binding-beta) die ich in kürzester Zeit erstellt habe, zeigt sich, dass man mit den Python Libraries wirklich schnell in der Entwicklung ist...und noch dazu alles aynchron ohne Blocking :)
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 27 November 2020, 23:36:09
Hallo
Ich nutze das Modul auch für meinen Xiaomi Saugroboter. Das Modul von Markus 72_XiaomiDevice scheint meinen Saugroboter nicht zu unterstützen. Mit diesem Modul funktioniert es schon sehr gut.
Ich habe es nur noch nicht herausgefunden, wie ich den move Befehl richtig setzte.
Wenn ich das richtig gesehen habe muss ich die Richtung angeben. 1 für forward und dann die Dauer. Nur die genaue Schreibweise finde ich nicht raus.
Ist das schon mitberücksichtigt oder geht das einfach noch nicht.
Gebe ich z.b. set Martha_1 move 1 100 ein bekomme ich folgendes im Pyhtonbinding log angezeigt.


2020-11-27 23:18:12,557 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:90> exception=AttributeError("'float' object has no attribute 'value'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 109, in send_command
    reply = await utils.run_blocking(functools.partial(fct, *args))
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 28, in run_blocking
    pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 372, in move
    self.send("set_direction", [direction.value])
AttributeError: 'float' object has no attribute 'value'



Leider werde ich daraus nicht schlau.


Gruß

Stephan
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 28 November 2020, 11:41:46
Hi,

probier bitte mal
set Martha_1 move Forward 100
Die Direction Angabe ist nämlich ein Enum (https://github.com/rytilahti/python-miio/blob/master/miio/viomivacuum.py#L148) daher müssen die Namen angegeben werden. Ich muss da noch eine Hilfefunktion für solche Commands integrieren, so dass man "move ?" machen kann und damit eine Hilfe zu den Optionen bekommt. Weil Funktionen mit mehreren Parametern können in FHEM leider keine Auswahlliste haben (zumindest ist mir diese Funktion nicht bekannt).
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 28 November 2020, 16:33:20
Hallo Dominik

Ich hatte schon so einige Variationen Probiert. Darunter war auch unter anderen set Martha_1 move Forward 100.
Meine bis jetzt erfolglos getesteten Variationen waren
2020-11-28_16:10:11 Martha_1 move Forward 100
2020-11-28_16:10:51 Martha_1 move Forward,100
2020-11-28_16:12:46 Martha_1 move forward 100
2020-11-28_16:13:23 Martha_1 move 100 Forward
2020-11-28_16:13:35 Martha_1 online
2020-11-28_16:13:35 Martha_1 ViomiVacuumState.Idle
2020-11-28_16:13:35 Martha_1 battery: 96
2020-11-28_16:13:35 Martha_1 move 100 forward
2020-11-28_16:13:48 Martha_1 move 100,forward
2020-11-28_16:13:59 Martha_1 move 100,Forward
2020-11-28_16:18:35 Martha_1 online
2020-11-28_16:18:35 Martha_1 ViomiVacuumState.Idle
2020-11-28_16:18:35 Martha_1 battery: 95
2020-11-28_16:19:58 Martha_1 move Forward.100
2020-11-28_16:20:11 Martha_1 move forward.100
2020-11-28_16:20:29 Martha_1 move 100.Forward

Leider waren alle kombinationen ohne Erfolg es kommt immer im Phytonbinding.log eine Fehlermeldung.
2020-11-28 16:30:16,179 - ERROR    - lib.utils: Error in asyncio thread
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 28, in run_blocking
    pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 372, in move
    while time.time() - start < duration:
AttributeError: 'str' object has no attribute 'value'
2020-11-28 16:30:16,181 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:90> exception=AttributeError("'str' object has no attribute 'value'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 109, in send_command
    reply = await utils.run_blocking(functools.partial(fct, *args))
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 28, in run_blocking
    pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 372, in move
    while time.time() - start < duration:
AttributeError: 'str' object has no attribute 'value'


Gruß

Stephan
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 28 November 2020, 19:55:51
Ich weiß schon was fehlt, die Annotation im Code. Ich vermute clean_mode kannst du auch nicht setzen, oder?

set_fan_speed liefert den richtigen Typ:
>>> inspect.signature(miio.viomivacuum.ViomiVacuum.set_fan_speed).parameters['speed'].annotation
<enum 'ViomiVacuumSpeed'>


move jedoch nicht:
>>> inspect.signature(miio.viomivacuum.ViomiVacuum.move).parameters['direction'].annotation
<class 'inspect._empty'>


Da muss im python-miio Code die Annotation hinzugefügt werden, dann wird es vom miio Modul auch richtig erkannt.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 28 November 2020, 20:02:27
Ich habe einen Pull Request dazu erstellt:
https://github.com/rytilahti/python-miio/pull/872
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 28 November 2020, 20:44:07
Total Klasse damit funktioniert es.
Jetzt ist es möglich den Sauger per move zu steuern.

Dann kann ich jetzt wieder weiter herum spielen.

Vielen dank und noch ein schönes Wochenende

Gruß

Stephan
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 28 November 2020, 20:52:26
Super, freut mich dass es klappt :)
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 29 November 2020, 15:07:50
Hi, ich schon wieder ^^

Token lesen klappt super, nur der Rest nicht so...  ;)

Vermutlich fehlt nur wieder ein Paket oder so...

Yeelight LED Bulb (Color):
Failed to load module miio: Traceback (most recent call last): File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 197, in _onMessage await asyncio.wait_for(func(hash, hash['defargs'], hash['defargsh']), fct_timeout) File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for return fut.result() File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 34, in Define for dev_cmd in self._miio_device_class.get_device_group().commands.keys(): AttributeError: 'miio' object has no attribute '_miio_device_class'

Roborock S5:
Failed to load module miio: Traceback (most recent call last): File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 197, in _onMessage await asyncio.wait_for(func(hash, hash['defargs'], hash['defargsh']), fct_timeout) File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for return fut.result() File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 34, in Define for dev_cmd in self._miio_device_class.get_device_group().commands.keys(): AttributeError: 'miio' object has no attribute '_miio_device_class'

Mi Home Security Camera 360° 1080P:
Failed to execute function Define: Traceback (most recent call last): File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 243, in _onMessage ret = await asyncio.wait_for(func(hash, hash['args'], hash['argsh']), fct_timeout) File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for return fut.result() File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 34, in Define for dev_cmd in self._miio_device_class.get_device_group().commands.keys(): AttributeError: 'miio' object has no attribute '_miio_device_class'



Vielen Danke und einen schönen restlichen Sonntag =)
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 29 November 2020, 15:25:18
Wie sieht dein define aus? Der Fehler sagt aus, dass das Device aus dem Define nicht gefunden werden konnte.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 29 November 2020, 16:49:15
Ok, Problem hat sich nach nem RPi Neustart erledigt.
Danke =)
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 30 November 2020, 18:04:14
Hey Hey, wie sieht es eig mit der Möglichkeit aus, auch die BT Dinge von Xiaomi zu schalten?
Ich Depp hab mir ausersehen eine BT Lampe geholt in Fernost... =/
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 November 2020, 19:00:51
Aktuell wäre das nur mit dem Xiaomi V3 Gateway möglich, dieser unterstützt Mesh Bluetooth. Ich habe auf folgender Basis dazu das xiaomi_gateway3 Modul gebaut:
https://github.com/AlexxIT/XiaomiGateway3

Die Bluetooth Integration habe ich noch nicht aus dem Projekt übernommen, würde ich aber umsetzen wenn es da Interesse daran gibt.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 30 November 2020, 19:48:19
Also, ich hätte Interesse dran, würde auch gerne alles aus einer Hand haben wollen. =)
Wäre schon geil, Danke!
Läuft ja dann über das RPi 3 BT, oder?
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 November 2020, 19:55:18
Nein, das läuft nur über den Xiaomi Gateway 3. Der Xiaomi Gateway stellt die BT Verbindung zu den Devices her und vom Xiaomi Gateway werden diese dann via WiFi zu FHEM übertragen.
Du brauchst also einen Xiaomi Gateway3 dazu, falls du diesen nicht vorliegen hast, dann geht es mit der Lösung nicht.

Xiaomi Bluetooth Produkte die direkt mit dem RPi BT funktionieren sind aktuell nur der Temperatur- und Pflanzensensor. Wie ist die genaue Bezeichnung des Produkts das du hast?
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 30 November 2020, 20:09:36
Mhm, dann muss ich schauen, ob sich das Gateway für mich lohnt.
Die Lampe de ich habe: Yeelight YLDP10YL

Danke auf jedenfall schonmal =)
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 November 2020, 20:25:45
Ich habe das V1 und das neue Gateway V3. Das neue GW sieht schicker aus und war bei mir preislich um 18€ über Aliexpress zu beziehen. Die Bluetooth Funktionen habe ich aber noch nicht ausprobiert und daher auch bislang nicht integriert.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 01 Dezember 2020, 09:09:04
Guten Morgen,

was ist, wenn beim GWv3 die China Cloud mal nicht erreichbar ist, kann man das ganze dann noch immer Lokal steuern?
Die YL Lampen welche ich sonst im Einsatz habe, habe ich die LAN Steuerung an und kann die auch wenn mein Inet wegfällt weiterhin steuern.

Mit Sonoff hatte ich das Problem, dass die Cloud nicht erreichbar war und dann konnte ich die Teile nur von Hand steuern, seit dem habe ich da Tasmota drauf und betriebe es lokal.

So wie ich das sehe, ist das GW auch für die Aqara Zigbee Teile zuständig, hier nutze ich eine Cloudfreie Lösung, aus besagten Gründen.


Noch eine andere Sache zu den  Cam's welche man einbinden kann, ist es eig möglich auch die aktuelle Position auszulesen und ggf. dann auch sagen kann, Fahre zu XY, so dass man zwischen z.B. 2 Positionen hin und her fahren kann?

Danke und einen schönen Tag
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 04 Dezember 2020, 23:41:11
Hi,

beim GWv3 ist die China Cloud egal. Wenn man das Gateway auf der richtigen Firmware hat (bei neueren Modellen muss man glaube ich löten) greift man direkt auf die Ausgaben vom Xiaomi Prozess auf dem Teil drauf. Da kann die Verbindung zum Internet weg sein und trotzdem geht alles :)

Bei den Cams geht die Steuerung links/rechts/oben/unten. Somit kann man die Cam beliebig positionieren.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 04 Dezember 2020, 23:44:17
Achja, noch zur Info, es gibt nun ein
update_functions
Attribut :)

Da kannst du z.B. beim Saugroboter auch einstellen, dass alle 60s auch andere Werte gelesen werden sollen.

Beispiel
attr dev update_functions status:60,info:30
Bedeutet alle 60s ein status senden und alle 30s ein info.
Titel: Antw:Neues Modul: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 05 Dezember 2020, 12:25:35
Zitat von: dominik am 04 Dezember 2020, 23:41:11
beim GWv3 ist die China Cloud egal. Wenn man das Gateway auf der richtigen Firmware hat (bei neueren Modellen muss man glaube ich löten) greift man direkt auf die Ausgaben vom Xiaomi Prozess auf dem Teil drauf. Da kann die Verbindung zum Internet weg sein und trotzdem geht alles :)

Dann bin ich dabei!
Also ohne CHina Cloud würde ich mich über ein solches Modul freuen. =)
Ich gehe mal davon aus, dass das v3 ist?
https://www.banggood.com/Xiaomi-Multimode-ZigBee-3_0-WIFI-Bluetooth-Mesh-HomeKit-Smart-Home-Gateway-Compatible-with-Xiaomi-Zigbee-2_0-Security-Alarm-Accessories-p-1607834.html?cur_warehouse=CN&rmmds=buy

Zitat von: dominik am 04 Dezember 2020, 23:41:11
Bei den Cams geht die Steuerung links/rechts/oben/unten. Somit kann man die Cam beliebig positionieren.

Ok, das klappt so weit; zu wissen, wohin die Cam gerichtet ist schint dann wohl nicht zu gehen.



Danke =)
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 05 Dezember 2020, 12:33:52
Den bekommst du bei Aliexpress um einiges günstiger. Im Normalfall knappe 20€.

Bitte beachte, dass man bei neuen Firmware Versionen eventuell einmal löten muss.
Siehe hier:
https://github.com/AlexxIT/XiaomiGateway3#supported-firmwares
und hier:
https://github.com/AlexxIT/XiaomiGateway3/issues/87#issuecomment-719467858
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Gear am 05 Dezember 2020, 13:15:22
Zitat von: dominik am 05 Dezember 2020, 12:33:52
Den bekommst du bei Aliexpress um einiges günstiger. Im Normalfall knappe 20€.

Bitte beachte, dass man bei neuen Firmware Versionen eventuell einmal löten muss.

Danke, naja Ali braucht bei mir immer 2 bis 4 Wochen, Banggood ist in der Regel nach ca. 7 bis 14 Tagen da. =)
Ja gut, ich bin vom Fach, also geht das schon, Danke für den Hinweis. =D
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 05 Dezember 2020, 13:44:30
2-4 Wochen? Bei mir 2-4 Monate! :)
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 06 Dezember 2020, 02:56:59
Hallo in die Runde,

wegen dieses Threads habe ich mir einen "Xiaomi Mi Robot Vacuum Mop Pro Saugroboter mit Wischfunktion" gekauft, seit gestern ist er hier. Dank der PN-Hilfe von @Stelaku ist der Saugroboter (der noch keinen Millimeter saugte) schon fein in FHEM eingebunden und liefert artig readings. - Ich möchte mich zunächst herzlich und artig bedanken!

@dominik
Von Python habe ich so gar keine Ahnung. Folgendes ist passiert: Beim letzten Update gab es auch ein Update Deines Moduls - inklusive folgender Meldung:

2020.12.06 01:33:57.198 1 : 2020-12-03: !!!UPDATE YOUR fhem_pythonbinding.service WITH fhempy.service FILE!!!


Ähmm, ja, nix verstehn. Was muss ich denn da konkret machen?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 06 Dezember 2020, 08:40:56
Nichts, das betrifft nur diejenigen die fhempy auf Remote Peers verwenden.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 07 Dezember 2020, 15:26:09
Hallo Dominik

Ich habe heute ein update in Fhem gefahren. Danach scheint der set status Befehl keine events mehr zu erzeugen. Ich habe ein DOIF was auf Docked reagieren soll. Vor dem update hat sich nach jedem set status der state des Xiaomi WiFi Devices aktualisiert. Auch die neue Funktion mit dem attr update_function zeigt keine reaktion bei der Eingabe status:30.
Im Pyhton log steht dann dieses
2020-12-07 15:17:46,912 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:119> exception=AttributeError("'NoneType' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 164, in send_command
    if reply.lower() != "['ok']":
AttributeError: 'NoneType' object has no attribute 'lower'
2020-12-07 15:17:55,453 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 314, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 1857760)
2020-12-07 15:18:05,399 - ERROR    - miio.miioprotocol: Got error when receiving: timed out
2020-12-07 15:18:05,400 - ERROR    - lib.utils: Error in asyncio thread
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 29, in run_blocking

Und wenn ich den Sauger aus der Ladestation per move Forward 2 herausfahren lasse und danach den set status Befehl gebe bekomme ich in der Fhem Ansicht ein pop up mit folgenden inhalt


Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 314, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'


Ich hoffe das hilft etwas weiter.

Viele Grüße

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 07 Dezember 2020, 15:34:46
Danke für die Logos, ich schau mir das heute Abend an.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 07 Dezember 2020, 19:30:55
Ich glaub ich habe die beiden Fehler lokalisiert. Update folgt...

Bzgl. der Readings, diese werden nun erst bei Änderungen aktualisiert.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 07 Dezember 2020, 20:01:37
Aktualisiert, bitte um Test. Danke
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 07 Dezember 2020, 21:34:27
Hallo Dominik

Update durchgeführt leider ist das Problem immer noch da. Nach einen Move Forward Befehl mit anschliessenden set status Befehl bleibt der Status auf Docked stehen und es wird die
Pop up Meldung direkt über FHEM angezeigt. Auf der älteren Version wird nach Eingabe des move Befehl der Status des Saugers auf online gesetzt. Danach einen set status ohne Probleme.

Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'

Und im Pyhton Log
2020-12-07 21:04:20,853 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 81736420)
2020-12-07 21:04:29,091 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 39400711)
2020-12-07 21:05:01,061 - INFO     - lib.pkg_installer: Attempting install of fhempy
2020-12-07 21:05:08,733 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<PyBinding.onMessage() done, defined at /opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py:108> exception=SystemExit(1)>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 110, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 361, in _onMessage
    raise se
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 143, in _onMessage
    sys.exit(1)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
    self._run_once()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1775, in _run_once
    handle._run()
  File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 112, in onMessage
    sys.exit(1)
SystemExit: 1
2020-12-07 21:05:09,997 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-07 21:05:19,026 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
##############################################################################
Das wird ins Log geschrieben wenn die pop up Fehlermeldung von Fhem beim set status 

2020-12-07 21:13:32,409 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)


Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 07 Dezember 2020, 22:11:38
Passiert das nur wenn du vorher ein andere Command mit Parametern ausgeführt hast? Oder jedes mal wenn du ein "set dev status" machst?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 07 Dezember 2020, 22:48:32
Der Sauger steht in der Ladestation. Ist auch vom Device auf Docked. Wenn ich jetzt über Fhem move Forward mache fährt der Sauger los wie er soll. Die Statusanzeige bleibt auf Docked.
Wenn ich jetzt einen set status mache wird dieser nicht mehr umgesetzt und es kommen die Fehlermeldungen.
Also ja immer nur wenn ich ein Command mit Parameter ausgeführt habe und danach set dev status mache.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 07 Dezember 2020, 23:05:42
Nutzt du fhempy lokal oder auf einem remote peer?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 08 Dezember 2020, 03:20:14
Hallo @dominik,
ich habe den gleichen Saugroboter wie @Stelaku und dank seiner Hilfe die weitgehend gleiche FHEM-Konfiguration. Roboter kam, ich baute alles, Roboter lieferte Werte. (Ich habe noch keine Steuerung.)

Letztmalig kamen Roboterdaten am 2020-12-06 frühmorgens. Nach dem Update (und dem zweiten Update) kommen keine Daten mehr.

local_pybinding ist "opened". Pythonbinding_0 ist active - aber "stopped". Ein start bzw. restart führt wieder zu "stopped".

Sage bitte, wenn ich konkrete Daten (lists, logs) zu liefern habe.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 08 Dezember 2020, 07:19:59
ZitatNutzt du fhempy lokal oder auf einem remote peer?

Hallo Dominik

Wenn ich das mit den remote peer richtig verstanden habe ist der dann auf einer zweiten Fhem instanz um eventuelle bluetooth Reichweiten zu erhöhen. Das habe ich bei mir nicht bewusst so aufgebaut.
Was ich allerdings habe sind zwei Raspberry´s  die parallel laufen, auf einem ist meine live Instanz und auf dem anderen meine test Instanz.Um sicher zu gehen habe ich das nochmal durchgespielt, aber diesmal mit ausgeschalteter live Instanz ( Raspberry kpl. heruntergefahren )wo ich noch die voll funktionierende fempy drauf habe.

Der Fehler ist aber auch dann noch erzeugbar. Nach einen set <dev> move Forward 4 und dann set <dev> status kommt das pop up und der log Eintrag.

Viele Grüsse und vielen dank für Deine hilfe

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 08:40:32
@curt, das Pythonbinding_0 kannst du löschen. Da ist mir leider ein Fehler passiert, das hatte ich gestern Nacht bei mir auch gesehen.
Poste bitte das Log aus dem Pythonbinding_15733.

@Stelaku, ich hatte bei dir diesen Eintrag im Log gesehen:
2020-12-07 21:05:01,061 - INFO     - lib.pkg_installer: Attempting install of fhempy
Das sollte eigentlich auf einer FHEM Instanz nie passieren, daher dachte ich du bist auf einem Remote Peer. Remote Peers sind Installationen auf einem anderen Device (ohne FHEM!) um z.B. die Bluetooth Reichweite abdecken zu können. Hast du im BindingsIo Device ein "update" Command?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 13:44:47
Ich schaffe es leider nicht den Fehler auf einem Xiaomi Vacuum V1 nachzustellen. Bitte auch um Pruefung im "BindingsIo" Device welche Version von fhempy verwendet wird, gibt ein Reading dazu. Es sollte 0.1.5 sein.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 08 Dezember 2020, 15:00:03
Hallo Dominik
Hier mal ein list vom BindingIO
Internals:
   BindingType Python
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FD         59
   FUUID      5fc15efa-f33f-134a-1b8c-a3eef5b8285f7763
   IP         127.0.0.1
   NAME       local_pybinding
   NR         439
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   PORT       15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2020-12-08 14:45:28   state           opened
     2020-12-08 07:05:03   version         0.1.5
   args:
     local_pybinding
     BindingsIo
     Python
   argsh:
Attributes:
   room       system

Version scheint aktuell zu sein aber ein update Command habe ich nicht in diesem Device.

Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 08 Dezember 2020, 15:30:59
Zitat von: dominik am 08 Dezember 2020, 08:40:32
@curt, das Pythonbinding_0 kannst du löschen.

Done.

Zitat von: dominik am 08 Dezember 2020, 08:40:32
Poste bitte das Log aus dem Pythonbinding_15733.

Dafür müsste ich erstmal ein Log haben ... ok, bauen wir eins. Und verbose=5 noch an. Und restart:


2020-12-08_15:22:30 local_pybinding DISCONNECTED


BTW: am 06.12. funktionierte es ja noch, es muss also in der Code-Differenz des vorletzten Updates liegen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 15:36:27
@curt, Log wird automatisch erstellt. /opt/fhem/log/PythonBinding-...

@Stelaku, sieht alles gut aus. Einen Neustart von FHEM hast du denke ich schon gemacht? Wenn nicht, bitte mal das testen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 08 Dezember 2020, 17:43:56
Zitat von: dominik am 08 Dezember 2020, 15:36:27
@curt, Log wird automatisch erstellt. /opt/fhem/log/PythonBinding-...

Das heutige Log ist 2,5 MB ... bzip2 in Anlage.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 08 Dezember 2020, 18:41:45

Zitat@Stelaku, sieht alles gut aus. Einen Neustart von FHEM hast du denke ich schon gemacht? Wenn nicht, bitte mal das testen.
Hallo Dominik

FHEM Neustart und auch den Raspberry neustarten hat nichts gebracht. Die Meldung kommt wieder.
Ich habe dann mal auf meiner Test Instanz Fhem heruntergefahren das Fhem Verzeichnis kpl. gelöscht und ein backup aus meiner live Instanz eingespielt.
sudo rm -r /opt/fhem
sudo mkdir /opt/fhem
sudo tar -xvzf /media/Medion/Linux/"$Version"/FHEM/"$Datei" -C /opt/fhem/
sudo chown -R fhem:dialout /opt/fhem

Fhem neu gestartet und BindingIO bleibt auf diconnected. das Verzeichnis .local wurde auch nicht angelegt. Im log stand dann drinn das es ein Berechtigungsproblem gibt. Dieses wurde durch ein reboot des pi´s behoben.
Nachdem FHEM dann hochgefahren ist wurde .local angelegt und BindingIO ging auf open.
Über FHEM ein update gefahren. shutdown restart und dann feststellen können das der move Befehl nicht angenommen wird.
Das selbe hatte ich ja schon und habe dann die Datei viomivacuum.py durch die Datei aus post 12 ersetzt.
Move Befehle werden jetzt wieder angenommen und clean_mode ist wieder per drop down auswählbar. Nur die besagte Meldung kommt immer noch.
Ist jetzt nicht so schlimm. Das was ich brauche funktioniert ja schon super.
Ich bin mir auch nicht sicher ob ich das alles richtig mache mit den backup einspielen und vorher das fhem Verzeichnis löschen... .

Viele Grüße

Stephan

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 19:57:49
Zitat von: curt am 08 Dezember 2020, 17:43:56
Das heutige Log ist 2,5 MB ... bzip2 in Anlage.

Hi,
bei dir läuft fhempy schon. Hast du vielleicht fhempy per pip installiert? Das darf nur auf Remote Peers gemacht werden.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 20:02:20
Zitat von: Stelaku am 08 Dezember 2020, 18:41:45
Hallo Dominik

FHEM Neustart und auch den Raspberry neustarten hat nichts gebracht. Die Meldung kommt wieder.
Ich habe dann mal auf meiner Test Instanz Fhem heruntergefahren das Fhem Verzeichnis kpl. gelöscht und ein backup aus meiner live Instanz eingespielt.
sudo rm -r /opt/fhem
sudo mkdir /opt/fhem
sudo tar -xvzf /media/Medion/Linux/"$Version"/FHEM/"$Datei" -C /opt/fhem/
sudo chown -R fhem:dialout /opt/fhem

Fhem neu gestartet und BindingIO bleibt auf diconnected. das Verzeichnis .local wurde auch nicht angelegt. Im log stand dann drinn das es ein Berechtigungsproblem gibt. Dieses wurde durch ein reboot des pi´s behoben.
Nachdem FHEM dann hochgefahren ist wurde .local angelegt und BindingIO ging auf open.
Über FHEM ein update gefahren. shutdown restart und dann feststellen können das der move Befehl nicht angenommen wird.
Das selbe hatte ich ja schon und habe dann die Datei viomivacuum.py durch die Datei aus post 12 ersetzt.
Move Befehle werden jetzt wieder angenommen und clean_mode ist wieder per drop down auswählbar. Nur die besagte Meldung kommt immer noch.
Ist jetzt nicht so schlimm. Das was ich brauche funktioniert ja schon super.
Ich bin mir auch nicht sicher ob ich das alles richtig mache mit den backup einspielen und vorher das fhem Verzeichnis löschen... .

Viele Grüße

Stephan

Keine Sorge, so schnell gebe ich nicht auf ;) Nachdem da definitiv irgendwo ein Fehler drin ist, möchte ich das gerne beheben.

Bitte noch um Info ob du fhempy per pip installiert hast, oder alles nur per FHEM update? Weil eine pip Installation darf nur auf Remote Peers gemacht werden.
Schick mir bitte das PythonBinding Log von Start weg. Mach da bitte mal nur "status" (welches funktioniert), danach move und danach wieder status. Du kannst mir das Log auch per PN schicken falls du mehr PythonModule Devices nutzt und daher Sorge hast, dass da sensible Infos drin sind.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 08 Dezember 2020, 21:37:08
Zitat von: dominik am 08 Dezember 2020, 19:57:49
Hast du vielleicht fhempy per pip installiert? Das darf nur auf Remote Peers gemacht werden.

Ich weiß bedauerlicherweise nicht was das bedeutet. Ich habe entsprechend https://github.com/dominikkarall/fhem_pythonbinding installiert. Danach "define local_pybinding BindingsIo Python", "define xiaomi_tokens PythonModule xiaomi_tokens", "define Putzi_1 PythonModule miio <TYPE> <IP> <TOKEN>".

Das hatte ja auch alles (den einen Tag bis zum Update) ganz fein funktioniert: In Putzi standen viele schöne Readings ...
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 21:39:27
Ok, dann mach bitte mal ein
sudo -u fhem pip3 uninstall fhempy
sudo pip3 uninstall fhempy


Dann poste bitte nochmals welche PythonBinding Devices du hast.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 08 Dezember 2020, 21:46:02
ZitatBitte noch um Info ob du fhempy per pip installiert hast, oder alles nur per FHEM update? Weil eine pip Installation darf nur auf Remote Peers gemacht werden.
Schick mir bitte das PythonBinding Log von Start weg. Mach da bitte mal nur "status" (welches funktioniert), danach move und danach wieder status. Du kannst mir das Log auch per PN schicken falls du mehr PythonModule Devices nutzt und daher Sorge hast, dass da sensible Infos drin sind.


Hallo Dominik

Ich habe fempy nach der Anleitung fempy in 5 Schritten installieren in mein System eingebunden. Das einzige was bei mir am Anfang nicht klappen wollte das BinidingIO blieb auf disconnected.
Da hattest Du ja im log sehen können das ein Modul noch fehlte was normal automatisch installiert werden sollte. nach diesem Befehl war das dann auch in Ordnung
sudo pip3 install importlib_metadata
fempy selber habe ich ausschließlich über den Fhem update Befehl installiert.

Hier mein Log vom Heutigen Tag. Zum Ende habe ich versucht alle Schritte die ich ausgeführt habe im Log zu kommentieren.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 08 Dezember 2020, 21:50:32
Das klappt irgentwie nicht mit dem log ich sende es per pm
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 22:35:44

2020-12-08 16:47:16,681 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:47:24,905 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:47:44,321 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:47:51,410 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:48:11,311 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:48:18,351 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:48:38,312 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:48:45,422 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:49:05,313 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:49:12,412 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:49:32,318 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:49:39,441 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:49:59,286 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:50:06,428 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:50:26,284 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:50:33,430 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:50:53,297 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:51:00,397 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:51:20,306 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:51:27,377 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:51:47,323 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:51:54,391 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 16:52:31,684 - INFO     - __main__: Attempting install of websockets
2020-12-08 16:53:08,357 - INFO     - __main__: Successfully installed websockets
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 79, in <module>
    import lib.fhem_pythonbinding as fpb
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 3, in <module>
    import websockets
ModuleNotFoundError: No module named 'websockets'
2020-12-08 16:53:28,953 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-08 16:53:31,017 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-08 16:53:31,093 - INFO     - lib.pkg_installer: Attempting install of python-miio
2020-12-08 16:53:59,288 - INFO     - lib.pkg_installer: Attempting install of micloud
2020-12-08 16:56:10,303 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-08 16:56:15,937 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-08 16:56:32,485 - ERROR    - lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'Martha_1'},'state','ViomiVacuumState.Docked');;
#########################################################################

2020-12-08 17:13:41,430 - ERROR    - lib.utils: Error in asyncio thread
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 29, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 372, in move
    self.send("set_direction", [direction.value])
AttributeError: 'str' object has no attribute 'value'
2020-12-08 17:13:41,434 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'str' object has no attribute 'value'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 137, in send_command
    reply = await utils.run_blocking(functools.partial(fct, *args))
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 29, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 372, in move
    self.send("set_direction", [direction.value])
AttributeError: 'str' object has no attribute 'value'

2020-12-08 17:54:19,749 - INFO     - __main__: Attempting install of websockets
2020-12-08 17:54:27,731 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 17:54:47,346 - INFO     - __main__: Attempting install of websockets
2020-12-08 17:54:54,439 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.
2020-12-08 17:56:17,640 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-08 17:56:22,765 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-08 17:56:45,031 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:46,344 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:46,857 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:47,069 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:47,269 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:47,483 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:47,572 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:47,775 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:47,984 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:48,207 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:48,416 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:48,623 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:48,783 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:48,935 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:49,123 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:49,345 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:49,516 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:49,721 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:49,935 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:50,135 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:50,329 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:50,549 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:51,004 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:51,420 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:51,824 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:52,207 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:52,593 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:52,997 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:53,408 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:53,871 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:54,387 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:54,600 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:54,804 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:54,998 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:55,176 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:55,359 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:55,965 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:56,189 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:56,397 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:56,601 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:56,805 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:57,010 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:57,203 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:57,412 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:57,611 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:57,784 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:57,986 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:58,148 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:58,325 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:58,518 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:58,722 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:58,915 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:59,682 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:56:59,901 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:00,085 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:00,319 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:00,492 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:00,701 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:03,248 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:03,787 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:03,965 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
2020-12-08 17:57:04,164 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'
##############################################################

2020-12-08 18:01:59,055 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 85047059)
2020-12-08 18:02:11,911 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 73678399)
2020-12-08 18:02:52,982 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 94608096)
2020-12-08 18:02:55,675 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 21434510)
2020-12-08 18:03:04,658 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 27677692)
2020-12-08 18:03:09,557 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 86062285)
2020-12-08 18:14:20,262 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 25430531)
##
2020-12-08 19:02:08,114 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
## Fhem für den test hochgefahren
2020-12-08 20:50:32,253 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
## mehrer set status ausgelöst ohne Fehlermeldungen
## das erste set status nach einem move befehl
2020-12-08 20:55:44,098 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 84850625)
## set status mit fehlermeldung
2020-12-08 20:56:44,986 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 93904326)

## Sauger über app zur Ladestation geschickt und dann set status ausgelöst
2020-12-08 21:00:34,262 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"]] = arg
KeyError: 'args'
(id: 72265899)
## kurz darauf nochmal set status ausgelöst
2020-12-08 21:00:37,341 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 168, in handle_set


Ich habe das Log mal hier reinkopiert, damit wir hier weiter diskutieren können.

//Edit: Scheinbar das Post Zeichenlimit erreicht...Fortsetzung im nächsten Post.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 22:37:48
2020-12-08 16:47:24,905 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.

Das ist sehr eigenartig, kannst du mir sagen was du da gemacht hast? Weil auf /root sollte niemals zugegriffen werden.

2020-12-08 17:56:46,344 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/FHEM/bindings/python/lib/miio/miio.py:117> exception=AttributeError("'list' object has no attribute 'lower'")>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/miio/miio.py", line 163, in send_command
    if reply is not None and reply.lower() != "['ok']":
AttributeError: 'list' object has no attribute 'lower'

Den werde ich beheben.

Öffne bitte mal die Datei:
/opt/fhem/FHEM/bindings/python/lib/miio/miio.py
Dann in Zeile 168 folgendes einfügen:
logging.getLogger(__name__).error("Handle argument: " + str(arg))
Sieht dann so aus:
            for arg in args[2:]:
                # arg ... mode
                # all_args[mode] = mode argument
                logging.getLogger(__name__).error("Handle argument: " + str(arg))
                all_args[cmd_def["args"][i]] = arg
                i += 1

Dann bitte fhem Neustart machen und nochmals testen. Bitte dann nochmals das PythonBinding Log posten, aber nur den Fehlerteil inkl. der Ausgabe von "Handle argument".
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 08 Dezember 2020, 23:19:09
Zitat von: dominik am 08 Dezember 2020, 21:39:27
Ok, dann mach bitte mal ein
sudo -u fhem pip3 uninstall fhempy
sudo pip3 uninstall fhempy

Dann poste bitte nochmals welche PythonBinding Devices du hast.


$ sudo -u fhem pip3 uninstall fhempy
Uninstalling fhempy-0.1.5:
  Would remove:
    /opt/fhem/.local/bin/fhempy
    /opt/fhem/.local/lib/python3.7/site-packages/fhempy-0.1.5.dist-info/*
    /opt/fhem/.local/lib/python3.7/site-packages/lib/*
Proceed (y/n)? y
  Successfully uninstalled fhempy-0.1.5
$ sudo pip3 uninstall fhempy
Skipping fhempy as it is not installed.


Hier vorhanden sind: BindingsIo local_pybinding (disconnected),
Putzi_1 (PythonBinding offline), xiaomi_tokens (PythonBinding offline).

Screenshot Putzi_1 anbei.

Was muss ich nun tun?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Dezember 2020, 23:41:25
ok, dann mach jetzt bitte einen FHEM Restart.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 09 Dezember 2020, 07:12:58
Hallo Dominik

ZitatDas ist sehr eigenartig, kannst du mir sagen was du da gemacht hast? Weil auf /root sollte niemals zugegriffen werden.
Das passiert nachdem ich ein backup eingespielt habe. Verschwindet dann auch erst nach einem raspberry reboot. Das Backup spiele ich immer so ein

sudo rm -r /opt/fhem
sudo mkdir /opt/fhem
sudo tar -xvzf /media/Medion/Linux/"$Version"/FHEM/"$Datei" -C /opt/fhem/
sudo chown -R fhem:dialout /opt/fhem


das Verzeichnis .local wird auch nicht beim Fhem backup mit kopiert. Erst nach einen Reboot wird es durch das device BindingIO angelegt. Vieleicht deshalb die Berechtigungsprobleme.

ZitatÖffne bitte mal die Datei:
/opt/fhem/FHEM/bindings/python/lib/miio/miio.py
Dann in Zeile 168 folgendes einfügen:

Diese Datei hat bei mir nur 168 Zeilen. Wenn ich dich richtig verstehe soll ich doch nur die eine Zeile einfügen. bei meiner Datei fehlt die die for schleife  for arg in args[2:]:
Soll ich einfach mal das an meiner datei anfügen.
for arg in args[2:]:
                # arg ... mode
                # all_args[mode] = mode argument
                logging.getLogger(__name__).error("Handle argument: " + str(arg))
                all_args[cmd_def["args"][i]] = arg
                i += 1

Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 08:52:05
Sorry, ich meinte diese Datei:
/opt/fhem/FHEM/bindings/python/lib/utils.py
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 09 Dezember 2020, 09:01:12
Zitat von: dominik am 08 Dezember 2020, 23:41:25
ok, dann mach jetzt bitte einen FHEM Restart.

Done. (Keine Änderung.)

Was muss ich nun tun?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 09 Dezember 2020, 16:34:08
ZitatSorry, ich meinte diese Datei:
/opt/fhem/FHEM/bindings/python/lib/utils.py

Hallo Dominik

Datei habe ich jetzt geändert. Hier mein heutiges Log. Ich habe alle schritte die ich gemacht habe im Log kommentiert.

Nach der Änderung in der Datei hatte ich wieder den Eintrag keine Berechtigung im Log siehe Eintrag 15:43:15.
Das BindingIO blieb dann auch auf disconected. Erst nach einen reboot ging es wieder.

2020-12-08 22:03:29,520 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 06:46:53,348 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-09 06:56:01,617 - INFO     - lib.pkg_installer: Attempting install of fhempy
2020-12-09 06:56:11,108 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<PyBinding.onMessage() done, defined at /opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py:108> exception=SystemExit(1)>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 110, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 361, in _onMessage
    raise se
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 143, in _onMessage
    sys.exit(1)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
    self._run_once()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1775, in _run_once
    handle._run()
  File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 112, in onMessage
    sys.exit(1)
SystemExit: 1
2020-12-09 06:56:12,387 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 06:56:22,031 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-09 07:16:28,866 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 15:26:57,652 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-09 15:40:39,420 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 15:40:45,083 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
## Änderung an der Datei /opt/fhem/FHEM/bindings/python/lib/utils.py jetzt neustart 
2020-12-09 15:43:07,847 - INFO     - __main__: Attempting install of websockets
2020-12-09 15:43:15,568 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.

## Raspberry pi Reboot weil BindingIO disconected

2020-12-09 15:46:48,469 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 15:47:17,058 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1

## move Forward 4

2020-12-09 15:48:52,084 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:48:52,085 - ERROR    - lib.utils: Handle argument: 4

## set status das erste mal kein eintrag ins log
## set status das zweite mal

2020-12-09 15:50:06,367 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 15:50:06,377 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 6614412)

## set home
## move Befehle Sauger fährt zum Mülleimer



2020-12-09 15:53:07,930 - ERROR    - lib.utils: Handle argument: Vacuum
2020-12-09 15:53:12,991 - ERROR    - lib.utils: Handle argument: Silent
2020-12-09 15:54:47,063 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:54:47,063 - ERROR    - lib.utils: Handle argument: 5
2020-12-09 15:54:55,131 - ERROR    - lib.utils: Handle argument: Right
2020-12-09 15:54:55,131 - ERROR    - lib.utils: Handle argument: 0.82
2020-12-09 15:54:58,998 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:54:58,999 - ERROR    - lib.utils: Handle argument: 15
2020-12-09 15:55:17,045 - ERROR    - lib.utils: Handle argument: Right
2020-12-09 15:55:17,045 - ERROR    - lib.utils: Handle argument: 0.85
2020-12-09 15:55:20,943 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:55:20,943 - ERROR    - lib.utils: Handle argument: 9
2020-12-09 15:55:32,992 - ERROR    - lib.utils: Handle argument: Right
2020-12-09 15:55:32,993 - ERROR    - lib.utils: Handle argument: 3

## set status Befehl
## set status auch nach mehrmaligen klicken jetzt kein log eintrag

## set home und wärend der fahrt auf set status geklickt kein log
## Sauger state Docked jetzt wieder einen move Befehl

2020-12-09 15:59:39,862 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:59:39,863 - ERROR    - lib.utils: Handle argument: 5

## set status
## set status log eintrag kommt erst beim zweiten klick
## und das state bleibt immer auf Docked
2020-12-09 16:00:15,111 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:00:15,112 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 55497932)

## jetzt set start
## Sauger legt los und das state geht auf cleaning
## set status funktioniert ohne log eintrag
## sauger stopen
## set move

2020-12-09 16:04:09,293 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 16:04:09,293 - ERROR    - lib.utils: Handle argument: 4

## set status der aktuell angezeigte ist Idle
## set status erst beim zweiten klicken auf set kam die Meldung über Fhem
2020-12-09 16:04:58,909 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:04:58,911 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 35962919)

## set home kein log Eintrag
## move über die Handy app
## jetzt set status


2020-12-09 16:10:40,189 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:10:40,190 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 18054667)
## state bleibt auf Docked und die Meldung in Fhem wird angezeigt
## set state nachdem ich die Handy app ausgeschaltet habe Fernbedinung.
2020-12-09 16:12:35,123 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:12:35,125 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 95381176)

## jetzt per app saugen starten

2020-12-09 16:13:53,697 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:13:53,698 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 46661273)

## jetzt per app zum laden fahren
## das state im device wird auf Returning gestellt.
## wärend der fahrt zur ladestation ein set status erzeugt wieder die Meldung
2020-12-09 16:14:49,135 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:14:49,137 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 78238621)

## Sauger ist Docked jetzt ein set status

2020-12-09 16:16:33,338 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:16:33,339 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 41488255)

## Jetzt über Fhem starten
## jetzt funktioniert set state wieder ohne Log eintrag
## über app auf pause
## set status device zeigt immer noch Cleaning
## state des device geht auf Idle2
## move Befehl über FHEM

2020-12-09 16:20:49,531 - ERROR    - lib.utils: Handle argument: Left
2020-12-09 16:20:49,532 - ERROR    - lib.utils: Handle argument: 4

## Sauger ist schlecht geworden
## set status erster klick keine Änderung im device
## set status zweiter klick

2020-12-09 16:22:24,753 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:22:24,755 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 4309912)



Viele Grüße

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 17:17:03
Zitat von: curt am 09 Dezember 2020, 09:01:12
Done. (Keine Änderung.)

Was muss ich nun tun?

Bitte nochmals um das Logfile nach dem Restart. Poste bitte auch die Ausgabe von
ps -efa|grep python
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 17:51:44
Zitat von: Stelaku am 09 Dezember 2020, 16:34:08
Hallo Dominik

Datei habe ich jetzt geändert. Hier mein heutiges Log. Ich habe alle schritte die ich gemacht habe im Log kommentiert.

Nach der Änderung in der Datei hatte ich wieder den Eintrag keine Berechtigung im Log siehe Eintrag 15:43:15.
Das BindingIO blieb dann auch auf disconected. Erst nach einen reboot ging es wieder.

2020-12-08 22:03:29,520 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 06:46:53,348 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-09 06:56:01,617 - INFO     - lib.pkg_installer: Attempting install of fhempy
2020-12-09 06:56:11,108 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<PyBinding.onMessage() done, defined at /opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py:108> exception=SystemExit(1)>
Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 110, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 361, in _onMessage
    raise se
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 143, in _onMessage
    sys.exit(1)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
    self._run_once()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1775, in _run_once
    handle._run()
  File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 112, in onMessage
    sys.exit(1)
SystemExit: 1
2020-12-09 06:56:12,387 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 06:56:22,031 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-09 07:16:28,866 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 15:26:57,652 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-09 15:40:39,420 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 15:40:45,083 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
## Änderung an der Datei /opt/fhem/FHEM/bindings/python/lib/utils.py jetzt neustart 
2020-12-09 15:43:07,847 - INFO     - __main__: Attempting install of websockets
2020-12-09 15:43:15,568 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.

## Raspberry pi Reboot weil BindingIO disconected

2020-12-09 15:46:48,469 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 15:47:17,058 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1

## move Forward 4

2020-12-09 15:48:52,084 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:48:52,085 - ERROR    - lib.utils: Handle argument: 4

## set status das erste mal kein eintrag ins log
## set status das zweite mal

2020-12-09 15:50:06,367 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 15:50:06,377 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 6614412)

## set home
## move Befehle Sauger fährt zum Mülleimer



2020-12-09 15:53:07,930 - ERROR    - lib.utils: Handle argument: Vacuum
2020-12-09 15:53:12,991 - ERROR    - lib.utils: Handle argument: Silent
2020-12-09 15:54:47,063 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:54:47,063 - ERROR    - lib.utils: Handle argument: 5
2020-12-09 15:54:55,131 - ERROR    - lib.utils: Handle argument: Right
2020-12-09 15:54:55,131 - ERROR    - lib.utils: Handle argument: 0.82
2020-12-09 15:54:58,998 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:54:58,999 - ERROR    - lib.utils: Handle argument: 15
2020-12-09 15:55:17,045 - ERROR    - lib.utils: Handle argument: Right
2020-12-09 15:55:17,045 - ERROR    - lib.utils: Handle argument: 0.85
2020-12-09 15:55:20,943 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:55:20,943 - ERROR    - lib.utils: Handle argument: 9
2020-12-09 15:55:32,992 - ERROR    - lib.utils: Handle argument: Right
2020-12-09 15:55:32,993 - ERROR    - lib.utils: Handle argument: 3

## set status Befehl
## set status auch nach mehrmaligen klicken jetzt kein log eintrag

## set home und wärend der fahrt auf set status geklickt kein log
## Sauger state Docked jetzt wieder einen move Befehl

2020-12-09 15:59:39,862 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 15:59:39,863 - ERROR    - lib.utils: Handle argument: 5

## set status
## set status log eintrag kommt erst beim zweiten klick
## und das state bleibt immer auf Docked
2020-12-09 16:00:15,111 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:00:15,112 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 55497932)

## jetzt set start
## Sauger legt los und das state geht auf cleaning
## set status funktioniert ohne log eintrag
## sauger stopen
## set move

2020-12-09 16:04:09,293 - ERROR    - lib.utils: Handle argument: Forward
2020-12-09 16:04:09,293 - ERROR    - lib.utils: Handle argument: 4

## set status der aktuell angezeigte ist Idle
## set status erst beim zweiten klicken auf set kam die Meldung über Fhem
2020-12-09 16:04:58,909 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:04:58,911 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 35962919)

## set home kein log Eintrag
## move über die Handy app
## jetzt set status


2020-12-09 16:10:40,189 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:10:40,190 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 18054667)
## state bleibt auf Docked und die Meldung in Fhem wird angezeigt
## set state nachdem ich die Handy app ausgeschaltet habe Fernbedinung.
2020-12-09 16:12:35,123 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:12:35,125 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 95381176)

## jetzt per app saugen starten

2020-12-09 16:13:53,697 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:13:53,698 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 46661273)

## jetzt per app zum laden fahren
## das state im device wird auf Returning gestellt.
## wärend der fahrt zur ladestation ein set status erzeugt wieder die Meldung
2020-12-09 16:14:49,135 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:14:49,137 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 78238621)

## Sauger ist Docked jetzt ein set status

2020-12-09 16:16:33,338 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:16:33,339 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 41488255)

## Jetzt über Fhem starten
## jetzt funktioniert set state wieder ohne Log eintrag
## über app auf pause
## set status device zeigt immer noch Cleaning
## state des device geht auf Idle2
## move Befehl über FHEM

2020-12-09 16:20:49,531 - ERROR    - lib.utils: Handle argument: Left
2020-12-09 16:20:49,532 - ERROR    - lib.utils: Handle argument: 4

## Sauger ist schlecht geworden
## set status erster klick keine Änderung im device
## set status zweiter klick

2020-12-09 16:22:24,753 - ERROR    - lib.utils: Handle argument: undefined
2020-12-09 16:22:24,755 - ERROR    - lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 320, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/FHEM/bindings/python/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/FHEM/bindings/python/lib/utils.py", line 169, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 4309912)



Viele Grüße

Stephan

Also irgendetwas stimmt da bei deiner Installation nicht....siehst du im BindingsIo Device ein "update"? Weil nur darueber kann dieser Logeintrag kommen
2020-12-09 06:56:01,617 - INFO     - lib.pkg_installer: Attempting install of fhempy

Das hier
## Änderung an der Datei /opt/fhem/FHEM/bindings/python/lib/utils.py jetzt neustart
2020-12-09 15:43:07,847 - INFO     - __main__: Attempting install of websockets
2020-12-09 15:43:15,568 - ERROR    - __main__: Unable to install package websockets: The directory '/root/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/root/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.

Ist mir auch unerklärlich. Websockts wird nur installiert wenn es nicht vorhanden ist, warum ist es vor dem Neustart vorhanden und danach nicht? Da muss doch mehr passiert sein.
Mit welchem User wird bei dir fhem ausgeführt? Außerdem müssten alle Dateien in /opt/fhem dem User fhem gehören, bitte das auch prüfen ("ls -la /opt/fhem/*").

2020-12-09 16:00:15,111 - ERROR    - lib.utils: Handle argument: undefined
Wo das undefined herkommt, ist mir einfach noch nicht klar.

Konzentrieren wir uns mal auf den 1. Punkt und lösen den, damit wir hier nicht zu viel auf einmal versuchen.
Mach bitte ein sudo -u fhem pip3 uninstall fhempy und danach einen FHEM Neustart, dann poste nochmals das Log.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 09 Dezember 2020, 18:26:22
Hallo Dominik
Stephan@Haus:~ $ sudo -u fhem pip3 uninstall fhempy
Uninstalling fhempy-0.1.5:
  Would remove:
    /opt/fhem/.local/bin/fhempy
    /opt/fhem/.local/lib/python3.7/site-packages/fhempy-0.1.5.dist-info/*
    /opt/fhem/.local/lib/python3.7/site-packages/lib/*
Proceed (y/n)? y
  Successfully uninstalled fhempy-0.1.5

Fhem shutdown restart
und jetzt das Log
2020-12-09 18:19:09,502 - INFO     - lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-09 18:19:15,148 - INFO     - lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1

Im Device BindingIO habe ich kein update Command

ls -la /opt/fhem/

Stephan@Haus:~ $ ls -la /opt/fhem/
insgesamt 1316
drwxr-xr-x 18 fhem dialout   4096 Dez  8 16:53 .
drwxr-xr-x  4 root root      4096 Dez  8 16:46 ..
drwxr-xr-x  3 fhem dialout   4096 Dez  8 16:53 .cache
-rw-r--r--  1 fhem dialout 354762 Dez  8 16:54 CHANGED
-rw-rw-rw-  1 fhem dialout  41442 Nov 27 21:15 configDB.pm
drwxrwxrwx 50 fhem dialout   4096 Mär 11  2017 contrib
-rw-r--r--  1 fhem dialout 143698 Nov 28  2019 controls_fhem.txt
-rw-r--r--  1 fhem dialout  18092 Nov 28  2019 COPYING
drwxrwxrwx  3 fhem dialout   4096 Mär 11  2017 demolog
drwxrwxrwx  4 fhem dialout   4096 Mär 11  2017 docs
drwxrwxrwx  7 fhem dialout  32768 Nov 27 21:16 FHEM
-rw-rw-rw-  1 fhem dialout 344381 Dez  9 15:37 fhem.cfg
-rw-rw-rw-  1 fhem dialout  25544 Dez  8  2019 fhem.cfg.demo
-rwxrwxrwx  1 fhem dialout 166203 Dez  8 16:54 fhem.pl
-rw-r--r--  1 fhem dialout  18092 Nov 27 21:15 GPL_V2.txt
drwxr-xr-x  2 fhem dialout   4096 Nov 28  2019 GTags
-rw-r--r--  1 fhem dialout  28513 Nov 28  2019 HISTORY
-rwxrwxrwx  1 fhem dialout    235 Jan  4  2019 lecron.sh
-rwxrwxrwx  1 fhem dialout    422 Jan  5  2019 lecron_tacktung.sh
-rwxrwxrwx  1 fhem dialout    399 Jan  4  2019 lescan.sh
drwxr-xr-x  3 fhem dialout   4096 Jul 22 19:47 lib
drwx------  4 fhem dialout   4096 Dez  8 16:53 .local
drwxrwxrwx  2 fhem dialout   4096 Dez  9 18:29 log
-rw-r--r--  1 fhem dialout  42672 Dez  8 16:54 MAINTAINER.txt
-rw-r--r--  1 fhem dialout   5061 Nov 28  2019 Makefile
drwxr-xr-x  2 fhem dialout   4096 Nov  7  2019 Muellkalender
-rw-rw-rw-  1 fhem dialout    935 Nov 15  2015 README_DEMO.txt
-rw-r--r--  1 fhem dialout    374 Nov 28  2019 README.SVN
drwxr-xr-x  7 fhem dialout   4096 Apr 10  2019 restoreDir
drwxr-xr-x  2 fhem dialout   4096 Apr 10  2019 skripte
drwxr-xr-x  3 fhem dialout   4096 Nov 18 14:42 t
-rw-r--r--  1 fhem dialout     12 Mai  9  2017 test.sh
drwxr-xr-x  2 fhem dialout   4096 Mär 11  2017 unused
-rw-r--r--  1 fhem dialout   1978 Nov 28  2019 UPGRADE
drwxr-xr-x  6 fhem dialout   4096 Nov 28  2019 webfrontend
drwxrwxrwx  8 fhem dialout   4096 Mär 11  2017 www

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 18:36:03
Ok, die Installation dürfte jetzt passen.

Bitte jetzt nochmals "status" abfragen und dazwischen über die App den Saugroboter bewegen um sicherzustellen, dass die Readings überhaupt aktualisiert werden.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 09 Dezember 2020, 19:05:53
Hallo Dominik

Wenn ich jetzt über Fhem oder über die app die Befehle wie z.b. starten pause stop home ausführe werden die readings immer neu geschrieben. Der set status funktioniert ohne Probleme.
Nur wenn ich jetzt den Sauger z.b. per app über die Fernbedinung fahre was ja set  <dev> move ... aus Fhem endspricht und dann ein set status mache werden die readings nicht mehr aktualliesiert und die Meldung wird angezeigt mit den log Einträgen.
der set status funktioniert dann auch erst wieder wenn ich über Fhem einen von diesen Befehlen ausführe home start stop oder pause.

Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 19:16:29
Auch wenn du nur über die App navigierst und danach status machst kommt der Fehler?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 09 Dezember 2020, 19:23:03
Das ist Richtig der Fehler kommt auch wenn ich nur über die App navigiere.
Und erst wenn ich über Fhem einen der Hauptbefehle wie start stop pause home mache geht der set status Befehl wieder.

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 21:48:28
Puh, also das ist ja schon sehr eigenartig. Wie kann sich ein Command per App auf FHEM auswirken? Das kann nur passieren, wenn dazwischen von FHEM automatisch schon ein status oder ähnliches getriggert wird.
Kannst du bitte probieren, direkt nach der Steuerung per App innerhalb weniger Sekunden ein status zu machen?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 22:02:38
Ich habe gerade eine größere Anpassung an fhempy eingecheckt. Bitte vor den weiteren Tests ein Update durchführen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 09 Dezember 2020, 22:43:08
Hallo Dominik

update gerade durchgeführt. wurde wie es aussieht abgebrochen und jetzt steht BindingIO auf disconnect.

2020.12.09 22:34:52 1 : pythonbinding
2020.12.09 22:34:52 1 : UPD FHEM/10_PythonBinding.pm
2020.12.09 22:34:52 1 : UPD FHEM/10_BindingsIo.pm
2020.12.09 22:34:52 1 : UPD FHEM/10_PythonModule.pm
2020.12.09 22:34:52 1 : UPD FHEM/bindings/python/fhempy
2020.12.09 22:34:52 1 : Got 14 bytes for FHEM/bindings/python/fhempy, expected 4096
2020.12.09 22:34:52 1 : aborting.
2020.12.09 22:34:52 3 : aktion_nach_update return value: -1
2020-12-09 22:34:52 Global global UPDATE
2020.12.09 22:35:01 3 : Pythonbinding_0: starting
2020.12.09 22:35:01 3 : Pythonbinding_0: using logfile: ./log/PythonBinding-2020-12-09.log
2020.12.09 22:35:01 3 : Pythonbinding_0: read: end of file reached while sysread
2020.12.09 22:35:01 3 : Pythonbinding_0: stopped
2020.12.09 22:35:11 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.09 22:35:21 3 : Pythonbinding_0: starting
2020.12.09 22:35:21 3 : Pythonbinding_0: using logfile: ./log/PythonBinding-2020-12-09.log
2020.12.09 22:35:21 3 : Pythonbinding_0: read: end of file reached while sysread
2020.12.09 22:35:21 3 : Pythonbinding_0: stopped
2020.12.09 22:35:22 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.09 22:35:32 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.09 22:35:41 3 : Pythonbinding_0: starting
2020.12.09 22:35:41 3 : Pythonbinding_0: using logfile: ./log/PythonBinding-2020-12-09.log
2020.12.09 22:35:41 3 : Pythonbinding_0: read: end of file reached while sysread
2020.12.09 22:35:41 3 : Pythonbinding_0: stopped
2020.12.09 22:35:43 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2020.12.09 22:35:53 1 : BindingsIo: ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)


Im log /log/PythonBinding-2020-12-09.log steht nichts für diese Zeiten drin es wird nicht beschrieben.
Letzte Zeitstempel 22:26 Uhr
Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 22:48:02
Ok, da dürfte dann doch noch ein Fehler im controls file sein. Habe in einem anderen Thread die gleiche Rückmeldung.

Kannst du bitte mal ein
sudo rm -f /opt/fhem/FHEM/bindings/python/fhempy
machen und danach nochmals ein update.

//Edit: Fehler gefunden, bin am Beheben.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Dezember 2020, 22:59:19
Bitte nochmals ein update machen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 10 Dezember 2020, 01:35:21
Zitat von: dominik am 09 Dezember 2020, 17:17:03
Bitte nochmals um das Logfile nach dem Restart. Poste bitte auch die Ausgabe von
ps -efa|grep python

Bis auf das grep selbst ist da nichts zu sehen.
Aber mir fällt etwas anderes auf: Du schreibst zu Anfang, dass Python-3 Pflicht wäre.


# python -V
Python 2.7.16
root@fhem:/opt/fhem# cat /etc/issue
Raspbian GNU/Linux 10 \n \l


Aptitude search bringt allerdings


i A python2 - interactive high-level object-oriented language (Python2 version)
i A python3 - interactive high-level object-oriented language (default python3 version)


Jetzt bin ich etwas ratlos, was ist da zu tun?

Ich will nochmal sagen, dass das Ganze am 05./06.12. bei mir ja funktionierte.

Auf Log(s) habe ich jetzt verzichtet, vermutlich bringt das in der Phase nichts. Falls - bitte sagen welches.

Danke!
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 10 Dezember 2020, 07:17:02
Hallo Dominik
Zitat
Puh, also das ist ja schon sehr eigenartig. Wie kann sich ein Command per App auf FHEM auswirken? Das kann nur passieren, wenn dazwischen von FHEM automatisch schon ein status oder ähnliches getriggert wird.
Kannst du bitte probieren, direkt nach der Steuerung per App innerhalb weniger Sekunden ein status zu machen?
Das update ist jetzt kpl. durchgeflaufen Fhem shutdown restart und den pi gleich auch einmal rebootet. Und nun nach Herzenslust getestet.
Ich konnte die Meldung aber sehr schnell wieder reproduzieren. Ich habe die app auf Fernbedienung stehen Anzeige im Handy mit den 4 Richtungspfeilen.
Wenn ich jetzt in Fhem auf status gehe kommt noch keine Meldung. Ich kann wie ein irrer auf das set icon im Device klicken (schnell hintereinander).
Sobald ich den Pfeil für die Fahrt nach vorne im Handy tippe und fast zeitgleich das set icon klicke (einmal) passiert noch nichts. Klicke ich jetzt nocheinmal auf das set icon in Fhem erscheint das Pop up Fenster mit der Medlung

Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'

Ab jetzt kommt die Meldung immer wieder wenn ich auf das Icon set klicke.
Erst wenn ich auf über Fhem den Sauger auf pause stelle werden die readings aktualliesiert und ich kann wieder ohne Fehlermeldung das set Icon klicken.
Hier mal ein Log des Device von meinen Sauger.

2020-12-10_06:24:47 Martha_1 active
2020-12-10_06:24:48 Martha_1 ViomiVacuumState.Docked
2020-12-10_06:27:20 Martha_1 active
2020-12-10_06:27:25 Martha_1 ViomiVacuumState.Docked
2020-12-10_06:29:42 Martha_1 status
2020-12-10_06:30:13 Martha_1 status
2020-12-10_06:30:13 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243e810>
2020-12-10_06:30:36 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243eff0>
2020-12-10_06:31:05 Martha_1 pause
2020-12-10_06:31:07 Martha_1 ViomiVacuumState.Idle
2020-12-10_06:31:07 Martha_1 error_code: 0
2020-12-10_06:31:07 Martha_1 error: Unknown error 0
2020-12-10_06:31:10 Martha_1 status
2020-12-10_06:31:13 Martha_1 status
2020-12-10_06:31:14 Martha_1 status
2020-12-10_06:31:15 Martha_1 status
2020-12-10_06:31:16 Martha_1 status
2020-12-10_06:31:17 Martha_1 status
2020-12-10_06:31:17 Martha_1 status
2020-12-10_06:31:17 Martha_1 status
2020-12-10_06:31:17 Martha_1 status
2020-12-10_06:31:17 Martha_1 status
2020-12-10_06:31:18 Martha_1 status
2020-12-10_06:31:18 Martha_1 status
2020-12-10_06:32:01 Martha_1 status
2020-12-10_06:32:01 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7253ef10>
2020-12-10_06:32:28 Martha_1 status
2020-12-10_06:32:28 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243e7b0>
2020-12-10_06:32:37 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x723e71d0>
2020-12-10_06:33:05 Martha_1 status
2020-12-10_06:33:05 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243e030>
2020-12-10_06:33:42 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x723e7890>
2020-12-10_06:33:56 Martha_1 pause
2020-12-10_06:34:00 Martha_1 status
2020-12-10_06:34:01 Martha_1 status
2020-12-10_06:34:01 Martha_1 status
2020-12-10_06:34:01 Martha_1 status
2020-12-10_06:34:01 Martha_1 status
2020-12-10_06:34:02 Martha_1 status
2020-12-10_06:34:02 Martha_1 status
2020-12-10_06:34:02 Martha_1 status
2020-12-10_06:34:02 Martha_1 status
2020-12-10_06:34:02 Martha_1 status
2020-12-10_06:34:03 Martha_1 status
2020-12-10_06:34:03 Martha_1 status
2020-12-10_06:34:03 Martha_1 status
2020-12-10_06:34:03 Martha_1 status
2020-12-10_06:34:03 Martha_1 status
2020-12-10_06:34:04 Martha_1 status
2020-12-10_06:34:04 Martha_1 status
2020-12-10_06:34:04 Martha_1 status
2020-12-10_06:34:04 Martha_1 status
2020-12-10_06:34:05 Martha_1 status
2020-12-10_06:34:05 Martha_1 status
2020-12-10_06:34:05 Martha_1 status
2020-12-10_06:34:05 Martha_1 status
2020-12-10_06:34:05 Martha_1 status
2020-12-10_06:34:06 Martha_1 status
2020-12-10_06:34:06 Martha_1 status
2020-12-10_06:34:06 Martha_1 status
2020-12-10_06:34:06 Martha_1 status
2020-12-10_06:34:07 Martha_1 status
2020-12-10_06:34:12 Martha_1 home
2020-12-10_06:34:15 Martha_1 ViomiVacuumState.Returning
2020-12-10_06:34:15 Martha_1 error_code: 2104
2020-12-10_06:34:15 Martha_1 error: Unknown error 2104
2020-12-10_06:35:48 Martha_1 ViomiVacuumState.Docked
2020-12-10_06:35:48 Martha_1 error_code: 2105
2020-12-10_06:35:48 Martha_1 error: Fully charged
2020-12-10_06:41:28 Martha_1 status
2020-12-10_06:41:28 Martha_1 status
2020-12-10_06:41:28 Martha_1 status
2020-12-10_06:41:28 Martha_1 status
2020-12-10_06:41:29 Martha_1 status
2020-12-10_06:41:42 Martha_1 status
2020-12-10_06:41:42 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243e410>
2020-12-10_06:41:53 Martha_1 home
2020-12-10_06:42:03 Martha_1 pause
2020-12-10_06:43:15 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243e630>
2020-12-10_06:43:31 Martha_1 status
2020-12-10_06:43:31 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7395e7b0>
2020-12-10_06:44:20 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x7243e770>
2020-12-10_06:45:25 Martha_1 ViomiVacuumState.Idle2
2020-12-10_06:45:25 Martha_1 error_code: 0
2020-12-10_06:45:25 Martha_1 error: Unknown error 0
2020-12-10_06:45:25 Martha_1 clean_area: 0
2020-12-10_06:45:46 Martha_1 pause
2020-12-10_06:45:54 Martha_1 status
2020-12-10_06:45:55 Martha_1 status
2020-12-10_06:45:55 Martha_1 status
2020-12-10_06:45:55 Martha_1 status
2020-12-10_06:45:56 Martha_1 status
2020-12-10_06:45:56 Martha_1 status
2020-12-10_06:45:56 Martha_1 status
2020-12-10_06:45:56 Martha_1 status
2020-12-10_06:45:56 Martha_1 status


Diese Einträge<miio.viomivacuum.ViomiVacuumStatus object at 0x7243e410>
erscheinen immer zusammen mit der Fehlermeldung. Früher hatte ich die auch im log des Device. Dachte immer das sind Standortinformationen wo der Sauger gerade im Raum steht.


Parrallel mal das log /opt/fhem/log/PythonBinding-2020-12-10.log


2020-12-10 06:24:41,200 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-10 06:24:46,261 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-10 06:26:49,441 - INFO     - fhempy.lib.fhem_pythonbinding: Starting pythonbinding...
2020-12-10 06:27:18,703 - INFO     - fhempy.lib.fhem_pythonbinding: FHEM connection started: 127.0.0.1
2020-12-10 06:30:15,250 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 11693212)
2020-12-10 06:30:25,752 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 76431441)
2020-12-10 06:30:29,050 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 9576265)
2020-12-10 06:33:06,080 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 33187430)
2020-12-10 06:33:13,743 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 29223769)
2020-12-10 06:41:43,653 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 58965164)
2020-12-10 06:42:13,470 - ERROR    - miio.miioprotocol: Got error when receiving: timed out
2020-12-10 06:42:13,471 - ERROR    - fhempy.lib.utils: Error in asyncio thread
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 29, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 357, in home
    self.send("set_charge", [1])
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/device.py", line 144, in send
    command, parameters, retry_count, extra_parameters=extra_parameters
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 236, in send
    extra_parameters=extra_parameters,
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 236, in send
    extra_parameters=extra_parameters,
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 236, in send
    extra_parameters=extra_parameters,
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 240, in send
    raise DeviceException("No response from the device") from ex
miio.exceptions.DeviceException: No response from the device
2020-12-10 06:42:13,479 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py:117> exception=DeviceException('No response from the device')>
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 192, in send
    data, addr = s.recvfrom(1024)
socket.timeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 137, in send_command
    reply = await utils.run_blocking(functools.partial(fct, *args))
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 29, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/viomivacuum.py", line 357, in home
    self.send("set_charge", [1])
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/device.py", line 144, in send
    command, parameters, retry_count, extra_parameters=extra_parameters
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 236, in send
    extra_parameters=extra_parameters,
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 236, in send
    extra_parameters=extra_parameters,
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 236, in send
    extra_parameters=extra_parameters,
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 240, in send
    raise DeviceException("No response from the device") from ex
miio.exceptions.DeviceException: No response from the device
2020-12-10 06:43:32,709 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 16560249)
2020-12-10 06:44:22,865 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 82589016)
2020-12-10 06:45:08,611 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 6267236)
2020-12-10 06:45:11,205 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 33967588)
2020-12-10 06:45:37,379 - ERROR    - fhempy.lib.fhem_pythonbinding: Failed to execute function Set: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 77, in Set
    return await utils.handle_set(self._conf_set, self, hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 168, in handle_set
    all_args[cmd_def["args"][i]] = arg
KeyError: 'args'
(id: 53513368)


Alles andere Funktioniert echt super. Auch diese Meldung beeinträchtig die Bedienung des Moduls nicht. Diese konstellation kommt ja normal nicht vor.
Was mir auch noch aufgefallen ist, die Kommunikation zwischen Sauger und Fhem ist sehr schnell. Drücke direkt am Sauger die home taste wird mir das in Fhem inerhalb weniger Sekunden auch angezeigt. Das war in der alten Version nicht so. Da hat das schon mal ein paar Minuten gedauert bis der Status auf Return gegangen ist.

Viele Grüsse

Stephan

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 10 Dezember 2020, 20:34:02
Hi,
die Information, dass die status Meldungen so schnell bei dir ankommen ist sehr wertvoll. Hast du das Attribut update_functions im Einsatz? Wenn nicht, sollte das Statusupdate naemlich nur alle 60s gemacht werden. Die Info, dass bei dir die Statusupdates aber sofort ankommen, bedeutet, dass da eine Endlosschleife drin ist die andauernd den Status abruft.

Bitte daher noch um Info ob du das Attribut update_functions nutzt.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 10 Dezember 2020, 20:43:30
Zitat von: curt am 10 Dezember 2020, 01:35:21
Bis auf das grep selbst ist da nichts zu sehen.
Aber mir fällt etwas anderes auf: Du schreibst zu Anfang, dass Python-3 Pflicht wäre.


# python -V
Python 2.7.16
root@fhem:/opt/fhem# cat /etc/issue
Raspbian GNU/Linux 10 \n \l


Aptitude search bringt allerdings


i A python2 - interactive high-level object-oriented language (Python2 version)
i A python3 - interactive high-level object-oriented language (default python3 version)


Jetzt bin ich etwas ratlos, was ist da zu tun?

Ich will nochmal sagen, dass das Ganze am 05./06.12. bei mir ja funktionierte.

Auf Log(s) habe ich jetzt verzichtet, vermutlich bringt das in der Phase nichts. Falls - bitte sagen welches.

Danke!

Python3 ist bei dir sicher installiert, sonst wuerde da eine Fehlermeldung von fhempy kommen.
python3 -V
Sollte die richtige Info liefern.

Kommt im Log noch immer diese Fehlermeldung
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use

Wenn ja, mach bitte
pi@raspberry39:~ $ sudo fuser 15733/tcp
15733/tcp:            5008
pi@raspberry39:~ $ ps -p 5008
  PID TTY          TIME CMD
5008 ?        00:18:53 fhempy
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 10 Dezember 2020, 21:50:12
Zitat
Hi,
die Information, dass die status Meldungen so schnell bei dir ankommen ist sehr wertvoll. Hast du das Attribut update_functions im Einsatz? Wenn nicht, sollte das Statusupdate naemlich nur alle 60s gemacht werden. Die Info, dass bei dir die Statusupdates aber sofort ankommen, bedeutet, dass da eine Endlosschleife drin ist die andauernd den Status abruft.

Bitte daher noch um Info ob du das Attribut update_functions nutzt.

Hallo Dominik

Das Attribut update_functions nutze ich nicht.

Ich habe gerade nochmal getestet, ohne das ich etwas mache wird alle 65 Sekunden in mein Device log der status gesetzt .
Wenn ich zufällig gerade dann auf start oder pause auf der app klicke wenn Fhem den status anfordert sieht das erstmal so aus als ob er so schnell aktualliesiert.

Dann habe ich den Sauger per Fernbedienung aus der Ladestation herausgefahren und nichts weiter gemacht. Im log vom Device Martha_1 wird weiter ca alle 65 Sekunden aktualliesiert.
gleichzeitig habe ich im log für /opt/fhem/log/PythonBinding-2020-12-10.log immer wieder reingeschaut nachdem sich der status neu geschrieben hat. es war keine Fehlermeldung.
Aber sobald ich selber einen set <dev> status über den set Icon anfordere kommt das pop up Fenster und es wird ein log Eintrag in /opt/fhem/log/PythonBinding-2020-12-10.log geschrieben

2020-12-10_21:36:19 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x72494730>
2020-12-10_21:37:24 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x72494510>
2020-12-10_21:38:29 Martha_1 status: <miio.viomivacuum.ViomiVacuumStatus object at 0x72494c50>
2020-12-10_21:39:35 Martha_1 ViomiVacuumState.Idle
2020-12-10_21:39:35 Martha_1 error_code: 0
2020-12-10_21:39:35 Martha_1 error: Unknown error 0
2020-12-10_21:41:45 Martha_1 battery: 99


Gruß

Stephan








Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 10 Dezember 2020, 21:55:44
Was meinst du eigentlich mit set icon?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 11 Dezember 2020, 03:19:52
Hallo @dominik,

Zitat von: dominik am 10 Dezember 2020, 20:43:30
Kommt im Log noch immer diese Fehlermeldung
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use

Nein, habe ich nicht mehr.

Zitat von: dominik am 10 Dezember 2020, 20:43:30
Wenn ja, mach bitte

Ich mache trotzdem mal:

# python3 -V
Python 3.7.3

# fuser 15733/tcp
15733/tcp:             708

# ps -p 708
  PID TTY          TIME CMD
  708 ?        00:00:01 python3


Log nach Reboot hänge ich an.
(P.S: Zitatebene korrigiert)
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 11 Dezember 2020, 07:04:18
ZitatWas meinst du eigentlich mit set icon?

Moin Dominik

Ich hab mir schon gedacht das das zu Mißverständnissen kommt. Mit set ( ICON ) meine ich das ICON oben links in der Device übersicht. Hab mal ein Bild angehängt.
Das hat  mich aber jetzt auf eine Idee gebracht.
Ich hab das ganze mal nicht mit der Device Übersicht gemacht sondern oben direkt in der Kommandozeile den Befehl set Martha_1 status eingegen und das dann auch schnell hintereinander.
Jetzt bekomme ich die Fehlermeldung nicht mehr reproduziert. Es gibt auch keinen log Eintrag in /opt/fhem/log/PythonBinding-2020-12-11.log
Was mir noch aufgefallen ist, und ich glaube das ist das Problem. Normalerweise wenn ich einen Befehl in der Device Übersicht mit den set  ( ICON ) absetzte wird die Web Seite einmal neu geladen
und ich würde dann wenn ich erneut auf das Icon klicke den carpet_mode setzen. Das ist bei mir aber nicht der fall, wenn ich im drop down menü set Martha_1 status ausgewählt habe.
Wenn ich jetzt auf set klicke bleibt die Device übersicht gleich und ich kann erneut auf set klicken und dann kommt die Fehlermeldung wenn ich Martha_1 zuvor mit der Fernbedienung gefahren habe.

Viele Grüße

Stephan


Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 11 Dezember 2020, 13:48:04
Ich hab noch ein bisschen herumprobiert. Ich habe ein kpl. neuen Fhem Server Jungfreulich aufgesetzt. Da ist nichts weiter drauf als fempy.
Nach der Installation konnte ich den set status Befehl über das besagte Icon anklicken und das drop down menü wurde neu aufgebaut. Ohne Fehlermeldung.
Was aber in der Grundversion von der Datei viomivacuum.py nicht funktioniert ist der move Befehl. Da hast Du ja eine Änderung vorgenommen. post #12
Zitat
Ich habe einen Pull Request dazu erstellt:
https://github.com/rytilahti/python-miio/pull/872

Diese Datei habe ich dann mit root Rechten in das Verzeichnis
/opt/fhem/.local/lib/python3.7/site-packages/miio Kopiert.

Fhem neu gestartet. Natürlich kommt jetzt die Medlung im log für fempy. Das es Berechtigungs Probleme gibt.
Could not install packages due to an EnvironmentError: [Errno 13] Keine Berechtigung: '/root/.cache/pip/wheels/6d/39/5c/8cce6617ff784b42b764a52b6331248cbcbf7006a2e01fe835'
Check the permissions.

Fhem wieder gestopt und die Rechte der Datei auf Fhem:dialout gesetzt.
Fhem wieder gestartet. Ohne Erfolg die Meldung mit der Berechtigung blieb.
Fhem wieder gestopt und für das ganze Fhem Verzeichnis die Berechtigung neu gesetzt.
sudo chown -R fhem:dialout /opt/fhem
Fhem wieder gestartet. Auch ohne Erfolg. Keine Berechtigung.
Erst nach einen reboot des pi´s ging local_pybindig auf opened.
Ab jetzt konnte ich den Saugere wieder mit set Martha_1 move Forward 4 manuell steuern.
Aber wie Du Dir bestimmt denken kannst kommt die pop up Meldung wenn ich auf das ICON für set Martha_1 status zweimal draufklicke.

Kann es sein das die Datei aus post #12 im update noch nicht mit drin ist, und deshalb bei Dir auch nicht den Fehler erzeugt ?

Viele Grüsse

Stephan

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 11 Dezember 2020, 18:30:00
Zitat von: curt am 11 Dezember 2020, 03:19:52
Hallo @dominik,

Nein, habe ich nicht mehr.

Ich mache trotzdem mal:

# python3 -V
Python 3.7.3

# fuser 15733/tcp
15733/tcp:             708

# ps -p 708
  PID TTY          TIME CMD
  708 ?        00:00:01 python3


Log nach Reboot hänge ich an.
(P.S: Zitatebene korrigiert)

Sieht doch schon gut aus, du hast nur mehr ein Timeout bei der Verbindung zum Vacuum. Token und IP sind richtig?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 11 Dezember 2020, 18:35:29
@Stelaku,
das mit den Berechtigungen ist sehr eigenartig. Aber ok, damit hängt es glaube ich nicht zusammen.

Das mehrmals auf das Set Icon klicken dürfte das Problem sein. Wenn ich da einmal klicke, dann lädt sich die FHEM Website neu und ich muss "status" wieder auswählen bevor ich set klicken kann. Das ist der Standard. Wenn du das so machst, bekommst du keinen Fehler?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 11 Dezember 2020, 19:27:15
Zitat von: dominik am 11 Dezember 2020, 18:30:00
Token und IP sind richtig?

IP ist richtig und von FHEM aus via ping erreichbar. Beim Token weiß ich nicht, wie ich das prüfen könnte. Zwischendrin hatte ich wohl nochmal den/einen Token mit gleicher Mailadresse und gleichem Gerät angefordert - da kam aber -so denke ich- der gleiche Token.

Ok, kann ich die Richtigkeit des Token prüfen? Falls nicht, wie weiter?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 11 Dezember 2020, 19:39:26
ZitatDas mehrmals auf das Set Icon klicken dürfte das Problem sein. Wenn ich da einmal klicke, dann lädt sich die FHEM Website neu und ich muss "status" wieder auswählen bevor ich set klicken kann. Das ist der Standard. Wenn du das so machst, bekommst du keinen Fehler?

Hallo Dominik

Das passiert leider bei mir nicht. Wenn ich auf set klicke wird die seite nicht neu geladen und ich kann ohne neue Auswahl im drop down sofort wieder auf set klicken. Das Standart Verhalten so wie Du es bei Dir beobachten kannst habe ich auch aber nur mit der Standart  Datei viomivacuum.py. Nur mit der Standart Datei gehen die move Befehle bei mir nicht. Weil da ja die wie Du geschrieben hattest
ZitatIch weiß schon was fehlt, die Annotation im Code. Ich vermute clean_mode kannst du auch nicht setzen, oder?

Vieleicht kannst Du den Fehler bei Dir reproduzieren wenn Du die Datei
ZitatIch habe einen Pull Request dazu erstellt:
https://github.com/rytilahti/python-miio/pull/872
in Deiner Installation auch dort einfügst.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 11 Dezember 2020, 19:55:34
ZitatIP ist richtig und von FHEM aus via ping erreichbar. Beim Token weiß ich nicht, wie ich das prüfen könnte. Zwischendrin hatte ich wohl nochmal den/einen Token mit gleicher Mailadresse und gleichem Gerät angefordert - da kam aber -so denke ich- der gleiche Token.

Ok, kann ich die Richtigkeit des Token prüfen? Falls nicht, wie weiter?

Hallo curt

Du müsstes doch auch das Device xiaomi_tokens bei Dir haben.
Du solltest den Token über das Device einfach nochmal anfragen.
Ich hab das gerade bei mir ausprobiert und es hat erst ein neues reading für den token gegeben als ich das Device xiaomi_tokens einmal gelöscht habe und dann wieder neu mit
define xiaomi_tokens PythonModule xiaomi_tokens
angelegt habe.
Dann wie gehabt einmal den Benutzernamen eingebn
danach das passwort und zu guter letzt get token klicken.
Seite aktualliesieren und der token wird als reading angezeigt.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 11 Dezember 2020, 20:16:01
xiaomi_tokens speichert Passwort und Username aus Sicherheitsgründen nicht. Du musst also vor jeder Abfrage wieder Username und Passwort eingeben und erst dann get_tokens.

Ich hab leider nicht den Viomi, sondern den Xiaomi V1 Vacuum. Das ist aber eine sehr hilfreiche Info, dass es nur bei geänderter Datei so ist. Bedeutet das, dass du auch keinen set status Fehler hast, wenn du die alte Datei verwendest und über die App steuerst?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 11 Dezember 2020, 21:41:46
Leider nein. Ich habe gerade alles wieder auf null gestellt und ein kpl. neues fhem mit der standard viomivacuum.py datei inbetrieb genommen.
Wenn ich jetzt über die Fernbedienung den Sauger aus der Ladestation fahre und dann set status klicke wird die Seite neu geladen, aber das State des Device bleibt unverändert auf Docked.
Wenn ich jetzt nochmal im drop down status auswähle und set klicke kommt der Fehler beim zweiten klick. Verdammt ich dachte es liegt an der Datei. Leider nicht.

Ich weiß nicht in wie weit das hilft. Auf meiner live Instanz habe ich noch die fempy Version von letzter Woche. Auf der läuft alles ohne Fehlermeldungen.
Da wird bei jeden set status klick die Seite neu geladen und das state neu geschrieben.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: frank am 11 Dezember 2020, 22:55:26
ist eventuell in der javescript console im browser was zu erkennen?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 11 Dezember 2020, 23:24:59
Zitatist eventuell in der javescript console im browser was zu erkennen?
Hier mal ein Auszug aus der javascript console
Layout-Darstellung wurde erzwungen, bevor die Seite vollständig geladen war. Falls Stylesheet noch nicht geladen sind, kann dies zu einem kurzzeitigen Darstellung des Inhalts ohne Formatierung führen. jquery.min.js:4:29775
23:14:48.620 FW_queryValue:{ReadingsVal("Martha_1","carpet_mode","")} fhemweb.js:512:13
23:14:48.623 FW_queryValue:{AttrVal("Martha_1","room","")} fhemweb.js:512:13
23:14:48.725 Inform-channel opened (HTTP) with filter Martha_1 fhemweb.js:512:13
23:14:48.748 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
23:14:54.724 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
23:14:54.727 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x725972d0>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7259...(139) fhemweb.js:512:13
23:14:54.730 Rcvd: ["Martha_1-status-ts","2020-12-11 23:14:54","2020-12-11 23:14:54"] fhemweb.js:512:13
23:14:58.919 FW_queryValue:{ReadingsVal("Martha_1","status","")} fhemweb.js:512:13
23:14:58.921 FW_cmd:/fhem?cmd=help Martha_1&XHR=1 fhemweb.js:512:13
23:15:02.087 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:15:02.174 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
23:15:02.321 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
23:15:02.324 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x72597430>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7259...(139) fhemweb.js:512:13
23:15:02.325 Rcvd: ["Martha_1-status-ts","2020-12-11 23:15:02","2020-12-11 23:15:02"] fhemweb.js:512:13

## Die nächsten Vier Zeilen werden ausgegeben wenn das pop up Fenster mit der Medlung angezeigt wird.

23:15:03.844 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20undefined&XHR=1 fhemweb.js:512:13
23:15:09.110 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20undefined&XHR=1 fhemweb.js:512:13
23:15:12.476 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20undefined&XHR=1 fhemweb.js:512:13
23:15:17.829 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20undefined&XHR=1 fhemweb.js:512:13
23:15:29.491 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
23:15:29.492 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x72597a50>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7259...(139) fhemweb.js:512:13
23:15:29.492 Rcvd: ["Martha_1-status-ts","2020-12-11 23:15:29","2020-12-11 23:15:29"] fhemweb.js:512:13

Und hier mal ein mitschnitt wenn Martha_1 zur Ladestation zurückfährt und ich dabei immer wieder auf set status klicke. Ohne Pop up Fenster und Fehlermeldung
23:30:40.566 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:30:40.652 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:30:44.628 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:30:44.710 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:30:48.604 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:30:48.691 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:30:50.027 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:30:50.110 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:30:51.155 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:30:51.244 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:30:54.708 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20&XHR=1 fhemweb.js:512:13
23:30:54.792 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:31:09.117 Rcvd: ["Martha_1","ViomiVacuumState.Returning","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Returning\u0022 class=\u0022col...(174) fhemweb.js:512:13
23:31:09.118 Rcvd: ["Martha_1-accesspoint_bssid","dc:39:6f:a4:49:ff","dc:39:6f:a4:49:ff"] fhemweb.js:512:13
23:31:09.119 Rcvd: ["Martha_1-accesspoint_bssid-ts","2020-12-11 23:31:09","2020-12-11 23:31:09"]

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 12 Dezember 2020, 04:36:53
Zitat von: Stelaku am 11 Dezember 2020, 19:55:34
Du müsstes doch auch das Device xiaomi_tokens bei Dir haben.
Du solltest den Token über das Device einfach nochmal anfragen.
Ich hab das gerade bei mir ausprobiert und es hat erst ein neues reading für den token gegeben als ich das Device xiaomi_tokens einmal gelöscht habe und dann wieder neu

Zitat von: dominik am 11 Dezember 2020, 20:16:01
xiaomi_tokens speichert Passwort und Username aus Sicherheitsgründen nicht. Du musst also vor jeder Abfrage wieder Username und Passwort eingeben und erst dann get_tokens.

Hallo @Stelaku @dominik
bedauerlicherweise funktioniert das nicht, es wird kein neues Token als Attribut angelegt. Dominik, hast Du da auch was verändert?

Auf den schnellen Blick ins Log fällt mir

"Unknown argument ?, choose one of username password country:de,cn,sg get_tokens:noArg"

auf.

Falls erforderlich kann ich das fragliche Log heute oder morgen Abend nachreichen.

P.S: Falls die Meldung auf die Mailadresse abstellt: Hier liegt @gmx.net vor.)
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 12 Dezember 2020, 10:45:52
Hallo curt
Ich habe es gerade nochmal bei mir ausprobiert mit aktuellem fempy.

Delete xiaomi_tokens
save config
shutdown restart
define xiaomi_tokens PythonModule xiaomi_tokens
set xiaomi_tokens username <Meine Mail Adresse>
set xiaomi_tokens password <Mein Passwort>
set xiaomi_tokens get_tokens


und nach ein paar Sekunden wenn Du die Seite mit F5 aktualisierst kommt das reading mit den token.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 12:43:22
xiaomi_tokens: Genau, man muss danach F5 drücken, da FHEM neue Readings erst nach einem Reload der Seite anzeigt.

@Stephan
Zur weiteren Eingrenzung des Fehler, ist es richtig, dass der Fehler nur auftritt, wenn die FHEM Seite nicht neu geladen wird? Sobald die Seite neu geladen wird, tritt der Fehler nicht auf?
Dann hattest du noch das Thema, dass "ViaomiStatus(.....)......" zurückgeliefert wurde, wann ist das der Fall?
Wird in der alten Version die FHEM Seite nach jedem "status" neu geladen?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 13:05:38
Mach bitte auch mal beim BindingsIo Device verbose=5 und schick mir dann das fhem Log im Fehlerfall - das kann durchaus groß werden, gerne per PN. Gleiches bitte auch am Live System, da sollte dann ersichtlich sein wo der Unterschied ist.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 12 Dezember 2020, 14:24:57
Hallo Dominik
Ich glaube es wird immer heißer

ZitatZur weiteren Eingrenzung des Fehler, ist es richtig, dass der Fehler nur auftritt, wenn die FHEM Seite nicht neu geladen wird? Sobald die Seite neu geladen wird, tritt der Fehler nicht auf?

das stimmt, ich habe es gerade getestet. Wenn ich einmal auf set status klicke wird die Seite nicht neu geladen und ich kann gleich nochmal set klicken, was dann den Fehler erzeugt.
Mache ich das selbe und drücke immer nach einen set status die F5 taste kommt der Fehler nicht. Und das Device zeigt seinen aktuellen status.

ZitatWird in der alten Version die FHEM Seite nach jedem "status" neu geladen?

genau das passiert in der alten Version. Set status angeklickt , Seite wird neu geladen.

Anbei noch meine beiden log´s in Verbose 5 für BindingsIO einmal mit meiner live Instanz alte fempy Version und meine Test Instanz mit der aktuellen fempy Version.

das log mit der Fehlermeldung ist ab 13:49:24 der Fehler zu sehen.

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 18:00:13
Hier liegt das Problem
BindingsIo: <<< WS: {"args":["Martha_1","status","undefined"]

Es wird "undefined" von FHEM als Argument mitgegeben. Kann es sein, dass das nur vorkommt wenn kein Reading aktualisiert wird? Oder hast du den Fehler auch reproduzieren können, wenn ein Reading aktualisiert wird?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 12 Dezember 2020, 19:28:53
Hallo Dominik

ZitatEs wird "undefined" von FHEM als Argument mitgegeben. Kann es sein, dass das nur vorkommt wenn kein Reading aktualisiert wird? Oder hast du den Fehler auch reproduzieren können, wenn ein Reading aktualisiert wird?

Wenn der Fehler kommt wird auch kein reading aktualisieren. Sprich Martha_1 ist nicht im Dock aber die Anzeige in Fhem bleibt auf Docked. Auch wenn ich mit F5 die Seite neu aufbauen lasse.
Den Fehler konnte ich nicht reproduzieren wenn die reading neu gesetzt werden.
Wenn der Sauger auf Cleaning steht und ich den set status klicke wird die Seite auch nicht neu geladen aber die readings werden aktualiesiert. Kann man schön sehen am reading clean_area.
Das wird immer neu gesetzt.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 20:27:24
Kannst du die Ausgabe der JavaScript Console bitte mal im Fehlerfall posten?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 20:38:18
Und mach bitte noch folgenden Test:
/opt/fhem/FHEM/bindings/python/fhempy/lib/miio/miio.py
Diese Zeile suchen (sollte ca. 137 sein):
reply = await utils.run_blocking(functools.partial(fct, *args))
danach einfügen
await fhem.readingsSingleUpdate(self.hash, "testreading", "ok", 1)

Bitte auf die Einrückung achten, das ist bei Python wichtig.
Bin gespannt ob es damit immer funktioniert, so wäre meine Erwartung.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 12 Dezember 2020, 21:23:33
Hallo Dominik

ZitatKannst du die Ausgabe der JavaScript Console bitte mal im Fehlerfall posten?

Klar mache ich gerne. Da habe ich dreimal hintereinander auf set status geklickt


21:03:06.507 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
21:03:06.508 Rcvd: ["Martha_1-testreading","ok","ok"] fhemweb.js:512:13
21:03:06.508 Rcvd: ["Martha_1-testreading-ts","2020-12-12 21:03:07","2020-12-12 21:03:07"] fhemweb.js:512:13
21:03:06.570 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13

## status im drop down ausgewählt

21:03:06.571 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x725104f0>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7251...(139) fhemweb.js:512:13

## set das erste mal angeklickt ohne Fhelermeldung

21:03:06.572 Rcvd: ["Martha_1-status-ts","2020-12-12 21:03:07","2020-12-12 21:03:07"] fhemweb.js:512:13

## set das zweite mal angeklickt jetzt kommt die Fehlermeldung ( pop up Fenster )

21:03:11.274 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20undefined&XHR=1 fhemweb.js:512:13

## set das dritte mal angeklickt selbe Fehlermeldung. Die Seite hat sich jedesmal nicht neu geladen

21:03:19.825 FW_cmd:/fhem?cmd.setMartha_1%3Dset%20Martha_1%20status%20undefined&XHR=1 fhemweb.js:512:13

## Hier kannst Du sehen das sich der status des Device nicht geändert hat, obwohl status angefordert wurde.
## Der Sauger steht jetzt vor der Ladestation und nicht Docked. In der alten Version wird mir in dieser Situation online als Status des Device angezeigt.

21:03:36.526 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13

## Dein Testreading wurde angelegt.

21:03:36.528 Rcvd: ["Martha_1-testreading","ok","ok"] fhemweb.js:512:13
21:03:36.531 Rcvd: ["Martha_1-testreading-ts","2020-12-12 21:03:37","2020-12-12 21:03:37"] fhemweb.js:512:13
21:03:38.717 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
21:03:38.719 Rcvd: ["Martha_1-testreading","ok","ok"] fhemweb.js:512:13
21:03:38.721 Rcvd: ["Martha_1-testreading-ts","2020-12-12 21:03:39","2020-12-12 21:03:39"] fhemweb.js:512:13
21:03:38.723 Rcvd: ["Martha_1","ViomiVacuumState.Docked","<div id=\u0022Martha_1\u0022  title=\u0022ViomiVacuumState.Docked\u0022 class=\u0022col2\u002...(165) fhemweb.js:512:13
21:03:38.724 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x725101b0>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7251...(139) fhemweb.js:512:13
21:03:38.726 Rcvd: ["Martha_1-status-ts","2020-12-12 21:03:39","2020-12-12 21:03:39"] fhemweb.js:512:13


ZitatUnd mach bitte noch folgenden Test:
/opt/fhem/FHEM/bindings/python/fhempy/lib/miio/miio.py
Diese Zeile suchen (sollte ca. 137 sein):

Habe ich gemacht. Das reading testreading ist jetzt in den readings zu sehen zeigt ok an und wird jedesmal rot wenn ich set status das erstemal vor der Fehlermeldung anklicke. Beim zweitenmal
kommt dann wieder das pop up Fenster. Die Fhem Seite wird nicht automatisch neu geladen.
Wenn ich immer nach dem ersten set status klick auf F5 drücke kommt die Fehlermeldung wie schon gehabt nicht mehr.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 21:36:03
Ok, danke für den Test. Dann hat es nichts mit der Reading Aktualisierung zu tun.

Der Test war jetzt mit der originalen miio Library, also wo move nicht geht. Richtig?

Ich suche mal weiter...btw, wie lange ist dein letztes FHEM Update am Live System her?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 12 Dezember 2020, 21:55:59
Zitat
Ok, danke für den Test. Dann hat es nichts mit der Reading Aktualisierung zu tun.

Der Test war jetzt mit der originalen miio Library, also wo move nicht geht. Richtig?

Ich suche mal weiter...btw, wie lange ist dein letztes FHEM Update am Live System her?

Nein der Test war mit der modifizierten miio Library. Bei der nichtmodifizierten kann ich den Fehler aber auch reproduzieren.

Auf meiner live Instanz habe ich fempy am 27.11.2020 per update eingespielt.
Die Versionsnummer von den Modulen lautet z.b. BindingsIo v1.0.0

Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 12 Dezember 2020, 23:30:57
Diese Meldung sollte mit dem Fix in der miio Library aber nicht mehr kommen
21:03:06.571 Rcvd: ["Martha_1-status","<miio.viomivacuum.ViomiVacuumStatus object at 0x725104f0>","<miio.viomivacuum.ViomiVacuumStatus object at 0x7251...(139) fhemweb.js:512:13


Siehst du im Status nur das <miio.viomivacuum....>? Das sollte eigentlich nicht sein.

Kannst du bitte mal die
/opt/fhem/FHEM/bindings/python/fhempy/lib/miio.py
mal durch diese Version ersetzen
https://raw.githubusercontent.com/dominikkarall/fhempy/3776c7a5098138a98bcc1f6531df0fbdc3d53d48/FHEM/bindings/python/lib/miio/miio.py

sudo wget https://raw.githubusercontent.com/dominikkarall/fhempy/3776c7a5098138a98bcc1f6531df0fbdc3d53d48/FHEM/bindings/python/lib/miio/miio.py -O /opt/fhem/FHEM/bindings/python/fhempy/lib/miio.py

Das wäre nämlich die alte Version. Bin gespannt ob die funktioniert.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 13 Dezember 2020, 00:33:00
ZitatSiehst du im Status nur das <miio.viomivacuum....>? Das sollte eigentlich nicht sein.
Hallo Dominik

Ich kann den status <miio.viomivacuum.ViomiVacuumStatus object at 0x739d5ed0> bei mir sehen der wird in der alten wie in der neuen Version immer angezeigt wenn ich über Fhem den move Befehl setze.
Ich habe auch die standart viomivacuum.py Datei ausprobiert auch dort bekomme ich diesen status zurück wenn ich über die app den Sauger fernsteuere.
ZitatKannst du bitte mal die
/opt/fhem/FHEM/bindings/python/fhempy/lib/miio.py
mal durch diese Version ersetzen

Ist erledigt. aber leider ohne Erfolg. Wenn ich nach einen move befehl den status über set anfordere wird die web seite nicht neu geladen und beim  zweiten klick kommt die Meldung.
Ebenfalls auch mit der standart viomivacuum.py Datei ausprobiert. Wurde der Sauger per Fernbedienung bewegt kommt die Meldung beim zweiten set klicken.

Viele grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 13 Dezember 2020, 11:44:47
Zitat von: Stelaku am 13 Dezember 2020, 00:33:00
Ich kann den status <miio.viomivacuum.ViomiVacuumStatus object at 0x739d5ed0> bei mir sehen der wird in der alten wie in der neuen Version immer angezeigt wenn ich über Fhem den move Befehl setze.
Ich habe auch die standart viomivacuum.py Datei ausprobiert auch dort bekomme ich diesen status zurück wenn ich über die app den Sauger fernsteuere.
Das muss ich mir separat anschauen, das sollte nicht sein.

Zitat
Ist erledigt. aber leider ohne Erfolg. Wenn ich nach einen move befehl den status über set anfordere wird die web seite nicht neu geladen und beim  zweiten klick kommt die Meldung.
Ebenfalls auch mit der standart viomivacuum.py Datei ausprobiert. Wurde der Sauger per Fernbedienung bewegt kommt die Meldung beim zweiten set klicken.
Ich bin mir nicht sicher, aber könnte mir auch vorstellen, dass Anpassungen im FHEM Webumfeld dazu führen.
Kannst du bitte mal die fhemweb.js auf eine ältere Version umstellen? Da gab es ein paar Änderungen in letzter Zeit, wobei ich die Auswirkungen leider nicht ganz einschätzen kann, da ich den Code dort nicht so gut kenne.
Kannst du mal die Version aus deinem Live System in das Testsystem einspielen? /opt/fhem/www/pgm2/fhem/fhemweb.js ist der Dateipfad.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 13 Dezember 2020, 13:52:09
Hallo Dominik

ZitatKannst du mal die Version aus deinem Live System in das Testsystem einspielen? /opt/fhem/www/pgm2/fhem/fhemweb.js ist der Dateipfad.

Habe ich gemacht. Nur die Datei fhemweb.js war in meiner live Instanz sowie in meiner Test Instanz an diesem Ort /opt/fhem/www/pgm2/fhemweb.js. War bestimmt nur ein Tipfehler ?

Die Datei fhemweb.js mit den Zeitstempel vom 27.11.2020 befindet sich jetzt an der stelle wo auch die fhemweb.js war aus meiner Test Instanz. Der Zeitstempel ist da jetzt auch der 27.11.2020.

Aber leider ist die Meldung immer noch reproduzierbar. Auch nach einem pi reboot und Browser neustart mit löschen aller Verläufe etc.

Viele Grüsse

Stephan

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 13 Dezember 2020, 15:01:47
Hi,

puh, irgendwie kommen wir da nicht weiter. Kannst du bitte die miio.py von fhempy aus der alten Installation ebenfalls ins Testsystem kopieren?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 13 Dezember 2020, 15:40:22
Zitatpuh, irgendwie kommen wir da nicht weiter. Kannst du bitte die miio.py von fhempy aus der alten Installation ebenfalls ins Testsystem kopieren?

Das habe ich gemacht. die Datei aus der live instanz

/opt/fhem/FHEM/bindings/python/lib/miio/miio.py

Kopiert in die Testversion. Da habe ich zwei Orte gefunden an der die Datei liegt. Einmal dieser Pfad
Zitat
/opt/fhem/FHEM/bindings/python/fempy/lib/miio.py
Danach hat sich nichts am Fehlerbild geändert.
Dann habe ich die miio.py in den zweiten Pfad, der Testversion durch die aus der live Instanz ersetzt.

/opt/fhem/FHEM/bindings/python/fempy/lib/miio/miio.py


Und wie soll ich es sagen der Fehler ist weg  :D.

Wenn ich auf set status klicke wird zwar die Web Seite nicht neu geladen, so das ich immer noch wie ein irrer auf das set Icon klicken kann, aber der Fehler wird nicht mehr angezeigt.
Bei jeden klick auf set wird dieses reading
cmd_reply_val         <miio.viomivacuum.ViomiVacuumStatus object at 0x72dec550>
immer neu gesetzt. es ändern sich immer die Zahlen hinter 0x........ .
Und der Status des Device ändert sich auf online.
Im log PythonBinding-2020-12-13.log gibt es dann auch keine Einträge.

Das ist doch für einen Sonntag schonmal ein klasse Erfolgserlebnis.
Vielen dank

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 13 Dezember 2020, 16:34:33
Ok :) so kommen wir weiter.

Kannst du mir bitte die miio.py die du kopiert hast hier reinkopieren? Dann weiß ich welche Version das ist und kann von dort wegarbeiten.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 13 Dezember 2020, 16:53:48
Schon geschehen
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 14 Dezember 2020, 21:49:54
Ich weiß leider noch immer nicht warum das bei dir so ist. Vor allem, warum nach einem Set die Seite nicht neu geladen wird. Das sollte eigentlich immer der Fall sein.

Kannst du bitte mal status auswählen und dann den HTML Code hier posten?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 14 Dezember 2020, 22:03:18
Hallo Dominik

Also ich bin nicht mehr ganz wach aber ich habe gerade ein bisschen herumgespielt und viel im Forum gelesen. Es sieht fast so aus als ob die Fehlermeldung doch was mit der fhemweb.js Datei zu tun hat.
Ich habe die neue Datei die Morgen im update verfügbar sein wird auf das backup gespielt wo ich vorher den Fehler sofort reproduzieren kann. Mit der neuen fhemweb.js Datei ist alles wieder wie in meinem
Live System. die Seite wird immer neu geladen nach einem set status.
Ich werde das Morgen noch mehrmals wieder holen um ganz sicher zu sein.

ZitatNachtrag: im svn ist eine gefixte Fassung, gibt's ab morgen früh per update oder direkt unter https://svn.fhem.de/trac/browser/trunk/fhem/www/pgm2/fhemweb.js
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 14 Dezember 2020, 22:14:34
Passt, bin schon auf das Resultat gespannt. Ich habe fhemweb.js auch schon ausführlich studiert, bin da aber noch nicht ganz durchgestiegen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 15 Dezember 2020, 21:22:39
Hallo Dominik
Ich habe jetzt den ganzen Nachmittag herumprobiert und bin nicht wirklich zu einem Ergebnis gekommen. Die anfänglich Euphorie von gestern wurde heute nicht bestätigt.

Erster Versuch:
Backup meiner Live Instanz auf den Test pi geschrieben. Update durchgeführt shutdown restart und Browser Verläufe ... gelöscht. Alles wieder hochfahren lassen mit dem Ergebnis das die Fehlermeldung brav an der selben Stelle wieder aufpoppte.

Zweiter Versuch:
Backup meiner Test Instanz aufgespielt und ebenfalls ein update durchgeführt. Natürlich wie zu erwarten das gleich Problem. Jetzt aber die fhemweb.js Datei von Gestern, die ja normalerweise die selbe
sein sollte die heute über das update reingekommen ist drüber kopiert. alle rechte wieder auf fhem:dialout, Fhem gestartet und siehe da der Fehler ist wie gestern weg. Nur das jetzt beim Event Monitore keine Events mehr angezeigt werden was vor den einspielen der fhemweb.js noch ging. Einmal Erfolg gehabt die Events durch einen longpoll websocket wieder angezeigt zu bekommen. Auch mehrfaches löschen des Browser Cache war ohne Erfolg.

Dritter Versuch:
Alles wieder auf Null. kpl. neues Fhem installiert fempy eingebunden. Der erste set Befehl wurde
Abgesetzt Seite hat sich neu geladen. Nur das Device blieb auf Docked. Status neu ausgewählt und set geklickt. Seite hat sich nicht neu geladen. Nochmal auf set geklickt. Der Fehler wurde wieder angezeigt.
Auch hier die fhemweb.js von gestern eingespielt. Mit den Ergebnis das zwar der Fehler nicht mehr angezeigt wurde aber eben der Event Monitor keine Events mehr angezeigt hat.

Ich habe zwei Dateien vom HTML Code angehängt. Einmal befor ich auf set klicke und einmal nachdem ich auf set geklickt habe und das pop up Fenster zu sehen ist.

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 16 Dezember 2020, 04:15:11
@Dominik @Stelaku
Zitat von: Stelaku am 12 Dezember 2020, 10:45:52
Hallo curt
Ich habe es gerade nochmal bei mir ausprobiert mit aktuellem fempy.

Delete xiaomi_tokens
save config
shutdown restart
define xiaomi_tokens PythonModule xiaomi_tokens
set xiaomi_tokens username <Meine Mail Adresse>
set xiaomi_tokens password <Mein Passwort>
set xiaomi_tokens get_tokens

und nach ein paar Sekunden wenn Du die Seite mit F5 aktualisierst kommt das reading mit den token.

<seufzt> Nein, da kommt genau nichts, einziges Reading ist state=active. Daran ändert Aktualisierung auch nichts.

Ich hätte schon gern die Anbindung an FHEM zurück, das ging ja schon mal (einen halben Tag bis zum Update).

In der Anlage gepacktes Log (PW als x).
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 16 Dezember 2020, 07:20:31
Moin curt

Probier doch mal bitte Dich in der Mijo Home app auf Deinem Handy einmal abzumelden und dann wieder anzumelden. Nur um Deine Benutzerdaten mal zu überprüfen.
In der app gehst Du dann auf Profil unten rechts. Klickst dann ganz oben auf Dein Profilbild (Namen) . Und ganz unten steht dann abmelden.
Falls Du Dich dann nicht mehr anmelden kannst sind Deine Benutzerdaten nicht mehr richtig. Dann erstellst Du einfach ein neues Konto verbindest den Sauger mit der app und versuchst den token dann mit den neuen Benutzerdaten zu erhalten. 

Viele Grüsse

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 16 Dezember 2020, 07:57:37
Zitat von: Stelaku am 16 Dezember 2020, 07:20:31
Probier doch mal bitte Dich in der Mijo Home app auf Deinem Handy einmal abzumelden und dann wieder anzumelden. Nur um Deine Benutzerdaten mal zu überprüfen.

Danke für den Hinweis und die Wegerläuterung.

Ich kann mich mit Mailadresse und Password dort problemlos neu anmelden.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 16 Dezember 2020, 08:26:16
Eventuell den Server vorher noch setzen. de/cn?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 16 Dezember 2020, 08:36:00
Zitat von: dominik am 16 Dezember 2020, 08:26:16
Eventuell den Server vorher noch setzen. de/cn?

Bitte konkreter und ausführlicher.
(Ich soll set xiaomi_tokens countrys vor allem anderen auf de setzen?)
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 16 Dezember 2020, 20:35:05
Zitat von: curt am 16 Dezember 2020, 08:36:00
Bitte konkreter und ausführlicher.
(Ich soll set xiaomi_tokens countrys vor allem anderen auf de setzen?)
Ja, set xiaomi_tokens country cn.

Sofern cn für dich richtig ist, das musst du in der Xiaomi App schauen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 23 Dezember 2020, 16:48:15
Hallo Dominik

Ich wollte mich nochmal melden. Es sind jetzt ja ein paar Tage vergangen und so manche update´s in Fhemweb gewesen.
Heute habe ich nochmal ein update in meiner Test Instanz durchlaufen lassen in der die fhemweb.js auch wieder mit im update war.
Die Fehlermeldung ist jetzt nicht mehr reproduzierbar.
Wenn ich den Sauger per move Forward aus der Ladestation herausfahre und dann die set status Abfrage anklicke, wird das drop down wie gehabt nicht neu geladen und ich kann gleich wieder auf set status klicken.
Aber diesmal kommt das pop up Fenster nicht mehr. Die status Anfrage wird zwar auch nicht vom Sauger beantwortet. Denn das Reading state bleibt unverändert auf ViomiVacuumState.Docked.
Erst nach ca. 3 Minuten ändert sich das Reading state auf ViomiVacuumState.Idle.

Im Pyhtonbinding log. ist kein Eintrag in dieser Zeit.

Viele Grüsse und ein schönes Weihnachtsfest.

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 23 Dezember 2020, 17:00:14
Hi,

danke für die Info. Das bedeutet aber, der Fehler ist noch immer vorhanden, nur kommt keine Fehlermeldung, richtig?

Frohe Weihnachten auch!
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 23 Dezember 2020, 18:39:59
Hallo Dominik

Das ist richtig. Der set status Befehl wird nicht verarbeitet wenn der Sauger zuvor manuell gefahren wurde.

Im normalen Betrieb wird der set status Befehl gesendet und ich erhalte kurz darauf neue aktuelle Readings über z.b. Battery, clean_area und so weiter.

Gruß

Stephan
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 30 Dezember 2020, 06:38:43
Freunde des gewischten Küchenbodens,

Zitat von: curt am 16 Dezember 2020, 07:57:37
Zitat
Probier doch mal bitte Dich in der Mijo Home app auf Deinem Handy einmal abzumelden und dann wieder anzumelden. Nur um Deine Benutzerdaten mal zu überprüfen.
Danke für den Hinweis und die Wegerläuterung.
Ich kann mich mit Mailadresse und Password dort problemlos neu anmelden.

Es ging nicht vor und nicht zurück. Ich war stinkesauer (nein, nicht auf Euch, Euch bin ich dankbar) und beschloss, mir Weihnachten nicht verderben zu lassen: Dann haben halt die Chinesen den Einmarschplan in mein Haus ...

Ich spiele Updates des Betriebssystems sowie von FHEM eigentlich immer zeitnah ein. Und nun überkam es mich: Mal wieder probieren. Ok, Token-Device neu anlegen, dann User/Pass und Token abholen:

define xiaomi_tokens PythonModule xiaomi_tokens
set xiaomi_tokens username USERNAME@MAIL.COM
set xiaomi_tokens password PASSWORD
set xiaomi_tokens get_tokens


Hmmm, tut nicht. Aber das kenne ich ja nun. Ok, nochmal auf dem ollen S4 bei der App abmelden und neu anmelden ... wird nichts bringen, das brachte noch nie was. User/Pass stimmen. Immerhin.

Eher aus unterdrückter Wut spielte ich dann das o.g. Procedere nochmals durch ... tut wieder nicht. Und nochmals durchspielen - offenbar ist es das in unserer Branche berühmte magische Zaubersalz: Huch, da steht ja jetzt doch ein Token?

Au fein, schnell in das noch vorhandene Device von Putzi eintragen!
Args, tut nicht. Ok, vielleicht schläft Putzi zu tief - mal Putzi wecken (händisch, Anfahren an Ladestation). Neh, tut auch nicht. Boah, wasnDreck.
Dann kam ich eher genervt auf die Idee, FHEM vermittels shutdown restart neu zu starten, kostet ja nix.

Na holla die Waldfee - auf einmal purzeln die Readings nur so.  :)
Ihr dürft Euch mit mir freuen.

Nun kommt die Frage aller Fragen:
Was kann ich denn jetzt damit so alles machen?

Ok, ich sehe dann wohl den Status, kann Putzi starten sowie zum Laden schicken. Aber geht da noch mehr? Vermutlich, denn @Stelaku hatte mir eher theoretisch mal gezeigt, dass so eine Art "1 Meter vorwärts, dann 45° drehen" geht. Aber geht noch mehr? Was geht alles?

Also eigentlich würde ich sehr schön finden, wenn es eine Liste der Möglichkeiten gäbe. Jaja, ich weiß. Sagen wir mal: Den Anfang einer solchen Liste.

Meine letzte Frage mag unbotmäßig klingen, ist aber nicht so gemeint - es geht nur um das Verständnis:
Es gibt da doch noch ein anderes Modul für diese Xiaomi-Sauger, das hantiert auch mit dem Token rum. Was passiert eigentlich, wenn man den Token da reinwirft?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 Dezember 2020, 14:54:32
Zitat von: Stelaku am 23 Dezember 2020, 18:39:59
Hallo Dominik

Das ist richtig. Der set status Befehl wird nicht verarbeitet wenn der Sauger zuvor manuell gefahren wurde.

Im normalen Betrieb wird der set status Befehl gesendet und ich erhalte kurz darauf neue aktuelle Readings über z.b. Battery, clean_area und so weiter.

Gruß

Stephan

Das ist ärgerlich. Sollte es dich stark stören, suche ich noch weiter, ansonsten würde ich das Thema vorerst mal beiseite legen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 Dezember 2020, 15:05:08
@curt, super, dass es nun klappt! :)

Alle Befehle die du als "set" Command setzen kannst, sollten auch funktionieren. Die "Liste" der Befehl kannst du also einfach im FHEM Web einsehen.

Ob das andere Modul auch funktioniert, kommt auf deinen Saugroboter drauf an. Wenn er damit geht, dann empfehle ich das andere Modul zu verwenden, da dort Saugroboter gleich mit allen Funktionen integriert sind. Im miio Modul müsstest du ein paar update_functions setzen um alle Readings immer aktuell zu halten.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 30 Dezember 2020, 17:25:16
ZitatDas ist ärgerlich. Sollte es dich stark stören, suche ich noch weiter, ansonsten würde ich das Thema vorerst mal beiseite legen.

Hallo Dominik

Das ist überhaupt kein Problem. Es funktioniert ja alles so weit. Dieses Phänomen ist ja nur in einem extremen Sonderfall zu beobachten.

Vielen dank für Deine wirklich tolle Arbeit an diesem Modul.

Hallo Curt

Ich freue mich auch sehr das es jetzt bei Dir funktioniert.
Was Du da mit jetzt alles anstellen kannst wird nur durch Deiner Phantasie Grenzen gesetzt.
Ich habe bei mir ja einen kleinen Fahrstuhl für den Sauger gebaut, damit er zwei Stufen in ein höheres Geschoss fahren kann. Da ist es schon sehr
schön den Sauger, wenn er denn nach oben oder nach unten mit dem Fahrstuhl fährt, auf pause zu stellen.
Sonst randaliert er die ganze Zeit immer gegen die Fahrstuh Rehling und ist dann wenn er unten oder oben angekommen ist kpl. verwirrt.
Was auch sehr nett ist, wenn ich nach Hause komme wird über die Anwesenheit meines Handy´s ein Befehl gesetzt, der den Sauger zum Mülleimer fahren lässt.
Ja und zu guter letzt sollte meine Alarmanlage durch den Sauger nicht ausgelöst werden. Das wird dank der Anbindung an Fhem auch super gewährleistet.

ZitatMeine letzte Frage mag unbotmäßig klingen, ist aber nicht so gemeint - es geht nur um das Verständnis:
Es gibt da doch noch ein anderes Modul für diese Xiaomi-Sauger, das hantiert auch mit dem Token rum. Was passiert eigentlich, wenn man den Token da reinwirft?

Da habe ich bis jetzt noch keinen Erfolg mit gehabt. Bis auf ein connect nach anlegen des Device ist bei mir nichts weiter geschehen. Es werden readings angezeigt mit der Firmware Version.
Nur ein steuern des Saugers ist bis heute nicht möglich. Brauch ja auch nicht. Funktioniert mit fempy ja sehr gut.

Ich wünsche euch einen guten rutsch ins neue Jahr.

Viele Grüße

Stephan


Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 30 Dezember 2020, 18:23:41
Noch zur Info, ihr könnt jede Funktion (set Befehl) regelmäßig mit update_functions ausführen lassen. Z.B. um die Filterwerte laufend zu aktualisieren oder die aktuelle Saugstärke, etc.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 04 Januar 2021, 09:01:29
@Stelaku
In dem 72_Xiaomi ist "unser" Robot nun (ansatzweise) integriert: Das ist ein noch laufender Prozess.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 05 Januar 2021, 04:15:40
@dominik
In den Thread zu 72_Xiaomi (noch besser: im zuständigen Wiki-Artikel) müsste Dein Weg zum Token eigentlich auch beschrieben werden. Denn Dein Weg funktioniert. - Die hantieren da mit wilden Konstruktionen von alten Apps usw.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: curt am 06 Januar 2021, 04:37:32
@dominik
"list xiaomi_tokens" wirft aktuell einen Fehler:


STATE      Failed to execute function Define: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in _onMessage
    fct_timeout,
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/xiaomi_tokens/xiaomi_tokens.py", line 46, in Define
    self.create_async_task(functools.partial(self.obtain_tokens))
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 97, in create_async_task
    task = asyncio.create_task(coro)
  File "/usr/lib/python3.7/asyncio/tasks.py", line 325, in create_task
    return loop.create_task(coro)
  File "/usr/lib/python3.7/asyncio/base_events.py", line 405, in create_task
    task = tasks.Task(coro, loop=self)
TypeError: a coroutine was expected, got functools.partial(<bound method xiaomi_tokens.obtain_tokens of <fhempy.lib.xiaomi_tokens.xiaomi_tokens.xiaomi_tokens object at 0xb5b66a10>>)

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 06 Januar 2021, 09:52:10
Hi,
sollte in 0.1.18 behoben sein.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 08 Januar 2021, 13:24:36
Hallo Dominik,

seit ein paar Tagen gehe ich mit fhempy auf Entdeckungsreise, um zu erkunden, was für mich brauchbar sein könnte  :)
Erstmal DANKE, was du in kurzer Zeit aus dem Boden gestampft hast.

Da ich so einige XIAOMI Devices in Betrieb habe ist das natürlich ein interessanter Teilbereich hier.
Das Modul mit der Übersicht aller Tokens ist natülich sehr praktisch und wird mir in der Zukunft die Suche nach "wie ging das gleich wieder" ersparen  8)

Das Modul Yeelight hat gegenüber der alten Implementierung den Vorteil, dass es auch "funktioniert", wenn eine Lampe durch den normalen Lichtschalter gerade keinen Strom hat. In der alten Implementierung steht in diesem Fall im set immer ein ekelhafter Syntax Error. Allerdings erschließen sich mir die mit fhempy angebotenen Set-Methoden noch nicht so richtig, da die meisten weitere Argumente erfordern. Mit "toggle" kan ich zwar ein- und ausschalten, bei on und off brauche ich aber schon Argumente und rgb verstehe ich gar nicht.

Hier ist mal ein jsonlist2 von einem LED Strip:


{
  "Arg":"da_LEDStrip",
  "Results": [
  {
    "Name":"da_LEDStrip",
    "PossibleSets":"raw_command info:noArg status:noArg on off set_brightness set_color_temp set_rgb set_developer_mode:on,off set_save_state_on_change:on,off set_name toggle:noArg set_default:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 update_functions IODev event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DMX_B DMX_G DMX_R andFHEM_alias assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fp_Dach fp_Eingang fp_Erdgeschoss fp_ErsterStock fp_Garten fp_Keller gassistantName:textField genericDeviceType:ac_unit,aircondition,airfreshener,airpurifier,awning,bathtub,bed,blender,blinds,boiler,camera,carbon_monoxide_detector,charger,closet,coffee_maker,coffeemaker,cooktop,curtain,dehumidifier,dehydrator,dishwasher,door,drawer,dryer,fan,faucet,fireplace,fryer,garage,gate,grill,heater,hood,humidifier,kettle,light,lock,remotecontrol,mop,mower,microwave,multicooker,network,outlet,oven,pergola,petfeeder,pressurecooker,radiator,refrigerator,router,scene,securitysystem,settop,sensor,shutter,shower,smoke_detector,sousvide,sprinkler,standmixer,switch,tv,thermostat,vacuum,valve,washer,waterheater,waterpurifier,watersoftener,window,yogurtmaker,aircooler,audio_video_receiver,freezer,speaker,streaming_box,streaming_stick,streaming_soundbar,soundbar homebridgeMapping:textField-long icon lightSceneParamsToSave msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgParams msgPriority msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText msgTitle msgTitleShrt msgType:text,push,mail,screen,light,audio,queue realRoom:textField realtimePicker room_map sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "DEF": "miio yeelight 192.168.178.104 9a98aafb28a19466986a19fd052be27c",
      "FUUID": "5ff056e6-f33f-cc40-1c99-7bb21411a45c8360",
      "FVERSION": "10_PythonModule.pm:0.182830/2019-01-16",
      "IODev": "local_pybinding",
      "NAME": "da_LEDStrip",
      "NR": "1261",
      "PYTHONTYPE": "miio",
      "STATE": "active",
      "TYPE": "PythonModule"
    },
    "Readings": {
      "accesspoint_bssid": { "Value":"44:4E:6D:5B:9E:D0", "Time":"2021-01-02 12:20:23" },
      "accesspoint_rssi": { "Value":"-60", "Time":"2021-01-08 12:39:44" },
      "accesspoint_ssid": { "Value":"BUWO", "Time":"2021-01-02 12:20:23" },
      "brightness": { "Value":"14", "Time":"2021-01-02 12:20:22" },
      "color_mode": { "Value":"YeelightMode.ColorTemperature", "Time":"2021-01-02 17:23:16" },
      "color_temp": { "Value":"4540", "Time":"2021-01-02 17:23:16" },
      "developer_mode": { "Value":"1", "Time":"2021-01-02 12:20:22" },
      "firmware_version": { "Value":"1.4.2_0050", "Time":"2021-01-02 12:20:23" },
      "hardware_version": { "Value":"MW300", "Time":"2021-01-02 12:20:23" },
      "is_on": { "Value":"0", "Time":"2021-01-08 11:01:29" },
      "mac_address": { "Value":"78:11:DC:A2:15:CE", "Time":"2021-01-02 12:20:23" },
      "model": { "Value":"yeelink.light.strip1", "Time":"2021-01-02 12:20:23" },
      "network_interface_gw": { "Value":"192.168.178.1", "Time":"2021-01-02 12:20:23" },
      "network_interface_gw_mac": { "Value":"44:4E:6D:5B:9E:CD", "Time":"2021-01-02 12:20:23" },
      "network_interface_localIp": { "Value":"192.168.178.104", "Time":"2021-01-02 12:20:23" },
      "network_interface_mask": { "Value":"255.255.255.0", "Time":"2021-01-02 12:20:23" },
      "presence": { "Value":"online", "Time":"2021-01-02 12:20:23" },
      "rgb": { "Value":"", "Time":"2021-01-02 17:23:16" },
      "save_state_on_change": { "Value":"0", "Time":"2021-01-02 12:20:22" },
      "state": { "Value":"active", "Time":"2021-01-02 12:20:22" }
    },
    "Attributes": {
      "IODev": "local_pybinding",
      "room": "Dach,YeeLight",
      "verbose": "5"
    }
  }  ],
  "totalResultsReturned":1
}


Wirst du hier noch verfeinern oder ist das alles ein eher generischer Ansatz?

Ich habe auch noch zu den Peers und Bluetooth einige Unklarheiten, die in diesem Thread eigentlich OT sind. Ich weiß nur nicht wohin damit:
- einen Peer konnte ich auf einem weitern Raspi anlegen und er wurde in FHEM auch erkannt und erzeugt, bei Update bekomme ich aber folgende Meldung im FHEM Log (obwohl er laut Reading auf dem aktuellen Versionsstand ist):

2021.01.08 11:54:50 1: ws:192.168.178.77:15733 disconnected, waiting to reappear (fhempy_peer_192_168_178_77)
2021.01.08 11:54:50 1: BindingsIo: ERROR fhempy_peer_192_168_178_77 - error while connecting: 192.168.178.77: Verbindungsaufbau abgelehnt (111)

- Benötige ich für jede Instanz (fhem,peers) je ein define für mein Handy, wenn ich es mit Bluetooth Presence Checker lokalisieren möchte?
- BLE Presence: Ich kann mit "sudo find /opt/fhem -name bluepy-helper" nichts finden (mit dem adequaten Kommando auf meinem Peer übrigens auch nicht). Wie kann ich den Helper installieren?
- Was müsste eigentlich mit dem Modul discover_ble erkennbar sein? Ich habe es angelegt, sehe aber nichts, außer das es "active" ist. Sollte es BLE Devices von selbst finden? Ist aber wahrscheinlich eine Folge des fehlenden Helpers, oder?

Da ich im Binding Log eine paarFehler sehe, hänge ich es hier mal mit rein:

2021-01-08 07:48:57,634 - ERROR    - upnp: Error in handle_msg
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/discover_upnp/discover_upnp.py", line 126, in handle_msg
    del listenerFilter["found_devices"][usn]
KeyError: 'uuid:3DCC7100-F76C-11DD-87AF-305890619AC8::urn:schemas-upnp-org:device:MediaRenderer:1'
2021-01-08 07:48:57,739 - ERROR    - upnp: Error in handle_msg
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/discover_upnp/discover_upnp.py", line 126, in handle_msg
    del listenerFilter["found_devices"][usn]
KeyError: 'uuid:3DCC7100-F76C-11DD-87AF-305890619AC8::urn:schemas-upnp-org:device:MediaRenderer:1'
2021-01-08 07:48:57,763 - ERROR    - upnp: Error in handle_msg
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/discover_upnp/discover_upnp.py", line 126, in handle_msg
    del listenerFilter["found_devices"][usn]
KeyError: 'uuid:3DCC7100-F76C-11DD-87AF-305890619AC8::urn:schemas-upnp-org:device:MediaRenderer:1'
2021-01-08 08:01:31,036 - ERROR    - asyncio: Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0xb08dc8f0>
2021-01-08 10:15:30,734 - INFO     - fhempy.lib.pkg_installer: Attempting install of fhempy
2021-01-08 10:17:00,072 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-08 10:17:00,091 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-08 10:18:39,195 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-08 10:18:39,214 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-08 10:18:49,502 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-08 10:18:53,832 - ERROR    - da_LEDStrip: Annotation is not class: typing.Tuple[int, int, int]
/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py:73: UserWarning: Please consider using python-yeelight for more complete support.
  self._device = self._miio_device_class(ip=self._miio_ip, token=self._miio_token)
2021-01-08 10:19:01,445 - ERROR    - MEDIONRadio_MediaRenderer: Device exists already, do not create a new one
2021-01-08 10:19:04,538 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: foreach my $fhem_dev (sort keys %main::defs) {  return 1 if(defined($main::defs{$fhem_dev}{TYPE}) && $main::defs{$fhem_dev}{TYPE} eq 'BindingsIo' && $main::defs{$fhem_dev}{IP} eq '192.168.178.77');;}return 0;;
2021-01-08 11:07:41,427 - ERROR    - wz_Lampe: Annotation is not class: typing.Tuple[int, int, int]
2021-01-08 11:07:46,436 - ERROR    - wz_Lampe: Failed to send_command: info
2021-01-08 11:07:46,436 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:08:51,461 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:09:56,479 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:11:01,505 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:12:06,518 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:13:11,531 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:14:16,552 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:15:21,571 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:16:26,592 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:17:31,612 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:17:51,458 - ERROR    - wz_Lampe: Failed to send_command: info
2021-01-08 11:18:36,632 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:19:41,883 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:20:46,902 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:21:51,924 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:22:56,944 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:24:01,958 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:25:06,982 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:26:12,000 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:27:17,018 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:27:56,485 - ERROR    - wz_Lampe: Failed to send_command: info
2021-01-08 11:28:22,038 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:29:27,053 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:30:32,065 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:31:37,084 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:32:42,105 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:33:47,125 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:34:52,141 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:35:57,157 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:37:02,178 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:38:01,505 - ERROR    - wz_Lampe: Failed to send_command: info
2021-01-08 11:38:07,195 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:39:12,216 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:40:17,236 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:41:23,932 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:42:28,945 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:43:33,961 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:44:38,978 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:45:44,000 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:46:49,017 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:46:51,971 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'da_LEDStrip'},'is_on','0');;
2021-01-08 11:46:52,117 - ERROR    - fhempy.lib.fhem: Timeout - NO RESPONSE for command: readingsBulkUpdateIfChanged($defs{'MEDIONRadio_MediaRenderer'},'media_duration','');;
2021-01-08 11:47:54,041 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:48:06,521 - ERROR    - wz_Lampe: Failed to send_command: info
2021-01-08 11:48:59,058 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:50:04,075 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:51:09,092 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:52:14,110 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:53:19,123 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:54:24,141 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:55:29,155 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:56:34,178 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:57:39,195 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:58:11,535 - ERROR    - wz_Lampe: Failed to send_command: info
2021-01-08 11:58:44,214 - ERROR    - wz_Lampe: Failed to send_command: status
2021-01-08 11:59:07,072 - INFO     - fhempy.lib.pkg_installer: Attempting install of fhempy
2021-01-08 11:59:15,462 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<PyBinding.onMessage() done, defined at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:123> exception=SystemExit(1)>
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 125, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 377, in _onMessage
    raise se
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 158, in _onMessage
    sys.exit(1)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
    self._run_once()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1775, in _run_once
    handle._run()
  File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 127, in onMessage
    sys.exit(1)
SystemExit: 1
2021-01-08 11:59:16,532 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-01-08 11:59:16,551 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-01-08 11:59:26,016 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-01-08 11:59:27,195 - ERROR    - da_LEDStrip: Annotation is not class: typing.Tuple[int, int, int]
/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py:73: UserWarning: Please consider using python-yeelight for more complete support.
  self._device = self._miio_device_class(ip=self._miio_ip, token=self._miio_token)
2021-01-08 11:59:27,213 - ERROR    - wz_Lampe: Annotation is not class: typing.Tuple[int, int, int]

Anmerkungen:
- wz_Lampe ist die Yeelight Lampe ohne Strom
- FHEM-Update war heute um 10:15 Uhr

Danke schon mal  :)
Keiner der Punkte ist eilig.

Viele Grüße
Dieter
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 11 Januar 2021, 23:09:42
Hi,

hier die Antworten:
- miio: Du kannst on, off auch ohne Parameter nutzen. Die Erklärung der Parameter sollte jeweils nach Auswahl im set erscheinen. Beispiel on: transition mode
Nun ist klar, dass transation und mode noch nicht viel aussagen, die Implementierung ist aber so generisch, dass jegliche Weiterentwicklungen in miio automatisch auch in FHEM funktionieren. Wenn man genauer wissen will was es ist, kann man noch im Source Code von miio nachschauen, Beispiel: https://github.com/rytilahti/python-miio/blob/master/miio/yeelight.py#L162
- fhempy Update: Das ist normal, bei einem Update wird die Verbindung kurz getrennt, da der Remote Peer neu gestartet wird.

Bitte erstell für die Bluetooth Fragen einen eigenen Thread (fhempy: Bluetooth Fragen), da das hier sonst zu OT wird. Schick mir gerne eine PN mit dem Link auf den Thread, dann antworte ich dir dort.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 11 Januar 2021, 23:48:19
Danke für die Antworten  :)

Meine Bluetooth-Fragen sind nun in einem neuen Thread (https://forum.fhem.de/index.php/topic,117689.0.html)

Bzgl. Yeelight und den settern on und off habe ich festgestellt, dass bei mir gar nichts passiert. Auch wenn ich 0 oder 1 als Transition Mode setze passiert hier nichts. Nur mit toggle kann ich den Yeelight Strip ein und ausschalten. Die Readings sehen gut aus und "is_on" wird beim Toggle korrekt aktualisiert.


Viele Grüße
Dieter
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 20 Januar 2021, 21:54:15
Verstehe ich richtig, dass ein normales "on" ohne weitere Argumente nicht geht? Bekommst du im PythonBinding Log eventuell einen Fehler dazu?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 20 Januar 2021, 23:05:32
Ja, alles richtig verstanden. Leider keinen einzigen Eintrag im Log. Verbose ist auf 5.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 20 Januar 2021, 23:18:54
on 0 0 klappt auch nicht?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 20 Januar 2021, 23:22:01
Aah: on 0 0 funktioniert und off 0 auch
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 20 Januar 2021, 23:28:46
Sehr gut, dann weiß ich schon ungefähr woran es liegt. Parameter die nicht angegeben werden, muss ich beim Aufruf der Funktion weglassen und das Risiko eingehen, dass diese Optional sind. Vielleicht kann ich das so umbauen.

Übrigens, was steht bei dir im Hilfetext unter dem set ... on? Steht da "Arguments: transition mode" oder "Arguments: transition=0 mode=0"?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 20 Januar 2021, 23:35:02
bei on steht "Arguments: transition mode" - das hatte/hätte ich als einen Begriff interpretiert
bei off steht nur "Arguments: transition" - aha, deshalb reicht hier eine Null
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 20 Januar 2021, 23:52:14
Ok, das kann ich vielleicht anpassen, dass dort auch der Default Wert steht.
Ich baue das mal morgen ein, dann sollte es auch ohne Argumente gehen.

on 10 1 oder so müsste eigentlich auch gehen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 21 Januar 2021, 06:35:54
Guten Morgen Dominik,
ja on 10 1 geht z.B. auch
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: RockFan am 24 Januar 2021, 21:38:21
Hallo Dominik,

jetzt bin ich erfolgrauch auf Version 0.1.25 und habe es nochmal mit set für on und off ausprobiert.
Sollte es schon ohne Argumente gehen? Ich muss immer noch die Argumente mit angeben.
Einziger Unterschied:
Nun steht "Arguments: transition=0 mode=0" bei on, "Arguments: transition=0" bei off und auch bei anderen set Kommandos noch etwas mehr brauchbare Info.

Viele Grüße
Dieter
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 24 Januar 2021, 22:03:39
Ok, dann muss ich mir das nochmals anschauen, sollte nämlich gehen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Madstar2409 am 02 März 2021, 13:54:21
Hallo Dominik,

vielen Dank erstmal für deinen Support. Ich habe mir nun die 10 Seiten mal durchgelesen.
Dann habe ich angefangen das Modul in meinen FHEM anzulegen. Es hat meines Erachtens auch alles soweit geklappt.
Dann habe versucht meinen Dreame D9 (Saugroboter aus demXiaomi Ökosystem) und konnte ihn auch einbinden mit dem entsprechenden Token aus "xiaomi_tokens"(Hier empfehlt es sich statt der E-Mail Adresse den Usernamen aus der Xiaomi Home APP zu nehmen statt der E-Mail. Ist eine lange Zahl). das hat auch geklappt aber es kommen nur ein paar readings rein.


defmod miio_vacuum_382944668 PythonModule miio vacuum 192.168.178.189 6*************
attr miio_vacuum_382944668 IODev local_pybinding
attr miio_vacuum_382944668 room Saugroboter

setstate miio_vacuum_382944668 active
setstate miio_vacuum_382944668 2021-03-02 11:14:58 accesspoint_bssid ********
setstate miio_vacuum_382944668 2021-03-02 13:25:46 accesspoint_rssi -57
setstate miio_vacuum_382944668 2021-03-02 11:14:58 accesspoint_ssid *********
setstate miio_vacuum_382944668 2021-03-02 11:14:58 firmware_version 3.5.8_1072
setstate miio_vacuum_382944668 2021-03-02 11:14:58 hardware_version Linux
setstate miio_vacuum_382944668 2021-03-02 11:14:58 mac_address ************
setstate miio_vacuum_382944668 2021-03-02 11:14:58 model dreame.vacuum.p2009
setstate miio_vacuum_382944668 2021-03-02 11:14:58 network_interface_gw 192.168.178.1
setstate miio_vacuum_382944668 2021-03-02 11:14:58 network_interface_localIp 192.168.178.189
setstate miio_vacuum_382944668 2021-03-02 11:14:58 network_interface_mask 255.255.255.0
setstate miio_vacuum_382944668 2021-03-02 11:15:19 presence offline
setstate miio_vacuum_382944668 2021-03-02 13:34:51 state active


mit "journalctl -u fhempy.service -f" bekomme ich nur folgenden output:


Mär 02 13:47:17 raspberrypi fhempy[1262]: 2021-03-02 13:47:17,426 - ERROR    - miio_vacuum_382944668: Failed to send_command: status
Mär 02 13:47:25 raspberrypi fhempy[1262]: 2021-03-02 13:47:25,840 - INFO     - asyncio: poll 59999.213 ms took 8385.619 ms: 1 events
Mär 02 13:47:29 raspberrypi fhempy[1262]: 2021-03-02 13:47:29,475 - INFO     - asyncio: poll 51604.024 ms took 3625.210 ms: 1 events
Mär 02 13:48:17 raspberrypi fhempy[1262]: 2021-03-02 13:48:17,502 - INFO     - asyncio: poll 47936.592 ms took 47985.100 ms: timeout
Mär 02 13:48:37 raspberrypi fhempy[1262]: 2021-03-02 13:48:37,705 - ERROR    - miio.miioprotocol: Got error when receiving: timed out
Mär 02 13:48:37 raspberrypi fhempy[1262]: 2021-03-02 13:48:37,707 - INFO     - asyncio: poll 446199.593 ms took 20194.595 ms: 1 events
Mär 02 13:48:37 raspberrypi fhempy[1262]: 2021-03-02 13:48:37,711 - ERROR    - miio_vacuum_382944668: Failed to send_command: status
Mär 02 13:49:37 raspberrypi fhempy[1262]: 2021-03-02 13:49:37,801 - INFO     - asyncio: poll 59998.946 ms took 60059.185 ms: timeout
Mär 02 13:49:57 raspberrypi fhempy[1262]: 2021-03-02 13:49:57,986 - ERROR    - miio.miioprotocol: Got error when receiving: timed out
Mär 02 13:49:57 raspberrypi fhempy[1262]: 2021-03-02 13:49:57,987 - INFO     - asyncio: poll 365901.344 ms took 20176.564 ms: 1 events
Mär 02 13:49:57 raspberrypi fhempy[1262]: 2021-03-02 13:49:57,989 - ERROR    - miio_vacuum_382944668: Failed to send_command: status
Mär 02 13:50:58 raspberrypi fhempy[1262]: 2021-03-02 13:50:58,084 - INFO     - asyncio: poll 59998.944 ms took 60059.175 ms: timeout
Mär 02 13:51:18 raspberrypi fhempy[1262]: 2021-03-02 13:51:18,280 - ERROR    - miio.miioprotocol: Got error when receiving: timed out
Mär 02 13:51:18 raspberrypi fhempy[1262]: 2021-03-02 13:51:18,282 - INFO     - asyncio: poll 285617.916 ms took 20187.843 ms: 1 events
Mär 02 13:51:18 raspberrypi fhempy[1262]: 2021-03-02 13:51:18,286 - ERROR    - miio_vacuum_382944668: Failed to send_command: status


Kannst du mir weiter helfen?

VG
Madstar2409
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 02 März 2021, 20:37:59
Ich vermute der Saugroboter liefert einen Status zurück der in python-miio noch nicht implementiert ist. Kannst du das Gerät steuern? Was passiert wenn du ein Command an das Gerät schickst? Bzw. auch mal "consumption" oder so ausprobieren, da sollte auch was zurück kommen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Madstar2409 am 02 März 2021, 20:55:19
Kommandos funktionieren nicht. In den Logs sehe ich auch nichts außer die genannten ERROR Meldungen. Ich habe mal ein bisschen im Netz gestöbert. Ich bin dabei auf dieses Skript gestoßen.

https://github.com/microfrost1/xiaomi_vacuum/commit/896a5f5b5bc649abd90dca67a607f0139cdaec9b

Könnte man das Skript adaptieren für dein Modul?

VG
Madstar2409
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 02 März 2021, 21:02:45
Probier mal
defmod miio_vacuum_382944668 PythonModule miio dreamevacuum 192.168.178.189 6*************

also statt vacuum steht dreamevacuum, bitte davor das bestehende Device loeschen

Falls es noch nicht funktioniert, muessen wir leider noch auf das Update der miio Library warten. Der Support wurde erst vor 6 Tagen hinzugefuegt und ein neues Package gibt es noch nicht.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Madstar2409 am 02 März 2021, 22:18:43
Habe ich getestet. Bekomme "Unknown module PhytonModule".
In welchen Intervallen wird die library aktualisiert?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 02 März 2021, 22:42:10
Sorry, ich meinte define statt defmod.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Madstar2409 am 02 März 2021, 23:09:11
Habe ich schon verstanden. Trotzdem gleiche Meldung. In welchen Pfad liegen die Python Skripte eigentlich? Könnte ich es manuell hinzufügen?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 02 März 2021, 23:13:02
Aber Moment, wenn du unknown Module für PythonModule bekommst, dann ist fhempy nicht installiert!? Mit Vacuum geht's?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Madstar2409 am 02 März 2021, 23:26:27
Du hast recht. Ein Eingabefehler von mir. Jetzt konnte ich das Gerät anlegen aber es kommen keine Readings rein.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 04 März 2021, 20:05:03
Ok, dann müssen wir auf ein Update von python-miio (https://github.com/rytilahti/python-miio) warten. Wenn da ein neues Release kommt, kann ich auch fhempy miio aktualisieren.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Madstar2409 am 15 März 2021, 13:43:30
Zitat von: dominik am 04 März 2021, 20:05:03
Ok, dann müssen wir auf ein Update von python-miio (https://github.com/rytilahti/python-miio) warten. Wenn da ein neues Release kommt, kann ich auch fhempy miio aktualisieren.

Python Miio 0.5.5 ist seit 2 Tagen raus. Kannst du bitte fhempy updaten? ;-)


Danke im Voraus
MFG
Mad
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 06 April 2021, 15:57:29
Hallo Dominik,

ich habe mich mal durch die ganzen Seiten durchgelesen und wollte es jetzt mal probieren.
Ich habe alles eingerichtet.
Die Verbingdung steht.

Internals:
   BindingType Python
   CFGFN     
   DEF        Python
   DeviceName ws:127.0.0.1:15733
   FD         61
   FUUID      606c5ed6-f33f-5815-ac3e-d8e0c540298f3a57
   IP         127.0.0.1
   NAME       local_pybinding
   NR         66676
   NTFY_ORDER 50-local_pybinding
   PARTIAL   
   PORT       15733
   STATE      opened
   TYPE       BindingsIo
   WEBSOCKET  1
   localBinding 1
   nextOpenDelay 10
   READINGS:
     2021-04-06 15:47:47   info            ready
     2021-04-06 15:47:47   state           opened
     2021-04-06 15:47:47   version         0.1.57
   args:
     local_pybinding
     BindingsIo
     Python
   argsh:
Attributes:
   room       hidden


Gerät ist eingerichtet:
Internals:
   CFGFN     
   DEF        miio airpurifier 192.168.178.58 xxxxxx
   FUUID      606c5f67-f33f-5815-9ffc-ff7fcdfaf3a3bf77
   IODev      local_pybinding
   NAME       AirPurifier3CTest
   NR         66749
   PYTHONTYPE miio
   STATE      active
   TYPE       PythonModule
   READINGS:
     2021-04-06 15:18:39   accesspoint_bssid xxxxx
     2021-04-06 15:18:39   accesspoint_primary 11
     2021-04-06 15:18:39   accesspoint_rssi -42
     2021-04-06 15:18:39   accesspoint_ssid xxxxx
     2021-04-06 15:33:45   fan_level       1
     2021-04-06 15:18:39   firmware_version 2.0.8
     2021-04-06 15:18:39   hardware_version esp32
     2021-04-06 15:33:45   led_brightness  LedBrightness.Dim
     2021-04-06 15:18:39   mac_address     xxxx
     2021-04-06 15:18:39   model           zhimi.airpurifier.mb4
     2021-04-06 15:18:39   network_interface_gw 192.168.178.1
     2021-04-06 15:18:39   network_interface_localIp 192.168.178.58
     2021-04-06 15:18:39   network_interface_mask 255.255.255.0
     2021-04-06 15:47:48   presence        offline
     2021-04-06 15:45:50   state           active
   args:
     AirPurifier3CTest
     PythonModule
     miio
     airpurifier
     192.168.178.58
     xxxxx
   argsh:
Attributes:
   IODev      local_pybinding


Es wird erkannt und auch einige Readings korrekt ausgelesen.  Wird aber immer als offline angezeigt.
Im log erhalte ich folgendes:
-- Logs begin at Sat 2021-03-13 15:53:44 CET. --
Apr 06 15:44:28 fhemserver systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 105.
Apr 06 15:44:28 fhemserver systemd[1]: Stopped FHEM PythonBinding.
Apr 06 15:44:28 fhemserver systemd[1]: Started FHEM PythonBinding.
Apr 06 15:44:30 fhemserver fhempy[27792]: 2021-04-06 15:44:30,181 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
Apr 06 15:44:30 fhemserver fhempy[27792]: 2021-04-06 15:44:30,217 - INFO     - fhempy.lib.fhem_pythonbinding: Advertise fhempy on local netw                                                         ork
Apr 06 15:44:31 fhemserver fhempy[27792]: 2021-04-06 15:44:31,046 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Apr 06 15:44:40 fhemserver fhempy[27792]: 2021-04-06 15:44:40,880 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.                                                         0.0.1
Apr 06 15:44:40 fhemserver fhempy[27792]: 2021-04-06 15:44:40,916 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0                                                         x75ba0f10>(<Future finis...events.py:396>) created at /usr/lib/python3.7/asyncio/streams.py:408> took 0.300 seconds
Apr 06 15:44:40 fhemserver fhempy[27792]: 2021-04-06 15:44:40,925 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 192.                                                         168.178.45
Apr 06 15:44:41 fhemserver fhempy[27792]: 2021-04-06 15:44:41,134 - INFO     - fhempy.lib.pkg_installer: Attempting install of python-miio>=                                                         0.5.4
Apr 06 15:47:27 fhemserver fhempy[27792]: 2021-04-06 15:47:27,114 - INFO     - fhempy.lib.pkg_installer: Attempting install of fhempy
Apr 06 15:47:36 fhemserver fhempy[27792]: 2021-04-06 15:47:36,734 - ERROR    - asyncio: Task exception was never retrieved
Apr 06 15:47:36 fhemserver fhempy[27792]: future: <Task finished coro=<PyBinding.onMessage() done, defined at /home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py           :126> exception=SystemExit(1) created at /usr/lib/python3.7/asyncio/tasks.py:325>
Apr 06 15:47:36 fhemserver fhempy[27792]: source_traceback: Object created at (most recent call last):
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/bin/fhempy", line 121, in <module>
Apr 06 15:47:36 fhemserver fhempy[27792]:     fpb.run()
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 471, in run
Apr 06 15:47:36 fhemserver fhempy[27792]:     asyncio.get_event_loop().run_forever()
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
Apr 06 15:47:36 fhemserver fhempy[27792]:     self._run_once()
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/base_events.py", line 1767, in _run_once
Apr 06 15:47:36 fhemserver fhempy[27792]:     handle._run()
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
Apr 06 15:47:36 fhemserver fhempy[27792]:     self._context.run(self._callback, *self._args)
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/server.py", line 191, in handler
Apr 06 15:47:36 fhemserver fhempy[27792]:     await self.ws_handler(self, path)
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 67, in pybinding
Apr 06 15:47:36 fhemserver fhempy[27792]:     asyncio.create_task(pb.onMessage(message))
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/tasks.py", line 325, in create_task
Apr 06 15:47:36 fhemserver fhempy[27792]:     return loop.create_task(coro)
Apr 06 15:47:36 fhemserver fhempy[27792]: Traceback (most recent call last):
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 128, in onMessage
Apr 06 15:47:36 fhemserver fhempy[27792]:     await self._onMessage(payload)
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 391, in _onMessage
Apr 06 15:47:36 fhemserver fhempy[27792]:     raise se
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 170, in _onMessage
Apr 06 15:47:36 fhemserver fhempy[27792]:     sys.exit(1)
Apr 06 15:47:36 fhemserver fhempy[27792]: SystemExit: 1
Apr 06 15:47:36 fhemserver fhempy[27792]: During handling of the above exception, another exception occurred:
Apr 06 15:47:36 fhemserver fhempy[27792]: Traceback (most recent call last):
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
Apr 06 15:47:36 fhemserver fhempy[27792]:     self._run_once()
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/base_events.py", line 1767, in _run_once
Apr 06 15:47:36 fhemserver fhempy[27792]:     handle._run()
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
Apr 06 15:47:36 fhemserver fhempy[27792]:     self._context.run(self._callback, *self._args)
Apr 06 15:47:36 fhemserver fhempy[27792]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 130, in onMessage
Apr 06 15:47:36 fhemserver fhempy[27792]:     sys.exit(1)
Apr 06 15:47:36 fhemserver fhempy[27792]: SystemExit: 1
Apr 06 15:47:37 fhemserver systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Apr 06 15:47:37 fhemserver systemd[1]: fhempy.service: Failed with result 'exit-code'.
Apr 06 15:47:37 fhemserver systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Apr 06 15:47:37 fhemserver systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 106.
Apr 06 15:47:37 fhemserver systemd[1]: Stopped FHEM PythonBinding.
Apr 06 15:47:37 fhemserver systemd[1]: Started FHEM PythonBinding.
Apr 06 15:47:38 fhemserver fhempy[29683]: 2021-04-06 15:47:38,464 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
Apr 06 15:47:38 fhemserver fhempy[29683]: 2021-04-06 15:47:38,503 - INFO     - fhempy.lib.fhem_pythonbinding: Advertise fhempy on local network
Apr 06 15:47:39 fhemserver fhempy[29683]: 2021-04-06 15:47:39,346 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Apr 06 15:47:47 fhemserver fhempy[29683]: 2021-04-06 15:47:47,227 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 192.168.178.45
Apr 06 15:47:47 fhemserver fhempy[29683]: 2021-04-06 15:47:47,247 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0x75bd08f0>(<Future finis...events.py:396>) cre           ated at /usr/lib/python3.7/asyncio/streams.py:408> took 0.281 seconds
Apr 06 15:47:47 fhemserver fhempy[29683]: 2021-04-06 15:47:47,260 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
Apr 06 15:47:48 fhemserver fhempy[29683]: 2021-04-06 15:47:48,836 - ERROR    - AirPurifier3CTest: Failed to send_command: status
Apr 06 15:47:51 fhemserver fhempy[29683]: 2021-04-06 15:47:51,623 - ERROR    - AirPurifier3CTest: Failed to send_command: info


Python läuft als Python 3.7.3

Hast du mir einen Tipp?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 07 April 2021, 09:36:48
Hallo Dominik,

ich habe es nochmal weiter getestet. Habe das unisntall über PIP durchgeführt, da ich mir nicht sicher war.

Bekomme jetzt folgende Meldungen
2021-04-07 09:33:42,364 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 468, in run
    pybinding, "0.0.0.0", port, ping_timeout=None, ping_interval=None
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "/usr/lib/python3.7/asyncio/tasks.py", line 603, in _wrap_awaitable
    return (yield from awaitable.__await__())
  File "/opt/fhem/.local/lib/python3.7/site-packages/websockets/server.py", line 965, in __await_impl__
    server = await self._create_server()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1378, in create_server
    % (sa, err.strerror.lower())) from None
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 15733): address already in use


und

Apr 07 09:26:12 fhemserver systemd[1]: Started FHEM PythonBinding.
Apr 07 09:26:13 fhemserver fhempy[29451]: 2021-04-07 09:26:13,984 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
Apr 07 09:26:14 fhemserver fhempy[29451]: 2021-04-07 09:26:14,020 - INFO     - fhempy.lib.fhem_pythonbinding: Advertise fhempy on local network
Apr 07 09:26:14 fhemserver fhempy[29451]: 2021-04-07 09:26:14,850 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Apr 07 09:27:25 fhemserver fhempy[29451]: 2021-04-07 09:27:25,436 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
Apr 07 09:27:25 fhemserver fhempy[29451]: 2021-04-07 09:27:25,465 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0x75b79910>(<Future finis...events.py:396>) created at /usr/lib/python3.7/asyncio/streams.py:408> took 0.289 seconds
Apr 07 09:32:01 fhemserver fhempy[29451]: 2021-04-07 09:32:01,195 - ERROR    - fhempy.lib.fhem_pythonbinding: Connection closed error
Apr 07 09:32:01 fhemserver fhempy[29451]: Traceback (most recent call last):
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 827, in transfer_data
Apr 07 09:32:01 fhemserver fhempy[29451]:     message = await self.read_message()
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 895, in read_message
Apr 07 09:32:01 fhemserver fhempy[29451]:     frame = await self.read_data_frame(max_size=self.max_size)
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 971, in read_data_frame
Apr 07 09:32:01 fhemserver fhempy[29451]:     frame = await self.read_frame(max_size)
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 1051, in read_frame
Apr 07 09:32:01 fhemserver fhempy[29451]:     extensions=self.extensions,
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/framing.py", line 105, in read
Apr 07 09:32:01 fhemserver fhempy[29451]:     data = await reader(2)
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/usr/lib/python3.7/asyncio/streams.py", line 677, in readexactly
Apr 07 09:32:01 fhemserver fhempy[29451]:     raise IncompleteReadError(incomplete, n)
Apr 07 09:32:01 fhemserver fhempy[29451]: asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes
Apr 07 09:32:01 fhemserver fhempy[29451]: The above exception was the direct cause of the following exception:
Apr 07 09:32:01 fhemserver fhempy[29451]: Traceback (most recent call last):
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 66, in pybinding
Apr 07 09:32:01 fhemserver fhempy[29451]:     async for message in websocket:
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 439, in __aiter__
Apr 07 09:32:01 fhemserver fhempy[29451]:     yield await self.recv()
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 509, in recv
Apr 07 09:32:01 fhemserver fhempy[29451]:     await self.ensure_open()
Apr 07 09:32:01 fhemserver fhempy[29451]:   File "/home/pi/.local/lib/python3.7/site-packages/websockets/protocol.py", line 803, in ensure_open
Apr 07 09:32:01 fhemserver fhempy[29451]:     raise self.connection_closed_exc()
Apr 07 09:32:01 fhemserver fhempy[29451]: websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
Apr 07 09:32:01 fhemserver fhempy[29451]: 2021-04-07 09:32:01,199 - INFO     - fhempy.lib.fhem_pythonbinding: Restart binding
Apr 07 09:32:01 fhemserver systemd[1]: fhempy.service: Main process exited, code=exited, status=1/FAILURE
Apr 07 09:32:01 fhemserver systemd[1]: fhempy.service: Failed with result 'exit-code'.
Apr 07 09:32:01 fhemserver systemd[1]: fhempy.service: Service RestartSec=100ms expired, scheduling restart.
Apr 07 09:32:01 fhemserver systemd[1]: fhempy.service: Scheduled restart job, restart counter is at 110.
Apr 07 09:32:01 fhemserver systemd[1]: Stopped FHEM PythonBinding.
Apr 07 09:32:01 fhemserver systemd[1]: Started FHEM PythonBinding.
Apr 07 09:32:02 fhemserver fhempy[464]: 2021-04-07 09:32:02,884 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
Apr 07 09:32:02 fhemserver fhempy[464]: 2021-04-07 09:32:02,918 - INFO     - fhempy.lib.fhem_pythonbinding: Advertise fhempy on local network
Apr 07 09:32:03 fhemserver fhempy[464]: 2021-04-07 09:32:03,743 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
Apr 07 09:33:42 fhemserver fhempy[464]: 2021-04-07 09:33:42,884 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
Apr 07 09:33:42 fhemserver fhempy[464]: 2021-04-07 09:33:42,904 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0x75b8da70>(<Future finis...events.py:396>) created at /usr/lib/python3.7/asyncio/streams.py:408> took 0.281 seconds


Bräuchte Hilfe!
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 07 April 2021, 20:16:56
Hallo Dominik,

habe es jetzt hinbekommen.
Leider erhalte ich keine Daten bzw es funktioniert kein Befehl.
HIer das Log:
2021-04-07 20:14:23 PythonModule AirPurifier3CTest on
2021.04.07 20:14:26 3 : MQTT2_DEVICE set MQTT2_DVES_01DE2C on
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 22523105, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBeginUpdate($defs{'AirPurifier3CTest'});;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 22523105, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBeginUpdate($defs{'AirPurifier3CTest'});;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"error":0,"awaitId":22523105,"result":"2021-04-07 20:14:26"}
2021.04.07 20:14:26 5 : SW: 7b226572726f72223a302c2261776169744964223a32323532333130352c22726573756c74223a22323032312d30342d30372032303a31343a3236227d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 41328151, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'average_aqi','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 41328151, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'average_aqi','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"result":null,"awaitId":41328151,"error":0}
2021.04.07 20:14:26 5 : SW: 7b22726573756c74223a6e756c6c2c2261776169744964223a34313332383135312c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 92597957, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'humidity','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 92597957, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'humidity','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"awaitId":92597957,"result":null,"error":0}
2021.04.07 20:14:26 5 : SW: 7b2261776169744964223a39323539373935372c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 67114349, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'temperature','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 67114349, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'temperature','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"error":0,"awaitId":67114349,"result":null}
2021.04.07 20:14:26 5 : SW: 7b226572726f72223a302c2261776169744964223a36373131343334392c22726573756c74223a6e756c6c7d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 17606306, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'fan_level','1');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 17606306, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'fan_level','1');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"error":0,"awaitId":17606306,"result":null}
2021.04.07 20:14:26 5 : SW: 7b226572726f72223a302c2261776169744964223a31373630363330362c22726573756c74223a6e756c6c7d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 47682985, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 47682985, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"awaitId":47682985,"result":null,"error":0}
2021.04.07 20:14:26 5 : SW: 7b2261776169744964223a34373638323938352c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 22625057, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led_brightness','LedBrightness.Dim');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 22625057, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led_brightness','LedBrightness.Dim');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"result":null,"awaitId":22625057,"error":0}
2021.04.07 20:14:26 5 : SW: 7b22726573756c74223a6e756c6c2c2261776169744964223a32323632353035372c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 99876465, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'buzzer_volume','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 99876465, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'buzzer_volume','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"error":0,"awaitId":99876465,"result":null}
2021.04.07 20:14:26 5 : SW: 7b226572726f72223a302c2261776169744964223a39393837363436352c22726573756c74223a6e756c6c7d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 58849204, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'favorite_level','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 58849204, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'favorite_level','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"awaitId":58849204,"result":null,"error":0}
2021.04.07 20:14:26 5 : SW: 7b2261776169744964223a35383834393230342c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 68364599, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'use_time','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 68364599, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'use_time','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"result":null,"awaitId":68364599,"error":0}
2021.04.07 20:14:26 5 : SW: 7b22726573756c74223a6e756c6c2c2261776169744964223a36383336343539392c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 85321391, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'purify_volume','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 85321391, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'purify_volume','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"result":null,"awaitId":85321391,"error":0}
2021.04.07 20:14:26 5 : SW: 7b22726573756c74223a6e756c6c2c2261776169744964223a38353332313339312c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 73922346, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_product_id','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 73922346, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_product_id','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"result":null,"awaitId":73922346,"error":0}
2021.04.07 20:14:26 5 : SW: 7b22726573756c74223a6e756c6c2c2261776169744964223a37333932323334362c226572726f72223a307d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:26 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:26 4 : BindingsIo: >>> WS: {"awaitId": 86108279, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_tag','');;"}
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:26 5 : processMessage: {"awaitId": 86108279, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_tag','');;"}
2021.04.07 20:14:26 4 : BindingsIo: <<< WS: {"error":0,"result":null,"awaitId":86108279}
2021.04.07 20:14:26 5 : SW: 7b226572726f72223a302c22726573756c74223a6e756c6c2c2261776169744964223a38363130383237397d
2021.04.07 20:14:26 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:27 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:27 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:27 4 : BindingsIo: >>> WS: {"awaitId": 58718439, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_type','');;"}
2021.04.07 20:14:27 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:27 5 : processMessage: {"awaitId": 58718439, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_type','');;"}
2021.04.07 20:14:27 4 : BindingsIo: <<< WS: {"awaitId":58718439,"result":null,"error":0}
2021.04.07 20:14:27 5 : SW: 7b2261776169744964223a35383731383433392c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:27 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:27 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:27 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:27 4 : BindingsIo: >>> WS: {"awaitId": 77110550, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsEndUpdate($defs{'AirPurifier3CTest'},1);;"}
2021.04.07 20:14:27 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:27 5 : processMessage: {"awaitId": 77110550, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsEndUpdate($defs{'AirPurifier3CTest'},1);;"}
2021.04.07 20:14:27 4 : BindingsIo: <<< WS: {"error":0,"awaitId":77110550,"result":null}
2021.04.07 20:14:27 5 : SW: 7b226572726f72223a302c2261776169744964223a37373131303535302c22726573756c74223a6e756c6c7d
2021.04.07 20:14:27 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 11822667, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBeginUpdate($defs{'AirPurifier3CTest'});;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 11822667, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBeginUpdate($defs{'AirPurifier3CTest'});;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"awaitId":11822667,"result":"2021-04-07 20:14:30"}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c2261776169744964223a31313832323636372c22726573756c74223a22323032312d30342d30372032303a31343a3330227d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 66388217, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'average_aqi','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 66388217, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'average_aqi','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"result":null,"awaitId":66388217}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c22726573756c74223a6e756c6c2c2261776169744964223a36363338383231377d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 82135233, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'humidity','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 82135233, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'humidity','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"awaitId":82135233,"result":null}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c2261776169744964223a38323133353233332c22726573756c74223a6e756c6c7d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 27564392, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'temperature','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 27564392, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'temperature','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"awaitId":27564392,"result":null}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c2261776169744964223a32373536343339322c22726573756c74223a6e756c6c7d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 88665215, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'fan_level','1');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 88665215, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'fan_level','1');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"awaitId":88665215,"result":null}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c2261776169744964223a38383636353231352c22726573756c74223a6e756c6c7d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 74564090, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 74564090, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"result":null,"awaitId":74564090,"error":0}
2021.04.07 20:14:30 5 : SW: 7b22726573756c74223a6e756c6c2c2261776169744964223a37343536343039302c226572726f72223a307d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 44498405, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led_brightness','LedBrightness.Dim');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 44498405, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'led_brightness','LedBrightness.Dim');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"result":null,"awaitId":44498405}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c22726573756c74223a6e756c6c2c2261776169744964223a34343439383430357d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 23824724, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'buzzer_volume','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 23824724, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'buzzer_volume','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"awaitId":23824724,"result":null,"error":0}
2021.04.07 20:14:30 5 : SW: 7b2261776169744964223a32333832343732342c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 15039709, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'favorite_level','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 15039709, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'favorite_level','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"result":null,"awaitId":15039709}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c22726573756c74223a6e756c6c2c2261776169744964223a31353033393730397d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 95212624, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'use_time','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 95212624, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'use_time','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"awaitId":95212624,"result":null}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c2261776169744964223a39353231323632342c22726573756c74223a6e756c6c7d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 61051049, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'purify_volume','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 61051049, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'purify_volume','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"awaitId":61051049,"result":null,"error":0}
2021.04.07 20:14:30 5 : SW: 7b2261776169744964223a36313035313034392c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 36568786, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_product_id','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 36568786, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_product_id','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"awaitId":36568786,"result":null,"error":0}
2021.04.07 20:14:30 5 : SW: 7b2261776169744964223a33363536383738362c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 70908668, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_tag','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 70908668, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_rfid_tag','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"awaitId":70908668,"result":null,"error":0}
2021.04.07 20:14:30 5 : SW: 7b2261776169744964223a37303930383636382c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 91438504, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_type','');;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 91438504, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'filter_type','');;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"awaitId":91438504,"result":null}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c2261776169744964223a39313433383530342c22726573756c74223a6e756c6c7d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 43828185, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsEndUpdate($defs{'AirPurifier3CTest'},1);;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 43828185, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsEndUpdate($defs{'AirPurifier3CTest'},1);;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"error":0,"result":null,"awaitId":43828185}
2021.04.07 20:14:30 5 : SW: 7b226572726f72223a302c22726573756c74223a6e756c6c2c2261776169744964223a34333832383138357d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead
2021.04.07 20:14:30 5 : BindingsIo: DevIo_SimpleRead NoTimeout
2021.04.07 20:14:30 4 : BindingsIo: >>> WS: {"awaitId": 91558634, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBeginUpdate($defs{'AirPurifier3CTest'});;readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'presence','online');;readingsEndUpdate($defs{'AirPurifier3CTest'},1);;"}
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: start handling - 1
2021.04.07 20:14:30 5 : processMessage: {"awaitId": 91558634, "NAME": "AirPurifier3CTest", "msgtype": "command", "command": "readingsBeginUpdate($defs{'AirPurifier3CTest'});;readingsBulkUpdateIfChanged($defs{'AirPurifier3CTest'},'presence','online');;readingsEndUpdate($defs{'AirPurifier3CTest'},1);;"}
2021.04.07 20:14:30 4 : BindingsIo: <<< WS: {"awaitId":91558634,"result":null,"error":0}
2021.04.07 20:14:30 5 : SW: 7b2261776169744964223a39313535383633342c22726573756c74223a6e756c6c2c226572726f72223a307d
2021.04.07 20:14:30 5 : BindingsIo: QUEUE: finished handling - 0


Hier das Device
Internals:
   CFGFN     
   DEF        miio airpurifiermiot 192.168.178.58 XXXXXXXXXXXXXXXXXXXXXXX
   FUUID      606db757-f33f-5815-0acd-662306217abdfa2a
   IODev      local_pybinding
   NAME       AirPurifier3CTest
   NR         9745
   PYTHONTYPE miio
   STATE      active
   TYPE       PythonModule
   READINGS:
     2021-04-07 15:44:58   accesspoint_bssid XXXXXXXXXXXXXXXXXXXXXXX
     2021-04-07 15:44:58   accesspoint_primary 11
     2021-04-07 15:44:58   accesspoint_rssi -52
     2021-04-07 15:44:58   accesspoint_ssid XXXXXXXXXXXXXXXXXXXXXXX
     2021-04-07 15:44:58   fan_level       1
     2021-04-07 15:44:58   firmware_version 2.0.8
     2021-04-07 15:44:58   hardware_version esp32
     2021-04-07 15:44:58   led_brightness  LedBrightness.Dim
     2021-04-07 15:44:58   mac_address    XXXXXXXXXXXXXXXXXXXXXXX
     2021-04-07 15:44:58   model           zhimi.airpurifier.mb4
     2021-04-07 15:44:58   network_interface_gw 192.168.178.1
     2021-04-07 15:44:58   network_interface_localIp 192.168.178.58
     2021-04-07 15:44:58   network_interface_mask 255.255.255.0
     2021-04-07 15:44:58   presence        online
     2021-04-07 15:44:57   state           active
   args:
     AirPurifier3CTest
     PythonModule
     miio
     airpurifiermiot
     192.168.178.58
     XXXXXXXXXXXXXXXXXXXXXXX
   argsh:
Attributes:
   IODev      local_pybinding
   room       !


Habe ich noch einen Fehler?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 18 April 2021, 19:20:45
Hi,
sorry für die späte Rückmeldung. Bin seit ein paar Wochen nahezu Tag und Nacht beschäftigt und habe daher im Moment wenig Zeit für FHEM.

Die Readings wurden aber bereits einmal aktualisiert, oder? Ich werde heute noch die miio Library auf 0.5.5.2 aktualisieren, vielleicht gab es dort einen Fehler. Bitte dann morgen um nochmaligen Test.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 23 April 2021, 15:29:29
Hi,
hatte leider auch nicht wirklich Zeit. Habe das Update gemacht. Hat leider nicht funktioniert.

Im Log erhalte ich folgende Meldung:
2021-04-23 15:25:44,974 - INFO     - fhempy.lib.pkg_installer: Attempting install of fhempy
2021-04-23 15:25:53,787 - ERROR    - asyncio: Task exception was never retrieved
future: <Task finished coro=<PyBinding.onMessage() done, defined at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:126> exception=SystemExit(1) created at /usr/lib/python3.7/asyncio/tasks.py:325>
source_traceback: Object created at (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 121, in <module>
    fpb.run()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 471, in run
    asyncio.get_event_loop().run_forever()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
    self._run_once()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1767, in _run_once
    handle._run()
  File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/.local/lib/python3.7/site-packages/websockets/server.py", line 191, in handler
    await self.ws_handler(self, path)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 67, in pybinding
    asyncio.create_task(pb.onMessage(message))
  File "/usr/lib/python3.7/asyncio/tasks.py", line 325, in create_task
    return loop.create_task(coro)
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 128, in onMessage
    await self._onMessage(payload)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 391, in _onMessage
    raise se
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 170, in _onMessage
    sys.exit(1)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
    self._run_once()
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1767, in _run_once
    handle._run()
  File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 130, in onMessage
    sys.exit(1)
SystemExit: 1
2021-04-23 15:25:55,501 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-04-23 15:25:55,548 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-04-23 15:26:04,188 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-04-23 15:26:05,752 - WARNING  - asyncio: Executing <Handle <TaskWakeupMethWrapper object at 0x72688d70>(<Future finis...events.py:396>) created at /usr/lib/python3.7/asyncio/tasks.py:368> took 0.450 seconds

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: JensS am 03 August 2021, 18:47:37
@dominik
Seit einigen Tagen nenne ich einen Saug-Wischroboter Viomi S9 mein eigen.defmod Viomi PythonModule miio viomivacuum 192.168.100.148 <token>
attr Viomi IODev local_pybinding
attr Viomi room Labor

setstate Viomi active
setstate Viomi 2021-08-03 18:34:51 IODev Pythonbinding_15733
setstate Viomi 2021-08-03 18:11:47 accesspoint_bssid 18:a6:f7:9e:11:cd
setstate Viomi 2021-08-03 18:11:47 accesspoint_rssi -54
setstate Viomi 2021-08-03 18:11:47 accesspoint_ssid <wlan-ssid>
setstate Viomi 2021-08-03 18:11:47 firmware_version 1.6.2_2251
setstate Viomi 2021-08-03 18:11:47 mac_address 64:90:c1:6f:a5:34
setstate Viomi 2021-08-03 18:11:47 model viomi.vacuum.v18
setstate Viomi 2021-08-03 18:11:47 network_interface_gw 192.168.100.2
setstate Viomi 2021-08-03 18:11:47 network_interface_localIp 192.168.100.148
setstate Viomi 2021-08-03 18:11:47 network_interface_mask 255.255.255.0
setstate Viomi 2021-08-03 18:11:51 presence offline
setstate Viomi 2021-08-03 18:29:23 state active


Offensichtlich sind nur noch Anweisungen über die Cloud erlaubt. Ein paar Daten sind ihm trotzdem herauszulocken:'piid': 2, 'siid': 2, 'value': 0
'piid': 4, 'siid': 2, 'value': 0
'piid': 11, 'siid': 2, 'value': 1
'piid': 12, 'siid': 2, 'value': 3
'piid': 13, 'siid': 2, 'value': 0
'piid': 15, 'siid': 2, 'value': 11
'piid': 16, 'siid': 2, 'value': 8
'piid': 17, 'siid': 2, 'value': 0
'piid': 19, 'siid': 2, 'value': 1
'piid': 1, 'siid': 3, 'value': 100
'piid': 1, 'siid': 4, 'value': 0
'piid': 3, 'siid': 4, 'value': 1
'piid': 6, 'siid': 4, 'value': 1
'piid': 8, 'siid': 4, 'value': 98
'piid': 9, 'siid': 4, 'value': 177
'piid': 10, 'siid': 4, 'value': 99
'piid': 11, 'siid': 4, 'value': 357
'piid': 12, 'siid': 4, 'value': 98
'piid': 13, 'siid': 4, 'value': 177
'piid': 14, 'siid': 4, 'value': 100
'piid': 15, 'siid': 4, 'value': 180
'piid': 17, 'siid': 4, 'value': 1
'piid': 18, 'siid': 4, 'value': 2
'piid': 23, 'siid': 4, 'value': 0
'piid': 24, 'siid': 4, 'value': -7200
'piid': 25, 'siid': 4, 'value': 0
'piid': 26, 'siid': 4, 'value': 690
'piid': 27, 'siid': 4, 'value': 8
'piid': 28, 'siid': 4, 'value': '00000'
'piid': 29, 'siid': 4, 'value': 0
'piid': 30, 'siid': 4, 'value': 1
'piid': 31, 'siid': 4, 'value': 'de'
'piid': 32, 'siid': 4, 'value': 1627727920
'piid': 33, 'siid': 4, 'value': 'curMapUrl'
'piid': 34, 'siid': 4, 'value': 1627733086
'piid': 39, 'siid': 4, 'value': 1
'piid': 40, 'siid': 4, 'value': 0
'piid': 41, 'siid': 4, 'value': 1
'piid': 42, 'siid': 4, 'value': 'error'
'piid': 15, 'siid': 5, 'value': 0
'piid': 16, 'siid': 5, 'value': 22
'piid': 17, 'siid': 5, 'value': 0
'piid': 18, 'siid': 5, 'value': 6
'piid': 19, 'siid': 5, 'value': 0
'piid': 20, 'siid': 5, 'value': 0
'piid': 21, 'siid': 5, 'value': 0
'piid': 22, 'siid': 5, 'value': ''
'piid': 1, 'siid': 6, 'value': '0,0'
'piid': 1, 'siid': 7, 'value': 1
'piid': 2, 'siid': 7, 'value': 1627727920
'piid': 4, 'siid': 7, 'value': 'error'
'piid': 10, 'siid': 7, 'value': '0123'
'piid': 11, 'siid': 7, 'value': '[["2021/08/01/6480218025/329433889_225730220.bkmap","2021/08/01/6480218025/329433889_225729918.record",1627727920,"Karte1",1]]'
'piid': 13, 'siid': 7, 'value': '0123'
'piid': 14, 'siid': 7, 'value': 0
'piid': 15, 'siid': 7, 'value': '0123'
'piid': 16, 'siid': 7, 'value': 0
'piid': 3, 'siid': 8, 'value': 'error'
'piid': 4, 'siid': 8, 'value': 'girl_de'
'piid': 5, 'siid': 8, 'value': 0
'piid': 6, 'siid': 8, 'value': 100

Alle actions/Methoden werden mit timeouts beantwortet.
Versucht habe ich miio, miiocli und mirobo.

Gruß Jens
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: christian.71 am 17 August 2021, 19:00:22
Erstmal vielen Dank für das tolle Modul. Ich habe es soweit nun zum laufen gebracht. Meine beiden Xiaomi Kameras sind integriert. Nun wollte ich gerne die Hausüberwachung bei den Kameras aktivieren bzw. deaktivieren, allerdings finde ich den passenden Befehl dafür nicht. Kann mir jemand auf die Sprünge helfen?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: andre07 am 08 Dezember 2021, 12:20:06
Hallo

Ich bekomme leider meine token aus der Xiaomi Cloud nicht extrahiert
das steht im logroot: Error logging on to Xiaomi cloud (0): Cannot logon to Xiaomi cloud: 'userId'
Userid und passwort wurden richtig gesetzt mehrmals device gelöscht und neu angelegt.
Deshalb habe ich erstmal per windows app den token extrahiert
und das Device angelegt funktioniert so weit bin mir aber nicht sicher ob das so paßt
defmod licht_schreibtisch fhempy miio plug 192.168.178.34 xxxxxxxxxxxxxxxxxxxxxxxxxxx
Andre

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 06 Februar 2022, 21:23:31
Die Login Methode hatte sich geändert. Ich hatte dazu einen Fix eingespielt.

Falls du noch Probleme hast, bitte melden.

Wegen der Kamera: Prüfe bitte ob du die Kamera mit miio cli steuern kannst? Wenn du dort die passenden Befehle findest, dann bitte um Rückmeldung. Mein Code ist sehr generisch und somit wird alles unterstützt was python-miio (https://github.com/rytilahti/python-miio) kann.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: BigThunder am 04 April 2022, 13:22:57
Hallo zusammen,

vielleicht kann mir jemand von euch weiterhelfen.
Ich hab einen Roborock Staubi (V5) und wollte diesen nun mittels dem miio Modul in FHEM einhängen.
Den Token habe ich mir über das fhempy xiaomi_tokens geholt. Das hat geklappt.
Allerdings wenn ich nun den Staubi mit dem define:

define miio_vacuum_1 fhempy miio vacuum 192.168.1.51 67xxxxxxxx
setuuid miio_vacuum_1 624ac43c-f33f-6abf-a4c1-923009ba96702590
attr miio_vacuum_1 IODev fhempy_local
attr miio_vacuum_1 room fhempy


einfüge in meine Config, dann bekomme ich nach einem shutdown restart folgende Fehlermeldung im Status des Moduls angezeigt:

Failed to execute function Define: Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 379, in _onMessage
    ret = await asyncio.wait_for(
  File "/usr/lib/python3.9/asyncio/tasks.py", line 481, in wait_for
    return fut.result()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/miio/miio.py", line 46, in Define
    if device_class.get_device_group().name == self._miio_devtype:
  File "/opt/fhem/.local/lib/python3.9/site-packages/miio/integrations/vacuum/roborock/vacuum.py", line 931, in get_device_group
    @dg.resultcallback()
AttributeError: 'DeviceGroup' object has no attribute 'resultcallback'


Beim define hab ich schon mehrere Varianten (verschiedene Types) ausprobiert. Bis auf eine Variante bekomme ich immer die gleiche Meldung.
Beim define:
define miio_vacuum_1 fhempy miio g1vacuum 192.168.1.51 67xxxxxxxx
gibt es keine Fehler. Allerdings lässt sich auch sonst nichts machen (keine Sets und keine Readings außer State)

Was mache ich denn da falsch?

Danke im Voraus!
BigThunder
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 10 April 2022, 16:21:43
Das ist leider ein Fehler in der Library.

Probier folgendes...
/opt/fhem/.local/lib/python3.9/site-packages/miio/integrations/vacuum/roborock/vacuum.py
@dg.resultcallback ändern in @dg.result_callback

Danach fhempy restart. Danach sollte es klappen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 25 April 2022, 21:59:49
Hallo Dominik,

erstmal vielen Dank für das super Modul.
Nun mein Problem:

Ich habe eine Lampe als yeelight definiert. Ich kann sie ein und ausschalten, Helligkeit geht auch.
Wenn ich RGB setzen möchte erhalte ich immer die Meldung
Usage: set bedlamp set_rgb rgb

In welcher Form musss ich die RGB Werte eingeben?
Wenn ich miiocli direkt nutze funktioniert es mit
set_rgb 128 128 128

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 25 April 2022, 23:37:02
Hi,

ich habe mir es gerade angeschaut. Das wird noch nicht gehen, da der Datentyp Tuple verlangt wird, den ich aktuell noch nicht konvertiere.

Teste bitte die neue Version, ist in paar Minuten online, dort habe ich es testweise implementiert.

set bedlamp set_rgb (128,128,128)

sollte dann gehen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 26 April 2022, 21:10:19
Zitat von: dominik am 25 April 2022, 23:37:02

Teste bitte die neue Version, ist in paar Minuten online, dort habe ich es testweise implementiert.

set bedlamp set_rgb (128,128,128)

sollte dann gehen.

HI,

habe ich getestet. Die Meldung kommt nicht mehr, aber leider wird die Farbe auch nicht geändert.
Falls du nochmals Zeit hättest und schauen könntest wäre es super.

Gruß

guenni
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 07 Mai 2022, 20:58:09
Hi Dominik,

hattest du evtl nochmal Zeit zu schauen an was es liegen könnte?

Wäre super wenn RGB ginge.

Gruß

guenni


Zitat von: Guenni1404 am 26 April 2022, 21:10:19
HI,

habe ich getestet. Die Meldung kommt nicht mehr, aber leider wird die Farbe auch nicht geändert.
Falls du nochmals Zeit hättest und schauen könntest wäre es super.

Gruß

guenni
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 07 Mai 2022, 23:35:24
Danke für den Reminder!

Bitte ein Update auf 0.1.320 machen und folgendermaßen ausprobieren:
set bedlamp set_rgb 128,128,128
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 08 Mai 2022, 20:25:46
Hi Dominik,

nach dem Update bekomme ich keine Verbindung mehr.
Im Log steht:
Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 100, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 16, in <module>
    from .core.zeroconf import zeroconf
ModuleNotFoundError: No module named 'fhempy.lib.core'
2022-05-08 20:19:38,369 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2022-05-08 20:19:50,876 - INFO     - __main__: Successfully installed fhempy>=0.1.12
2022-05-08 20:19:50,880 - ERROR    - __main__: Failed to import fhempy, exit now...


Nachdem ich es gelöscht und nochmal neu gestartet habe kam diese Fehlermeldung:

Traceback (most recent call last):
  File "FHEM/bindings/python/bin/fhempy", line 100, in <module>
    import fhempy.lib.fhem_pythonbinding as fpb
ModuleNotFoundError: No module named 'fhempy'
2022-05-08 20:38:23,653 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2022-05-08 20:38:38,565 - INFO     - __main__: Successfully installed fhempy>=0.1.12
2022-05-08 20:38:38,568 - ERROR    - __main__: Failed to import fhempy, exit now...
2022-05-08 20:39:38,921 - ERROR    - __main__: Failed to load fhempy

Hast du eine Idee?
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Mai 2022, 21:13:21
Hmm...mach mal
sudo -u fhem bash
pip3 install --upgrade fhempy
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 08 Mai 2022, 21:37:56
Hi Dominik,

hat funktioniert. fhempy läuft wieder.


RGB funktioniert leider nicht.
Im Log steht folgendes wenn ich set_rgb 128,128,128 ausführe:
TypeError: Type Tuple cannot be instantiated; use tuple() instead
2022-05-08 21:36:33,434 - ERROR    - bedlamp_Jenny: Exception raised by task: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py:137> exception=TypeError('Type Tuple cannot be instantiated; use tuple() instead') created at /usr/lib/python3.7/asyncio/tasks.py:325>
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 183, in _handle_task_result
    task.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 161, in send_command
    args.append(ann(params[par_name]))
  File "/usr/lib/python3.7/typing.py", line 668, in __call__
    raise TypeError(f"Type {self._name} cannot be instantiated; "
TypeError: Type Tuple cannot be instantiated; use tuple() instead

Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 08 Mai 2022, 23:02:51
Bitte noch ein Test mit 0.1.329
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 09 Mai 2022, 19:52:04
Hallo Dominik,

Zitat von: dominik am 08 Mai 2022, 23:02:51
Bitte noch ein Test mit 0.1.329

RGB funktioniert. Dafür geht jetzt die Helligkeit (set_brightness) nicht mehr, die vorher funktioniert hat.
Fehler im Log:
2022-05-09 19:47:57,648 - ERROR    - bedlamp_Jenny: Exception raised by task: <Task finished coro=<miio.send_command() done, defined at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py:137> exception=AttributeError("type object '_empty' has no attribute '_name'") created at /usr/lib/python3.7/asyncio/tasks.py:325>
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 183, in _handle_task_result
    task.result()
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 153, in send_command
    elif ann._name == "Tuple":
AttributeError: type object '_empty' has no attribute '_name'


Wäre super wenn du es korrigieren könntest, so das beides funktioniert.

Trotzdem danke für die ganze Arbeit.

Gruß

guenni
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Mai 2022, 20:16:12
Das bekommen wir hin ;)

Update folgt noch heute Abend.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 09 Mai 2022, 20:21:07
Super!!!

Besten Dank
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 09 Mai 2022, 22:07:40
Bitte mit Version 0.1.330 testen.
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 09 Mai 2022, 22:16:44
Jetzt funktioniert alles. Besten Dank !
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 13 Mai 2022, 17:28:04
Hallo Dominik,

mir sind noch zwei Sachen aufgefallen. Im Log bekomme ich immer folgende Meldung

2022-05-13 00:25:39,509 - ERROR    - bedlamp_1: Failed to send_command: info
2022-05-13 00:25:39,712 - ERROR    - bedlamp_2: Failed to send_command: info
2022-05-13 00:25:39,803 - ERROR    - bedlamp_3: Failed to send_command: info
2022-05-13 00:25:44,209 - ERROR    - airpuritest: Failed to send_command: info


Das wiederholt sich alle 10 Minuten.

Das zweite ist, wenn ein Gerät über WLAN nicht erreichbar ist, kommt folgende Logeintrag:


2022-05-13 00:35:14,273 - ERROR    - ricecooker: Failed to call status
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 164, in send_command
    reply = await utils.run_blocking(functools.partial(call_fct, *args))
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 34, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/click_common.py", line 183, in _wrap
    self._fetch_info()
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/device.py", line 153, in _fetch_info
    devinfo = DeviceInfo(self.send("miIO.info"))
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/device.py", line 108, in send
    command, parameters, retry_count, extra_parameters=extra_parameters
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 161, in send
    self.send_handshake()
  File "/opt/fhem/.local/lib/python3.7/site-packages/miio/miioprotocol.py", line 74, in send_handshake
    raise DeviceException("Unable to discover the device %s" % self.ip)
miio.exceptions.DeviceException: Unable to discover the device 192.168.178.60


Ist es möglich diesen Logeintrag zu unterbinden? Dadurch "müllt" das Logfile zu.

Gruß

guenni
Titel: Antw:fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: dominik am 14 Mai 2022, 21:51:03
Hi,

die info Commands kannst du unterdrücken in dem du das Attribut
update_functions = status:60
setzt. Dann macht es keine info Abfragen mehr.

Das Fehlerlog werde ich auch beheben. Ich mache nun für "status" Abfragen keinen Fehler mehr, sondern setze das Device dann auf offline. Update ist morgen online.
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 12 Juni 2023, 17:33:59
Hallo dominik,

ich möchte gerade mein System umziehen. Bisher hatte ich meinen Reiskocher eingebunden indem ich im miio Verzeichnis die Anpassung manuell eingepflegt habe.
https://github.com/sschirr/python-miioDas hatte auch wunderbar funktioniert und ich konnte es anlegen und wurde erkannt
defmod ricecooker fhempy miio multicooker ip token
Bei meinem Umzug habe ich die neuste Version von fhempy installiert. Das miio Verzeichnis angepasst und dann über xiaomi_tokens angelegt.

List:
Internals:
   CFGFN     
   DEF        miio device 192.168.178.xxx XXX
   FHEMPYTYPE miio
   FUUID      648739bf-f33f-952a-51d6-bf1cc32ea47b2307
   IODev      fhempy_local
   NAME       miio_device_333526512
   NR         11243
   PYTHONTYPE miio
   STATE      active
   TYPE       fhempy
   eventCount 2
   READINGS:
     2023-06-12 17:29:05   presence        offline
     2023-06-12 17:29:04   state           active
   args:
     miio_device_333526512
     fhempy
     miio
     device
     192.168.178.xx
     xxx
   argsh:
Attributes:
   group      miio
   room       fhempy

Dabei wird es als device angelegt. Wenn ich Info absetze kommt folgendes im Log:
2023-06-12 17:31:15,224 - ERROR    - miio_device_333526512: Exception raised by task: <Task finished name='Task-3273' coro=<FhemModule._run_coro() done, defined at /opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/generic.py:216> exception=KeyError('status')>
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/generic.py", line 224, in _handle_task_result
    task.result()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/generic.py", line 218, in _run_coro
    await coro
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/miio/miio.py", line 208, in send_command
    await self.send_command("status", None)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/miio/miio.py", line 139, in send_command
    fct = self._device._device_group_commands[fct_name].func
KeyError: 'status'


Wenn ich es in multicooker umbenenne passiert leider nichts.

Was muss ich machen, damit es wieder funktioniert? Oder was muss ich vom alten System ins neue übernehmen, damit er die richtigen Daten hat?

Gruß

guenni
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 12 Juni 2023, 20:36:42
Hi Dominik,

ich habe jetzt festgestell, wenn ich die Dateien vom Altsystem )Stand Mitte Dezember 2022) nehme funktioniert es sofort wieder nach einem neustart. Vielleicht hilft es ja
10_BindingsIo.pm
10_fhempy.pm
10_fhempyServer.pm
10_PythonBinding.pm
10_PythonModule.pm
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: coolheizer am 19 Juli 2023, 20:36:35
Ich bekomme den Xiaomi Mop2 Pro, sowie einen älteren xiaomi Roborock V1 nicht zum laufen.

Beide sind mit dem 72_XiaomiDevice.pm bereits eingebunden, wobei der Mop2 Pro nur als connected angezeigt wird und nicht gesteuert werden kann, dieses nur am Rande um zu zeigen das die tokens beider passen.

Fhempy läuft und google_weather sowie das Geizhalz modul laufen einwandfrei.

Im DeviceOverview :
Module failed to load: miio Maybe you need to update fhempy on this or remote peer. Stacktrace: Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in handle_function module_object = await self.import_module(hash) File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 574, in import_module functools.partial(importlib.import_module, pymodule) File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 72, in run_blocking return await asyncio.get_event_loop().run_in_executor(pool, function) File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "", line 728, in exec_module File "", line 219, in _call_with_frames_removed File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 8, in from miio.click_common import DeviceGroupMeta ModuleNotFoundError: No module named 'miio'

Internals:
   CFGFN     
   DEF        miio vacuum 191.168.178.44 xxxxx
   FHEMPYTYPE miio
   FUUID      64b83d9c-f33f-bfeb-3ba0-34b5e2c4429bcc10
   IODev      fhempy_local
   NAME       Robo
   NR         1770
   PYTHONTYPE miio
   STATE      Module failed to load: miio
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in handle_function
    module_object = await self.import_module(hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 574, in import_module
    functools.partial(importlib.import_module, pymodule)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 72, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 8, in <module>
    from miio.click_common import DeviceGroupMeta
ModuleNotFoundError: No module named 'miio'

   TYPE       fhempy
   eventCount 3
   READINGS:
     2023-07-19 21:47:50   state           Module failed to load: miio
Maybe you need to update fhempy on this or remote peer.

Stacktrace:
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in handle_function
    module_object = await self.import_module(hash)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 574, in import_module
    functools.partial(importlib.import_module, pymodule)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 72, in run_blocking
    return await asyncio.get_event_loop().run_in_executor(pool, function)
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/miio/miio.py", line 8, in <module>
    from miio.click_common import DeviceGroupMeta
ModuleNotFoundError: No module named 'miio'

   args:
     Robo
     fhempy
     miio
     vacuum
     191.168.178.44
     xxxx
   argsh:
Attributes:
   alias      Robo
   room       fhempy

Kann damit leider nix anfangen, hoffe mir kann geholfen werden, Installation ist auf Fhem.

Gruß
Karsten


Update:
hatte vakuum statt vacuum bei der erstellung geschrieben, oben nochmal neu geschrieben/ aktualisiert mit:
define Robo fhempy miio vacuum 191.168.178.44 xxxxxx
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 20 Juli 2023, 07:29:33
Hallo coolheizer
Ich habe den Xiaomi Mop2 pro auch und wir haben den mit einer abgeänderten Version des 72_XiaomiDevice.pm Modul zum laufen bekommen.
Vieleicht hilft Dir das ja weiter. Alle Infos dazu findenst Du hier
https://forum.fhem.de/index.php?topic=118170.msg1115923#msg1115923 (https://forum.fhem.de/index.php?topic=118170.msg1115923#msg1115923)
und hier der letzte bei mir funktionierende Stand des Moduls
72_XiaomiDevice.pm (https://forum.fhem.de/index.php?msg=1129780)
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: coolheizer am 20 Juli 2023, 09:39:55
Hallo Stephan,
sicher das du den Mop2 Pro hast und nicht den Mop Pro?

Der Mop Pro hat ein etwas ovales Türmchen, der Mop2 Pro hat ein rundes Türmchen.

Im angelegten Device wird als Model "ijai.vacuum.v3" bei mir angezeigt.

Die datei 72_XiaomiDevice.pm hatte ich schon vor über 1 Jahr erfolglos getestet.

Die 72_XiaomiDevice.pm ist aus 02.2021, den Mop2 Pro gibt es erst seit letztem Jahr.





Was bedeutet der Fehler(fhempy):
ModuleNotFoundError: No module named 'miio'
es scheint das dieses Modul nicht gefunden wird, muss ich Händisch noch Dateien kopieren?

Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Stelaku am 20 Juli 2023, 17:40:04
du hast leider recht der turm von meinem Sauger ist Oval.
Schade. dann haben wir doch nicht den selben. Meinen habe ich schon 2020 gekauft.
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: coolheizer am 23 Juli 2023, 16:30:05
Bekomme es leider nicht zum laufen, habe jetzt auf Bullseye aktualisiert somit auch aktuelles Python:
Module failed to load: miio Maybe you need to update fhempy on this or remote peer. Stacktrace: Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 336, in handle_function module_object = await self.import_module(hash) File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 573, in import_module module_object = await utils.run_blocking( File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/utils.py", line 72, in run_blocking return await asyncio.get_event_loop().run_in_executor(pool, function) File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run result = self.fn(*self.args, **self.kwargs) File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1030, in _gcd_import File "", line 1007, in _find_and_load File "", line 986, in _find_and_load_unlocked File "", line 680, in _load_unlocked File "", line 790, in exec_module File "", line 228, in _call_with_frames_removed File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/miio/miio.py", line 8, in from miio.click_common import DeviceGroupMeta ModuleNotFoundError: No module named 'miio'
Er findet scheinbar kein miio Modul.
Titel: Aw: fhempy: miio (Xiaomi WiFi Devices)
Beitrag von: Guenni1404 am 14 März 2024, 16:51:06
Hallo Dominik,

danke für das super Modul. Allerdings habe ich ein Problem mit meinem Reiskocher.
Bei miio selber wird er mit den Parametern
--ip 192.168.178.60 --token XXXTOKENXXX start langer_String_des_Kochprogrmms
Bei dir verlangt er
Start cooking a profile.
Arguments: profile: str duration: int schedule: int akw: bool

Besteht die Möglichkeit das anzupassen?

Gruß

guenni