InkBird IBBQ-4T V2

I am having issues getting the temperatures from my IBBQ-4T V2 into Hassio. I am using LocalTuya to get the data from my device into hassio.

This is what I get:
Hassio debuger from LocalTuya gives me:
"107": "1j0AAShBAAEIPgABNj0AAQ=="

So as per the link you provided from InkBirds tech:
I get the following from DP107: 1j0AAShBAAEIPgABNj0AAQ==
Converted to HEX: d6 3d 00 01 28 41 00 01 08 3e 00 01 36 3d 00 01

Which gives us:

Probe 1:

  • d6 3d 00 01 reversed → 01003dd6
  • converted to decimal: 16793046
  • 16793046/100,000 = 167.93 F which is 75 C

Probe 2:

  • 28 41 00 01 reversed → 01004128
  • converted to decimal: 16793896
  • 16793896/100,000 = 167.93 F which is 75 C

Probe 3:

  • 08 3e 00 01 reversed → 01003e08
  • converted to decimal: 16793096
  • 16793096/100,000 = 167.93 F which is 75 C

Probe 4:

  • 36 3d 00 01 reversed → 01003d36
  • converted to decimal: 16792886
  • 16792886/100,000 = 167.92 F which is 75 C

This matched all my probes inserted all at once into a cup of hot water (+/- 1C).

So in conclusion, I believe something is wrong with the conversion inside the yaml file. Since we can see that Tuya_Local debug log does indeed get the correct numbers from dp107 but hassio is not outputing them correctly.

In the yaml this is done:

    - id: 107
      type: base64
      name: sensor
      class: measurement
      optional: true
      mapping:
        - mask: FFFF000000000000
          endianness: little
          scale: 100
      unit: F

From my understanding:

  • mask: FFFF000000000000 it takes the first 4 HEX
  • endianness: little reverse the bytes
  • scale: 100 divide by 100

Code seems correct but for some reason Probe1 and Probe3 are not giving the correct measurement in hassio.

From what I’ve read, mine is a IBBQ-4T V2 which merges all temps into one DP (DP107). The info derived from my unit seems to match that claim. The yaml I am talking about comes from Tuya-Local. If you go into custom_components\tuya_local\devices folder it’s in there. That is the yaml file Tuya_Local uses to define my device. What I can’t figure out is why it manages to perfectly show Probe2 and Probe4 but messes up on Probe1 and Probe3 even though the code is exactly the same.

image

"data": {
    "name": "BBQ thermometer",
    "type": "inkbird_bbq4t_thermometerv2",
    "device_id": "**REDACTED**",
    "device_cid": "",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "tinytuya_version": "1.13.1",
    "api_version_set": 3.3,
    "api_version_used": 3.3,
    "api_working": true,
    "status": {},
    "cached_state": {
      "updated_at": 1703185884.1071646,
      "1": true,
      "19": "f",
      "101": 100000,
      "102": 15,
      "104": false,
      "105": 0,
      "111": 0,
      "107": "ah0AAfYdAAFgHQABkh0AAQ=="
    },

Can’t figure out how to decode this. This is what I got: