Inkbird Bluetooth BLE Temperatur Sensor receive Values

Hinweis zur Nutzung von Skripten (für Nutzer)

Die Verwendung von Skripten erfolgt ausdrücklich auf eigene Gefahr. Weder Shelly noch die jeweiligen Autoren oder Entwickler der Skripte übernehmen irgendeine Form der Haftung für mögliche Schäden, Fehlfunktionen, Datenverluste oder anderweitige Beeinträchtigungen, die durch die Nutzung dieser Skripte entstehen könnten. Bitte stellen Sie vor dem Einsatz sicher, dass Sie den Quellcode verstehen und sich der möglichen Auswirkungen bewusst sind. Die Skripte werden ohne Gewähr bereitgestellt und unterliegen keiner regelmäßigen Wartung oder offiziellen Unterstützung.


Hinweis für Entwickler

Wenn Sie eigene Skripte bereitstellen, achten Sie bitte darauf, eine klare Beschreibung, eventuelle Einschränkungen und Sicherheitsaspekte zu dokumentieren. Beachten Sie zudem, dass Nutzer Ihre Skripte grundsätzlich auf eigenes Risiko verwenden. Eine Haftung für Schäden ist ausgeschlossen, sofern diese nicht vorsätzlich oder grob fahrlässig verursacht wurden oder gesetzlich anderweitig geregelt ist.

  • Hi,

    I tried to adapt the newly provided scripts to use the BLE functionality to receive Data from an Inkbird IBS-TH2 Temperature, Humidity Sensor to later publish it via MQTT. But it seems the received Data is incomplete, advertisment and scanrespsone is available but the Manufacturer Data which seems to hold the real information is empty.

    Any Idea what I'm doing wrong or having any of the Inbird Sensors working?

    KR

    Running 0.12.0-beta2

    Script:

    Result:

  • Your script looks ok, I got the same problem, so I would assume its a Shelly scanner issue:

    Try enabling the Full Log Console option, with this you can see what exactly the Shelly Scanner function is getting.


    Try opening a support ticket about this, the Q/A team may be able to tell you more: https://support.shelly.cloud/en/support/tic…report_an_issue

    3 Mal editiert, zuletzt von _[Deleted]_ (31. Januar 2024 um 01:19)

  • Yes I know what where wrong, it did a passive scan, not an active, you need to turn off the Shelly BT gateway option or it will keep doing passive scans no matter what you set up on the script scanner.

    Also, parsing some manufacturer data is not going to help you mutch, The Shelly BLE.Scanner will try to do this automaticly, but you need to unpack it somehow, and this is where the real problems start.

  • I'll try to explain the issue more precisely.

    1. A Shelly can only operate one BLE.Scanner per time, when the BT Gateway option is enabled, a background BLE.Scanner is started, performing passive continuous scans. Scripts can then retrieve / subscribe to the data from this passive scanner.

    2. The Shelly BLE.Scanner automatically attempts to parse possible Manufacturer Data and provides it under the Result Object(argument) in the callback function specified in the scanner.

    3. BLE devices like the Shelly Blu don't include Manufacturer Data in their Advertisement Data. This information is only in a Scan Response. So, one should not search for Manufacturer Data in advData, it should be searched in the scanResp after turning off the BT Gateway function and initiating an active scan inside/via a script.

    4. Parsing doesn't make the data suddenly usable, it simply means extracting them from the Scan Response or Advertisement Data. Unpacking and Interpreting them remains a separate step.

    I hope the topic is now explained more understandably.

    Konrad Bauckmeier

    Ich versuche die Problematik mal etwas genauer zu erklären.

    1. Ein Shelly kann nur einen BLE.Scanner gleichzeitig betreiben, wenn man die BT Gateway Option Aktiviert, wird im Hintergrund ein BLE.Scanner gestartet der passive Endlos Scanns durchführt.

    Scripts können dann nur doch die vorhandenen Daten abgreifen, bzw diesen einen Passiven Scanner abonnieren.

    2.Der Shelly BLE.Scanner versucht immer automatisch mögliche Manufacturer Data zu parsen und wird diese dann auch unter dem Result Object(Argument) in der im Scanner angegebenen Callback Funktion bereit stellen.

    3. BLE Geräte wie z.B. das Shelly Blu liefern in ihren Advertisement Daten keine Manufacturer Daten. Also braucht man nicht in den advData nach Manufacturer Daten suchen, denn dort wird man sie nie finden, richtig wäre hier in der Scan Response danach zu suchen, nachdem man die BT Gateway Funktion abgeschaltet hat und einen aktiven Scan per Script gestartet hat.

    4. Parsen bedeutet nicht das die Daten plötzlich nutzbar sind, damit ist nur gemeint das sie aus der Scan Response oder den Advertisement Daten extrahiert werden, entpacken muss man sie danach immer noch selbst.

    So ich hoffe jetzt ist das Thema verständlicher erklärt.

    Here some Script Exampel for this / Hier ein Beispiel Script dazu:

    _[Deleted]_
    31. Januar 2024 um 01:14

    3 Mal editiert, zuletzt von _[Deleted]_ (31. Januar 2024 um 02:42)