Inkbird Bluetooth BLE Temperatur Sensor receive Values

There are 4 replies in this Thread which has previously been viewed 798 times. The latest Post (January 31, 2024 at 1:18 AM) was by _[Deleted]_.

  • 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

    Edited 3 times, last by _[Deleted]_ (January 31, 2024 at 1:19 AM).

  • 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]_
    January 31, 2024 at 1:14 AM

    Edited 3 times, last by _[Deleted]_ (January 31, 2024 at 2:42 AM).