fhempy: xiaomi_gateway3 (Xiaomi Gateway V3)

Begonnen von dominik, 11 Dezember 2020, 19:04:20

Vorheriges Thema - Nächstes Thema

dominik

Hi,

mach mal einen Restart von fhempy. Rename kann fhempy noch nicht so gut verarbeiten, da ist meistens ein Restart danach sinnvoll.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Danke, dominik!

Deshalb also die Verzögerung im FHEM-Log. Den Rename hatte ich erst nach 10-15 Minuten gemacht, bevor ich den zweiten Rauchmelder connected hatte, um sie einfacher unterscheiden zu können.

Das FHEM-Log ist jetzt wieder "schön"  8)

Das fhempy-Log hat sich aber nicht verändert. Und die beiden FHEM-Devices haben nur ein "state"-Reading, das immer den Wert offline hat. Ich weiß zwar nicht, was hier genau zu erwarten wäre, aber ich vermute offline sollte nicht der dauerhafte Status sein und vielleicht sollte es noch ein paar Readings geben.

Wie siehst Du das?

Viele Grüße
Dieter   
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Ah, da war noch ein Fehler. Ich hatte nur auf das Rename geschaut :)

Update ist draußen, bitte damit testen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Super - Danke!

Jetzt sieht alles so aus, wie es wohl sein muss (Status online und Readings).
Ich habe zwar keine Ahnung, wie ich ohne Rauch testen soll, ob es auch funktioniert, da der Selbsttest nicht einmal in der Xiaomi-App angezeigt wird  ::) aber das ist auch nicht Dein Problem ;)

Falls es interessiert, so sieht das Device nun aus:

{
  "Arg":"og_Rauchmelder",
  "Results": [
  {
    "Name":"og_Rauchmelder",
    "PossibleSets":"",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userattr userReadings:textField-long verbose:0,1,2,3,4,5   IODev:fhempy_peer_192_168_178_77,fhempy_peer_192_168_178_88,local_pybinding 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 appOptions:textField-long assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle 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",
    "Internals": {
      "CFGFN": "",
      "DEF": "xiaomi_gateway3_device xiaomigw3_408874251 blt.3.19vsonkj0lc01",
      "DID": "blt.3.19vsonkj0lc01",
      "FHEMPYTYPE": "xiaomi_gateway3_device",
      "FUUID": "6252ac28-f33f-4546-cb92-59fb2e160d61eaa7",
      "GATEWAY": "xiaomigw3_408874251",
      "IODev": "local_pybinding",
      "NAME": "og_Rauchmelder",
      "NR": "7005",
      "PYTHONTYPE": "xiaomi_gateway3_device",
      "STATE": "online",
      "TYPE": "fhempy"
    },
    "Readings": {
      "action": { "Value":"0", "Time":"2022-04-10 16:15:45" },
      "battery": { "Value":"100", "Time":"2022-04-10 16:06:13" },
      "device_manufacturer": { "Value":"Honeywell", "Time":"2022-04-10 16:06:14" },
      "device_model": { "Value":"JTYJ-GD-03MI", "Time":"2022-04-10 16:06:14" },
      "device_name": { "Value":"Honeywell Smoke Alarm", "Time":"2022-04-10 16:06:14" },
      "did": { "Value":"blt.3.19vsonkj0lc01", "Time":"2022-04-10 16:06:13" },
      "mac": { "Value":"54ef44e3809b", "Time":"2022-04-10 16:06:13" },
      "model": { "Value":"2455", "Time":"2022-04-10 16:06:13" },
      "online": { "Value":"1", "Time":"2022-04-10 16:06:13" },
      "seq": { "Value":"117", "Time":"2022-04-10 16:28:58" },
      "smoke": { "Value":"0", "Time":"2022-04-10 16:06:28" },
      "state": { "Value":"online", "Time":"2022-04-10 16:28:58" },
      "type": { "Value":"ble", "Time":"2022-04-10 16:06:13" }
    },
    "Attributes": {
      "IODev": "local_pybinding",
      "group": "xiaomi_gateway3_device",
      "icon": "secur_smoke_detector",
      "room": "fhempy"
    }
  }  ],
  "totalResultsReturned":1
}



