Can I link Inkbird IBBQ-4T (wifi) to Home Assistant?

Hello, can you please refer me to the instructions you followed to be able to add the entities to home assistant? appreciate your help , thanks in advance.

Curious, running IOS, do you lose access to the inklbird APP (do you only have access through the tuya app (and HA))? has anyone tried this with the BW version?

GitHub - kbrown01/ibbq-4t: Home Assistant files for iBBQ-4T Inkbird 4 Probe is my version

I’m currently “working on” / “searching for” a control flow for my smokebox. Your setup looks very good. Would you mind shearing the json code?

:+1:

Has anyone figured out how to get this working after 2023.5? I can connect to the device, but the temp pobes are just returning long strings of gobbelty-gook…

image

Same Problem

Tried this with my iBBQ-4T but I only see the main-device in HASS, no probes.
Do I need to add these probes in Tuya (not sure if possible) to make them appear in HASS?

I’m having the same issue. I think at some point they have changed the device to report all 4 probes from DP 107. I think the long strings is encoding all 4 temps into 1 base64 string. Not sure how it is encoded though.

Is there some standard way that a base64 string would be modified by multiplying / dividing by the local key, maybe?

@JB1982 figured it out in NodeRed and posted his code in the linked post. I used his code (with some small changes) and it is working great.

I am new to node red, what changes where made to get it working for you?

So TuyaLoca decodes my inkbird as follows:

primary_entity:
  entity: sensor
  name: Temperature probe 1
  class: temperature
  dps:
    - id: 107
      type: base64
      name: sensor
      class: measurement
      optional: true
      mapping:
        - mask: FFFF000000000000
          endianness: little
          scale: 100
      unit: F
    - id: 111
      type: bitfield
      name: fault_code
secondary_entities:
  - entity: sensor
    name: Temperature probe 2
    class: temperature
    dps:
      - id: 107
        type: integer
        name: sensor
        class: measurement
        optional: true
        mapping:
          - scale: 100
            mask: 0000FFFF00000000
            endianness: little
        unit: F
  - entity: sensor
    name: Temperature probe 3
    class: temperature
    dps:
      - id: 107
        type: integer
        name: sensor
        class: measurement
        optional: true
        mapping:
          - scale: 100
            mask: 00000000FFFF0000
            endianness: little
        unit: F
  - entity: sensor
    name: Temperature probe 4
    class: temperature
    dps:
      - id: 107
        type: integer
        name: sensor
        class: measurement
        optional: true
        mapping:
          - scale: 100
            mask: 000000000000FFFF
            endianness: little
        unit: F

But for some reason it messes up Probe1 and doesn’t populate Probe2,3,4
image

Debug from hassio:

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

Actual temps read from the actual inkbird are (F):
PRB1 = 78
PRB2 = 78
PRB3 = 78
PRB4 = 77

I have created these binary_sensors to determine which probes are connected. I use these in conditional cards to only display the probes that are in use.
They need an entity (in this case named number.probes_connected) which returns the value from ID 111.
I have this in my binary_sensors.yaml
Thought I’d share.

- platform: template
  sensors:
    ibbq_probe_1_connected:
      friendly_name: "iBBQ Probe 1 Connected"
      value_template: >
        {% set decVal = states('number.probes_connected') %}
        {% if decVal not in ['unavailable', 'unknown', 'none', None] %}
          {{ (decVal | int) % 2 == 0 }}
        {% else %}
          false
        {% endif %}
      device_class: connectivity

    ibbq_probe_2_connected:
      friendly_name: "iBBQ Probe 2 Connected"
      value_template: >
        {% set decVal = states('number.probes_connected') %}
        {% if decVal not in ['unavailable', 'unknown', 'none', None] %}
          {{ ((decVal | int) // 2) % 2 == 0 }}
        {% else %}
          false
        {% endif %}
      device_class: connectivity

    ibbq_probe_3_connected:
      friendly_name: "iBBQ Probe 3 Connected"
      value_template: >
        {% set decVal = states('number.probes_connected') %}
        {% if decVal not in ['unavailable', 'unknown', 'none', None] %}
          {{ ((decVal | int) // 4) % 2 == 0 }}
        {% else %}
          false
        {% endif %}
      device_class: connectivity

    ibbq_probe_4_connected:
      friendly_name: "iBBQ Probe 4 Connected"
      value_template: >
        {% set decVal = states('number.probes_connected') %}
        {% if decVal not in ['unavailable', 'unknown', 'none', None] %}
          {{ ((decVal | int) // 8) % 2 == 0 }}
        {% else %}
          false
        {% endif %}
      device_class: connectivity

This is my inkbird IBBQ-4T V2 dashboard:

2 Likes

That’s great, how did you get that done?

I shared my code on github: GitHub - TurboTronix/IBBQ-4T-V2: HomeAssistant Lovelace UI for IBBQ-4T V2

I got the localTuya to add the device, but I like to read it in C, and I get a F value (scaled down to 0.01)

I tried to add this to yaml but its wrong…

localtuya:

  • sensor:
    name: “BBQ Probe 1”
    value_template: “{{ ((value | float - 32) / 1.8)|round(2) }}”

I think best is to do the conversion in hassio rather than esp, i haven’t played with that yet but eventually i want to add a button to switch between c and f.

I dont get the device into tuya. Tuya don’t find them. What i have to chose in the tuya app, that the app finds the device?

Hi all,

I integrated iBBQ-4T in home assistant without problems months ago, but I’m now seeing that when I detach the probe, I continue to have my last temperature value on probe and not “unavailable”. Haven’t had the problem before. Have anyone the same problem?

Thank you.