Plugin: Xiaomi MiFlora Flower Monitor
Einklappen
X
-
Das ist sehr komisch - bei mir tauchen auch beim blescan die Flower Care sensoren auf. (bin aber noch auf Loxberry 1.x)
Wenn sie per blescan nicht gefunden werden, ist der Fehler im Plugin logisch, da beide auf die gleichen Python Module aufsetzen
Ich werde in den kommenden Tagen updaten auf Loxberry 2 und dann nochmal testen.
Kannst du mal folgenden Befehl eingeben und die Ausgabe hier posten:
Code:pip3 show bluepy
Hi I am trying to use bluepy in one of my docker containers i.e. homeassistant but ever since it got upgraded to python 3.7.3, bluepy has stopped working i.e. connecting and controlling my BLE devi...
Noch eine Idee um das Problem einzugrenzen:
Code:./usr/local/lib/python3.7/dist-packages/bluepy/bluepy-helper dort dann "scan" (ohne Anführungszeichen) eingeben
Zuletzt geändert von Michael M.; 24.12.2019, 09:37.Kommentar
-
pip3 show bluepy
Ausgabe:
root@loxberry-sonos-tts:~# pip3 show bluepy
Traceback (most recent call last):
File "/usr/local/bin/pip3", line 7, in <module>
from pip._internal.main import main
ModuleNotFoundError: No module named 'pip._internal.main'
root@loxberry-sonos-tts:~#
Kommentar
-
pip install btlewrap:
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: btlewrap in /usr/local/lib/python3.7/dist-packages (0.0.8)
Requirement already satisfied: typing<4,>=3 in /usr/local/lib/python3.7/dist-packages (from btlewrap) (3.7.4.1) -
Dann versuch mal pip3 install --upgrade --force-reinstall btlewrap -
btlewrap update auf Version 0.0.9 hat geklappt.
****
root@loxberry-sonos-tts:~# pip3 list
Package Version
------------------- ---------
bluepy 1.3.0
btlewrap 0.0.9
certifi 2018.8.24
chardet 3.0.4
distro-info 0.21
idna 2.6
pip 19.3.1
PyGObject 3.30.4
python-apt 1.8.4
pyxattr 0.6.1
requests 2.21.0
setuptools 41.6.0
six 1.12.0
typing 3.7.4.1
unattended-upgrades 0.1
urllib3 1.24.1
youtube-dl 2019.1.17
****
blescan zeigt den Flower care sensor leider immer noch nicht an. Bei hcitool lescan kann ich ihn sehen.
-
-
/usr/local/lib/python3.7/dist-packages/bluepy/bluepy-helperroot@loxberry-sonos-tts:~# /usr/local/lib/python3.7/dist-packages/bluepy/bluepy-helper
Ausgabe:
# bluepy-helper.c version 1.3.0 built at 06:27:58 on Jul 16 2019
scan
rsp=$mgmtcode=$success
rsp=$statstate=$scandst='(null)mtu=h0sec='low
rsp=$scanaddr=b6FC28511D021type=h2rssi=h51flag=h0d =b02011A020A0C0BFF4C001006131A790ACBAC
rsp=$scanaddr=b4ED38ADEBBC9type=h2rssi=h59flag=h0d =b02011A0AFF4C001005031894022A
rsp=$statstate=$discmtu=h0sec='low
Kommentar
-
Michael, ich bin nun mit meinem Problem etwas weitergekommen:
- hcitool lescan: Device wird gefunden
- /usr/local/lib/python3.7/dist-packages/bluepy/bluepy-helper / Scan: Device ist sichtbar
- python3 /usr/local/bin/blescan: Device ist gelistet
Aber beim manuellen Abrufen der Daten bekomme ich nachfolgenden Fehler. Hast du mir wiedermal einen Tip?!
root@loxberry-sonos-tts:~# /opt/loxberry/bin/plugins/xiaomi-miflora/miflora.py
04.01.2020 08:10:49 INFO Scanning for Xiaomi MiFlora devices (takes up to 10 seconds)
04.01.2020 08:10:59 INFO Found 1 devices:
04.01.2020 08:10:59 INFO Polling device: C4:7C:8D:6A:A7:F2
Traceback (most recent call last):
File "/opt/loxberry/bin/plugins/xiaomi-miflora/miflora.py", line 305, in <module>
main()
File "/opt/loxberry/bin/plugins/xiaomi-miflora/miflora.py", line 97, in main
poller = MiFloraPoller(device, BluepyBackend)
File "/opt/loxberry/bin/plugins/xiaomi-miflora/miflora/miflora_poller.py", line 37, in __init__
self._bt_interface = BluetoothInterface(backend, adapter)
TypeError: __init__() takes 2 positional arguments but 3 were given
Kommentar
-
Versuch mal in der Datei /opt/loxberry/bin/plugins/xiaomi-miflora/miflora/miflora_poller.py
Code:self._bt_interface = BluetoothInterface(backend, adapter)
Code:self._bt_interface = BluetoothInterface(backend, adapter=adapter)
Kommentar
-
Hallo Michael,
danke erstmal für das tolle Plugin. Nach einigen Python-Problemen läuft das Plugin nun einwandfrei. Mit dem internen RPi bluetooth erreiche ich meine Pflanze an ihrem Stellplatz nur leider nicht. Komme ich mit dem Logilink dongle bedeutend weiter?Zuletzt geändert von harry.hopfauf; 09.04.2020, 16:54.Kommentar
-
Das kann ich dir leider nicht sagen.... ansonsten einfach einen zweiten Loxberry nur für das PlugIn verwenden, welcher näher bei den Pflanzen ist.Kommentar
-
Hallo,
hast du die Motivation das Plugin um weiter Xiaomi BLE Sensoren zu erweitern?
ich nutze noch die Temperatur und Luftfeuchte Sensoren.
zur Zeit leider über dem Umweg des ioBrokers
ich würde mich freuen. GrußKommentar
-
Hallo,
hast du die Motivation das Plugin um weiter Xiaomi BLE Sensoren zu erweitern?
ich nutze noch die Temperatur und Luftfeuchte Sensoren.
zur Zeit leider über dem Umweg des ioBrokers
ich würde mich freuen. Gruß
Da ich die Sensoren selbst nicht im Einsatz habe aus Zeitmangel eher nicht - ich könnte ein solches Plugin auch nicht aktuell halten.
Ich habe auf die schnelle gesehen, dass es ein Python Projekt bei GitHub gibt - vielleicht hilft dir das weiter.Kommentar
-
Hi,
gibts ne möglichkeit über uber ne loxone taste die abfrage der Sensoren anzustoßen? es ist immer etwas blöd wenn man gegossen hast und dann 4 stundne warten muss bis die werte aktualisiert werden. würde gerne nen button einfügen mit dem ich quasi sagen kann "Blumen wurden gegossen" und dann soll er die werte aktualisieren.
Danke, grüße TomKommentar
-
Kopier dir den Link des "Poll Now" Buttons - dort muss du noch vorne an die URL username + passwort packen, dann kannst du es von Loxone aus triggern. (Habs aber selbst noch nicht probiert)
Kommentar
-
Hallo,
Ich habe das folgende Problem:
1 Sensor funktioniert gut, aber wenn ein zweiter hinzugefügt wird. gibt es ein Problem?
loxberry@loxberry-bleu:~ $ /opt/loxberry/bin/plugins/xiaomi-miflora/miflora.py
25.05.2020 15:21:11 INFO Scanning for Xiaomi MiFlora devices (takes up to 10 seconds)
25.05.2020 15:21:21 INFO Found 2 devices:
25.05.2020 15:21:21 INFO Polling device: C4:7C:8D:67:AC:B9
25.05.2020 15:21:23 INFO C47C8D67ACB9.Name=Flower care
25.05.2020 15:21:23 INFO C47C8D67ACB9.PollTime=359652083
25.05.2020 15:21:23 INFO C47C8D67ACB9.PollTimeString=25.05.2020 15:21:23
25.05.2020 15:21:24 INFO C47C8D67ACB9.Firmware=3.2.2
25.05.2020 15:21:24 INFO C47C8D67ACB9.Temperature=28.9
25.05.2020 15:21:24 INFO C47C8D67ACB9.Moisture=25
25.05.2020 15:21:24 INFO C47C8D67ACB9.Light=3181
25.05.2020 15:21:24 INFO C47C8D67ACB9.Conductivity=0
25.05.2020 15:21:24 INFO C47C8D67ACB9.Battery=86
25.05.2020 15:21:24 INFO -------------------------------------------------
25.05.2020 15:21:24 INFO Polling device: C4:7C:8D:67:95:FA
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/btlewrap/bluepy.py", line 27, in _func_wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/btlewrap/bluepy.py", line 56, in connect
self._peripheral = Peripheral(mac, iface=iface, addrType=self.address_type)
File "/usr/local/lib/python3.7/dist-packages/bluepy/btle.py", line 391, in __init__
self._connect(deviceAddr, addrType, iface)
File "/usr/local/lib/python3.7/dist-packages/bluepy/btle.py", line 439, in _connect
raise BTLEDisconnectError("Failed to connect to peripheral %s, addr type: %s" % (addr, addrType), rsp)
bluepy.btle.BTLEDisconnectError: Failed to connect to peripheral C4:7C:8D:67:95:FA, addr type: public
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/loxberry/bin/plugins/xiaomi-miflora/miflora.py", line 305, in <module>
main()
File "/opt/loxberry/bin/plugins/xiaomi-miflora/miflora.py", line 103, in main
value = "{0}.{1}={2}".format(devicemac, "Name", poller.name())
File "/opt/loxberry/bin/plugins/xiaomi-miflora/miflora/miflora_poller.py", line 50, in name
with self._bt_interface.connect(self._mac) as connection:
File "/usr/local/lib/python3.7/dist-packages/btlewrap/base.py", line 47, in __enter__
self._backend.connect(self._mac)
File "/usr/local/lib/python3.7/dist-packages/btlewrap/bluepy.py", line 33, in _func_wrapper
raise BluetoothBackendException() from last_error
btlewrap.base.BluetoothBackendException
loxberry@loxberry-bleu:~ $ pip3 list
Package Version
------------------- ----------
bluepy 1.3.0
btlewrap 0.0.9
certifi 2018.8.24
chardet 3.0.4
distro-info 0.21
idna 2.6
pip 19.3.1
PyGObject 3.30.4
python-apt 1.8.4
pyxattr 0.6.1
requests 2.21.0
setuptools 46.4.0
six 1.12.0
typing 3.7.4.1
unattended-upgrades 0.1
urllib3 1.24.1
youtube-dl 2019.10.16
WARNING: You are using pip version 19.3.1; however, version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
loxberry@loxberry-bleu:~ $
Kommentar
Kommentar