Nochmals besten Dank und schönen restlichen Sonntag

Dieter
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Super! Danke für die Info, sieht gut aus :)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Hallo Dominik,

leider weiß ich nicht wohin ich am besten mein aktuelles Problem poste, damit du es auch siehst, deshalb nehme ich einfachen diesen alten Thread hier  :-\

Gestern wollte ich mal wieder fhempy aktualisieren und habe somit jeweils auf das Aktualisierungssymbol von fhempy_local und meine beiden Peers geklickt. Die Peers ließen sich auch wunderbar aktualisieren, aber fhempy_local blieb disconnected. Im Log ist mir dann aufgefallen, dass offensichtlich der Speicher (die SD-Karte) voll war:


2022-10-08 22:16:28,832 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Could not install packages due to an EnvironmentError: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbar


Daraufhin habe ich eine Menge Logs gelöscht. Das hatte aber nichts gebracht. Letztendlich habe ich entschlossen auf heute zu vertagen und FHEM auch mal wieder zu aktualisieren.

Nun habe ich weiter analysiert und mehr Probleme, die auch schon vor dem fehlenden Speicher aufgetaucht sind gefunden:


2022-10-08 22:15:52,591 - INFO     - fhempy.lib.fhem_pythonbinding: Start update...
2022-10-08 22:15:52,592 - INFO     - fhempy.lib.pkg_installer: Attempting install of fhempy
2022-10-08 22:16:06,630 - ERROR    - fhempy.lib.pkg_installer: Unable to install package fhempy: python-miio 0.5.8 has requirement click<8,>=7, but you'll have click 8.1.3 which is incompatible.
python-miio 0.5.8 has requirement croniter<1,>=0, but you'll have croniter 1.3.7 which is incompatible.
python-miio 0.5.8 has requirement cryptography<4,>=3, but you'll have cryptography 37.0.4 which is incompatible.
python-miio 0.5.8 has requirement importlib_metadata<2,>=1; python_version <= "3.7", but you'll have importlib-metadata 4.8.1 which is incompatible.
Could not install packages due to an EnvironmentError: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbar: '/opt/fhem/.local/lib/python3.7/site-packages/cryptography-3.4.8.dist-info'
2022-10-08 22:16:06,654 - INFO     - fhempy.lib.fhem_pythonbinding: Restart initiated...
2022-10-08 22:16:06,689 - INFO     - fhempy.lib.fhem_pythonbinding: All modules successfully undefined!
2022-10-08 22:16:06,691 - INFO     - websockets.server: server closing
2022-10-08 22:16:16,706 - INFO     - websockets.server: connection closed
2022-10-08 22:16:16,707 - INFO     - websockets.server: server closed
2022-10-08 22:16:16,720 - INFO     - fhempy.lib.fhem_pythonbinding: Exit 1
2022-10-08 22:16:17,640 - ERROR    - __main__: Failed to load fhempy
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 . import fhem, pkg_installer, utils, version
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 10, in <module>
    from cryptography.fernet import Fernet
  File "/opt/fhem/.local/lib/python3.7/site-packages/cryptography/fernet.py", line 14, in <module>
    from cryptography.hazmat.primitives import hashes, padding
ModuleNotFoundError: No module named 'cryptography.hazmat.primitives'
2022-10-08 22:16:17,641 - INFO     - __main__: Attempting install of fhempy>=0.1.12
2022-10-08 22:16:28,832 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Could not install packages due to an EnvironmentError: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbar
2022-10-08 22:16:28,833 - ERROR    - __main__: Failed to install fhempy, exit now...


Die Fehlermeldung mit dem Cryptographie-Modul loopt seither im Minutentakt.

Ich dachte zunächst, dass fhempy_local das Problem ist, habe das Device gelöscht und neu angelegt, bis mir klar wurde, dass fhempyserver permanent stoppt und startet. Das steht im fhem-Log im Minutentakt:


