fhempy: Bluetooth Fragen

Begonnen von RockFan, 11 Januar 2021, 23:31:47

Vorheriges Thema - Nächstes Thema

ReneH87

Mh also ich hab mir die Mühe gemacht und mal den ganzen Remote Raspi neu aufgesetzt und es klappt trotzdem nicht. Im Log ist die Installation der Pakete zu sehen (fhempy.lib.pkg_installer: Attempting install of miflora), danach springt der Status des Device auf "Installation finished. Please wait..." und im Log sieht man dann noch ein "Generating grammar tables from /usr/lib/python3.7/lib2to3/Grammar.txt" bzw. "Generating grammar tables from /usr/lib/python3.7/lib2to3/PatternGrammar.txt".

In dem Status bleibt das Device dann allerdings stehen und es geht nicht weiter. Hast du eine Idee warum?

RockFan

Hallo Dominik,

Du warst ja glaube ich für eine ganze Weile Land unter. Deshalb habe ich auch erstmal die Füße still gehalten. Ich denke Du hast damals nichts mehr bzgl. MiTemp2 gemacht oder? Ich besitze 2 von den Teilen und fände es Klasse, wenn Du das doch noch integrieren könntest  :)

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

Das ist wohl bei der Vielzahl an Themen untergegangen :)

Ich hatte das damals implementiert. Probier mal das hier aus:
https://github.com/dominikkarall/fhempy/tree/master/FHEM/bindings/python/fhempy/lib/mitemp2
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Hallo Dominik,

Ich hatte das Device damals schon als mitemp angelegt und der Status ist seit geraumer Zeit auf PythonBinding timeout

Jetzt habe ich die Definition einfach auf mitemp2 geändert. Der Status bleibt gleich:


Internals:
   DEF        mitemp2 A4:C1:38:8A:50:24
   FHEMPYTYPE mitemp2
   FUUID      603002c6-f33f-4546-7fdb-9839f50af1c2b12e
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      local_pybinding
   MAC        A4:C1:38:8A:50:24
   NAME       og_Temperatur
   NR         1246
   PYTHONTYPE mitemp2
   STATE      PythonBinding timeout
   TYPE       PythonModule
   CHANGED:
   READINGS:
     2021-02-19 19:44:39   state           PythonBinding timeout
     2021-02-19 19:26:14   update_interval 1200
   args:
     og_Temperatur
     PythonModule
     mitemp2
     A4:C1:38:8A:50:24
   argsh:
Attributes:
   IODev      local_pybinding
   group      mitemp
   room       Endgeräte


Es läuft Version 0.1.168. Hätte ich noch etwas anderes machen müssen?

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

Probier bitte ein neues Device mit mitemp2 anzulegen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

#35
Habe das Device neu angelegt und bekomme leider keinen Status (er bleibt auf drei Fragezeichen). Irgendwie habe ich keine Ahnung, wo ich was nachschauen kann?
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

RockFan

#36
Ich hatte gerade mal ein kleines bisschen Zeit zum Forschen :)
Bluetooth und headless Linux bzw. Raspi ist für mich irgendwie schwer zu durchschauen. Ich hatte ja bereits seit ich diesen Fragen-Thread gestartet hatte parallel auch versucht über fhempy-Presence mein Handy zu tracken (3 Raspis im Verbund) seit Monaten stand es aber überall auf "absent".
Das Thema ist mein erstes Mysterium bzgl. Bluetooth. Mir ist es nun heute erstmals wieder gelungen das Handy "present" zu sehen, nachdem ich Discoverable auf den Raspis eingeschalten hatte und einen Kopplungsversuch unternommen hatte.
Kann das sein, dass das notwendig ist? Dann wäre Presence aber ziemlich unbrauchbar (sorry, nicht böse gemeint).

Eigentlich habe ich ja aber das Problem mit meinen Temperatursensoren, wie aus den vorigen Posts zu erkennen ist. Nun ist mir eingefallen, dass ich die BLE_Presence verwenden könnte, um festzustellen, ob fhempy so einen Sensor überhaupt erkennt.
Und siehe da, er stand dann sofort auf "present". Allerdings nur für kurze Zeit. Er sprang dann auf "absent", dann wieder auf "present". Mittlerweile steht er stabil auf "absent".
Im eigentlichen mitemp2 Device hat sich aber gar nichts getan.

Eben habe ich mal den zweiten Temperatursensor aktiviert und bin genauso vorgegangen. Das Ergebnis ist das Gleiche. Es scheint so, als würde ich etwas grundsätzlich falsch machen oder falsch auf Linuxebene konfiguriert zu haben.

