Weber iGrill 2 integration with Lovelace UI

Thanks I actually ended up taking some time yesterday to run through what was posted and created a look that is fairly similar to yours. Finished it just in time for me to put on a brisket last night to let HA babysit the temps and alert me when I needed to go check on things.

1 Like

This worked perfectly for me, thank you very much! I had a few headaches before this!!

1 Like

For those using a Rasberrypi Zero with the RaspberryPI OS (Raspberry Pi OS with desktop, Release date: January 11th 2021, Kernel version: 5.4)
(https://www.raspberrypi.org/software/operating-systems/) please note you will need to install some additional bluetooth libraries to successfully authenticate with the iGrill2. The standard Bluez library continually fails authentication.

To remedy this i ran:

sudo apt install bluetooth pi-bluetooth bluez blueman

After a reboot i was successfully able to use the monitor.py script to connect and see temperature and battery data of the igrill2.

sudo ./monitor.py -c /home/pi/igrill/config -l debug

Hopefully this helps someone in a similar situation.

All the best

Just found this

3 Likes

After reading this whole topic twice it still didnā€™t work for me. What helped me was:

sudo bluetoothctl

and set the igrill device to trusted.

After that I also connected and paired once with bluetoothctl. But I donā€™t think that was part of the solution.

Just had to replace my iGrill2, not sure if itā€™s a different firmwareā€¦ all I changed was the MAC address, but it just will not stay connected. Have reset the iGrill, checked for other firmware updatesā€¦ nothing seems to keep it connected :frowning:

2021-06-23 12:10:07,813 grill DEBUG: Created new device with name grill
2021-06-23 12:10:07,814 grill DEBUG: Trying to connect to the device with address D4:81:CA:20:28:97
2021-06-23 12:10:07,814 grill DEBUG: Calling btle.Peripheral.__init__ with lock: 1984133720
2021-06-23 12:10:08,189 grill DEBUG: Releasing lock: 1984133720
2021-06-23 12:10:08,581 grill DEBUG: Device disconnected
2021-06-23 12:10:08,582 grill DEBUG: Sleeping for 20 seconds before retrying
2021-06-23 12:10:28,603 grill DEBUG: Device thread grill (re)started, trying to connect to iGrill with address: D4:81:CA:20:28:97
2021-06-23 12:10:28,603 grill DEBUG: Created new device with name grill
2021-06-23 12:10:28,604 grill DEBUG: Trying to connect to the device with address D4:81:CA:20:28:97
2021-06-23 12:10:28,604 grill DEBUG: Calling btle.Peripheral.__init__ with lock: 1984133720
2021-06-23 12:10:28,913 grill DEBUG: Releasing lock: 1984133720
2021-06-23 12:10:29,306 grill DEBUG: Device disconnected
2021-06-23 12:10:29,306 grill DEBUG: Sleeping for 20 seconds before retrying
2021-06-23 12:10:49,327 grill DEBUG: Device thread grill (re)started, trying to connect to iGrill with address: D4:81:CA:20:28:97
2021-06-23 12:10:49,328 grill DEBUG: Created new device with name grill
2021-06-23 12:10:49,328 grill DEBUG: Trying to connect to the device with address D4:81:CA:20:28:97
2021-06-23 12:10:49,329 grill DEBUG: Calling btle.Peripheral.__init__ with lock: 1984133720
2021-06-23 12:10:49,617 grill DEBUG: Releasing lock: 1984133720
2021-06-23 12:10:50,012 grill DEBUG: Device disconnected
2021-06-23 12:10:50,012 grill DEBUG: Sleeping for 20 seconds before retrying

EDIT: Ended up using bluetoothctl to untrust, disconnect, remove the new device, then ran a scanā€¦ seemed to pick it up, eventually, after that.

Thought I was going to have to do a cook with the Weber appā€¦probably would have put it in the oven instead!! :rofl:

1 Like

Thanks for the integration. I had fun setting up.

I have a Weber Pulse 2000 and Iā€™m curious as to what to expect from data output (probe 1 connected):

2021-07-27 13:53:09,056 Pulse2000 DEBUG: Published temp: {1: 18.0, 2: False, 3: False, 4: False} and battery: 100.0 to topic outside/Pulse2000

From my understanding igrillv3 is fully integrated into the Pulse 2000 BBQ. Therefore the battery will always return 100%.

There are 4 probes. But I would have expected a 5th probe temperature for the grill itself?

   devices:
  - name:                   'Pulse2000'              # Unique name of the device
    type:                   'pulse_2000'             # Supported devices: igrill_mini, igrill_v2, igrill_v3, pulse_2000

You should have the ā€œoutside/Pulse2000/heating_elementā€ as well. It has two temperature zones ( on the pulse 2000 itself you can see only one) the output is like this ā€˜025 032 000 000ā€™. The first three numbers are for the first zone, the second three numbers are for the second zone. I donā€™t know what the last numbers are for.

With the new Bluetooth updates in 2022.8 would this be a candidate for an easier integration into HA?

5 Likes

Iā€™m also interested. I believe this may be possible with Bluetooth Proxy in the future as in the Home Assistant 2022.9 release notes it mentions that for the time being the proxy works for passive connections only, and it looks like the iGrill probes need an active connection, which will be supported in the future.
I might be wrong though as Iā€™m not an expert, hopefully someone else can comment.

1 Like

How are people handling the issue when bluetooth goes down? As an example, right now I have my igrill sensor probes shut off as well as the Pi, yet the states still have the last temperature reading. This is very deceiving when doing a cook, and the bluetooth loses connectivity and I am viewing old temperatureā€™s. How is everyone dealing with this? Thanks

I know this doesnā€™t help solve your problem, but itā€™s one of the many reasons I avoid bluetooth devices when there are alternatives.

check for ā€œsensor last updatedā€ timeā€¦create an automation that notifies you if the weber sensor hasnā€™t updated in two (or whatever you want) minutes.

egā€¦one discussion: Sensor - last updated monitor - Configuration - Home Assistant Community (home-assistant.io)

I figured out how to do i. I added a an expire_after value in seconds. Seems to have done the trick so after 5 minutes of no mqtt the state changes to unavailable.

mqtt:
  sensor:
    - name: "Probe 1"
      state_topic: "bbq/grill/probe1"
      qos: 0
      unit_of_measurement: "Ā°F"
      expire_after: 300

Hi. Since it looks like many of you were using my project (GitHub - bendikwa/igrill: Hacking the iGrill (mini, V2, V3 & Pulse 2000)) to connect your IGrills to Home Assistant, I would just like to let you know that I have archived it today. The reason is that I have not had the time to follow it up properly the last couple of years, and a lot of the code was not optimal.
Instead, I have made a custom component to ESPHome to do the same. GitHub - bendikwa/esphome-igrill: ESPHome Custom Component for the iGrill Bluetooth Thermometers
Hopefully this is both more stable, and easier to use. (requires an ESP32 to connect to the IGrill)

Feel free to fork the igrill repo if you want to keep it alive.

-Bendik

3 Likes

Nice, will give it a crack with my v2 and let you know how it goesā€¦

Also, in your config example you have ā€œIGillā€ :rofl:

1 Like

:man_facepalming: Fixed now. Tnx.

I can confirm it works with the v2. The one thing I see is that it sends the readings with a celcius symbol even though my igrill is set to fahrenheit and my reading are in fahrenheit. Given that my HA instance is set to imperial it thinks it needs to convert the reading to fahrenheit for me, which it doesnā€™t, since they already are in that scale. Any way to make that a config? I just have the one probe plugged in for this example, and it is not quite that warm in my study :slight_smile:
Screenshot 2022-12-13 at 11.12.19 AM

Yes, I know. Automatic detection if measurement unit is on my list.
The only place I have set Celcius is here: esphome-igrill/sensor.py at 0f79792fa3719867da7bcbcbf85188ee7ba76bbf Ā· bendikwa/esphome-igrill Ā· GitHub
Does it help to add unit_of_measurement: "Ā°F" to the probes?
Like this for each probe:

    temperature_probe1:
      name: "v2 temp 1"
      unit_of_measurement: "Ā°F"

ref.

1 Like

That did the trick. Works perfectly!!! Thank you for all your work on this over the years. I continue to use it frequently with my Traeger. While I have updated my Traeger I am still using my trusty igrill v2. Given the debacle Traeger had with their app on Thanksgiving where you could not log in, the igrill and this integration saved my turkey. :slight_smile:

1 Like

Great. Added it to the README and example conf now.
Thanks for testing.

1 Like