2022.10.09 12:40:16 3: fhempyserver_15733: read: end of file reached while sysread
2022.10.09 12:40:16 3: fhempyserver_15733: stopped
2022.10.09 12:40:16 3: fhempyserver_15733: starting
2022.10.09 12:40:16 3: fhempyserver_15733: using logfile: ./log/fhempy-2022-10-09.log



sudo -u fhem bash
pip3 install --upgrade fhempy

habe ich bereits versucht.

Auch googeln nach dem Crypto-Fehler hat mich nicht weitergebracht.

Ich komme nicht weiter. Hast du noch eine Idee, was ich machen kann?


Viele Grüße
Dieter
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Ich bin mir gerade nicht sicher ob es mit Python 3.7 zusammenhängt - kann durchaus sein.

Probier bitte folgendes:
- Upgrade des RPi auf bullseye
- Danach ist Python 3.9 Standard
- Dann nochmals fhempy mit
sudo -u fhem bash
pip3 install -U fhempy
installieren.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Hi Dominik,

vor einem Upgrade auf bullseye hab ich ein wenig Respekt, da bei mir erheblich viele verschiedenste Module in FHEM laufen. Ich befürchte, dass es nicht ganz glatt laufen wird. Das muss ich erstmal noch gegen entsprechende Erfahrungen hier im Forum checken und auch ein wenig mehr Zeit freischaufeln, um mich um die Folgen kümmern zu können.

Wie ist Deine Erfahrung mit dem Upgrade?

Viele Grüße
Dieter
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Zeit sollte man beim Upgrade auf alle Fälle einplanen - Sonntag Abend ist da meistens schlecht ;)

Ich hatte mit dem bullseye Upgrade auf 4 verschiedenen RPi nur wenig (oder gar keine) Probleme, aber das mag nichts heißen, weil die Konfigurationen natürlich sehr individuell sind.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Hi Dominik,

ich habe heute den Schritt auf Bullseye gewagt. Das scheint bisher auch soweit geklappt zu haben. Python ist nun auf 3.9.
fhempy möchte aber immer noch nicht. Ich bin, wie du es beschrieben hast vorgegangen:

sudo -u fhem bash
pip3 install -U fhempy


Beim ersten Versuch kam dann am Ende folgende Ausgabe:


Installing collected packages: cryptography
  Attempting uninstall: cryptography
    Found existing installation: cryptography 3.4.8
    Uninstalling cryptography-3.4.8:
      Successfully uninstalled cryptography-3.4.8
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
python-miio 0.5.8 requires cryptography<4,>=3, but you have cryptography 37.0.4 which is incompatible.
Successfully installed cryptography-37.0.4


Allerdings sind die Logausgaben nun andere als zuvor. Ich habe es nach einem Reboot nochmals mit der Installation versucht; diesmal ohne Fehlermeldung.
fhempy_local sagt durchgehend "Installing fhempy (15min)..."

Im Log steht nun alle 10 Sekunden:


2022-10-23 15:17:23,837 - ERROR    - fhempy_og_BT_PocophoneF1: BleakScanner failed
Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/bt_presence/bt_presence.py", line 46, in run_bt_scan
    rssi = await utils.run_blocking(
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/utils.py", line 35, 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 "/opt/fhem/.local/lib/python3.9/site-packages/bt_proximity/bt_rssi.py", line 55, in request_rssi
    self.prep_cmd_pkt()
  File "/opt/fhem/.local/lib/python3.9/site-packages/bt_proximity/bt_rssi.py", line 27, in prep_cmd_pkt
    handle = struct.unpack(b'8xH14x', request.tostring())[0]
AttributeError: 'array.array' object has no attribute 'tostring'


Was könnte ich noch versuchen?

Viele Grüße
Dieter
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

RockFan

Kommando zurück  8)
Es hat sich wohl durch ein Update von FHEM erledigt :)

Was ein wenig seltsam ist oder bleibt, ist die Tatsache, dass ich auf einem der beiden Peers trotz Update andere Versionen habe, als auf der FHEM-Instanz:
Statt 0.1.508 nur 0.1.501
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...