Ich wäre für jeden Tipp dankbar :)   
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Sorry, das Thema mitemp2 ist bei mir untergegangen.

Kannst du es bitte mal nach dieser Anleitung testen:
https://github.com/JsBergbau/MiTemperature2

Ich habe nämlich den Code von dort übernommen gehabt.


Bzgl. presence: Das hast du eh eingerichtet, oder? => https://github.com/dominikkarall/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/ble_presence/README.md#bluetooth-permissions
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

#38
Ich mache mich gerade wieder an das Thema ran.
Seltsamerweise habe ich gerade, nachdem ich bereits die erste Anpassung bzgl. der Voraussetzungen vorgenommen hatte, eine Änderung im angelegten Device bemerkt. Es gibt jetzt Fehlermeldungen:


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 413, 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/mitemp2/mitemp2.py", line 12, in Define
    await super().Define(hash, args, argsh)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 148, in Define
    functools.partial(self._get_readme_content)
  File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 33, 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/fhempy/lib/generic.py", line 126, in _get_readme_content
    readme_str = markdown.markdown(readme_md)
  File "/opt/fhem/.local/lib/python3.7/site-packages/markdown/core.py", line 387, in markdown
    return md.convert(text)
  File "/opt/fhem/.local/lib/python3.7/site-packages/markdown/core.py", line 268, in convert
    newRoot = treeprocessor.run(root)
  File "/opt/fhem/.local/lib/python3.7/site-packages/markdown/treeprocessors.py", line 397, in run
    element.insert(i, newChild)
TypeError: insert() argument 2 must be xml.etree.ElementTree.Element, not Element


Allerdings stammen diese von heute Vormittag (vor mehr als 6 Stunden).
Edit 2: Es könnte sein, dass zu diesem Zeitpunkt fhem aus unbekanntem Grund automatisch neu gestartet wurde

Bzgl. den Vorbedingungen in der genannten Anleitung, vermute ich, dass für fhempy kein MQTT verwendet wird. Richtig?
Und ich habe keinen Plan, was es mit ATC auf sich hat. Edit 1: Sehe, dass das eine alternative FW ist und sollte somit keine Bedeutung für mich haben.

Zu Presence:
Die Anleitung hierzu hatte ich damals (vor Monaten) schon angewendet.
Es ist auch echt seltsam, presence funktioniert sporadisch, aber eher selten. Vorhin war auch das mitemp2 Device mal present. Kam es vielleicht deshalb zu den Fehlermeldungen?
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Die Fehlermeldung hat ausschließlich was mit dem Hilfetext zu tun. Scheinbar kann die markdown Library hier etwas aus der README nicht verarbeiten. Ich schau mir das mal an.

Teste aber bitte noch MiTemperature2 von github. MQTT wirst du nicht brauchen, da du das als Commandline Tool auch ohne MQTT laufen lassen kannst. Probier damit einfach mal paar Infos zu lesen. Weil wenn das nicht klappt, dann wird mitemp2 für dich auch nicht funktionieren.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Hi dominik,

erstmal Danke fürs Kümmern :)

Mit MiTemperature2 bekomme ich Daten. Das zeigt zwar auch die instabile Verbindung, aber es kommt immer wieder was. Hier mal ein Auszug:

Temperature: 24.94
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31

Connection lost
Waiting...
Trying to connect to A4:C1:38:8A:50:24
Connection lost
Waiting...
Trying to connect to A4:C1:38:8A:50:24
Temperature: 24.96
Humidity: 40
Battery voltage: 2.406 V
Battery level: 31

Temperature: 24.96
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31

Temperature: 24.96
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31

Connection lost
Waiting...
Trying to connect to A4:C1:38:8A:50:24
Temperature: 25.0
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31

Temperature: 25.02
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31

Temperature: 25.01
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31

Connection lost
Waiting...
Trying to connect to A4:C1:38:8A:50:24
Temperature: 25.04
Humidity: 39
Battery voltage: 2.406 V
Battery level: 31


Das mitemp2 Device in fhem bleibt bei seinen 3 Fragezeichen im STATE.
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

dominik

Alles klar! Danke für den Test, damit weiß ich, dass wir am richtigen Weg sind. Ich werde was umbauen und gebe dann Bescheid wenn es zum Testen bereit ist.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

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

dominik

fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

RockFan

Es ist ja bereits Version 0.1.187  ;)

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