Monitor your iGrill (mini, v2 or v3) or Pulse 2000 (with a Raspberry Pi 1/2/3) via the web
This is a new fork designed to be much easier to get up and running. With this version you don't have to set up an MQTT server or web application. For the MQTT server we use HiveMQ's public server. For monitoring you can use the igrillWeb which I've hosted for you at http://igrill.herzig.net
Once you have your igrill connected you can type its bluetooth address in the web app and it will connect. It does this by naming the MQTT topic after your devices bluetooth address.
To see what this will look like you can see my iGrill which I try to keep up and running for demo purposes. The link is here:
http://igrillweb.herzig.net/index.html?address=D4:81:CA:22:AB:97
I'm looking for people to test and also help with the HTML editing.
Enjoy!
Changes over the original iGrillMon:
- Added better bluetooth recovery, especially when the OS grabs the bluetooth connection before the monitor
- Fixed a bug where ctl-c would not stop the app if the app was successfully connected and monitoring
- Rebuilt the MQ sessions around using the HiveMQ public broker. Now you don't need to worry about setting one up, but you still can if you'd like.'
- Changed output to a single JSON message instead of using seperate channels with a payload of a single int.
- Now using the bluetooth address in the topic so that each user will be guaranteed a unique topic name.
I'm interested in others trying this out paired with the web app so let me know how it works for you!'
- An iGrill Device (and at least one probe) - iGrill mini, iGrill 2 or iGrill 3 or a Pulse2000
- A Raspberry Pi
- clone this repo
- install required modules using pip (see requirements.txt)
- Create a dir for your config file(s) (E.g. ./config)
- Add at least one device config (see ./exampleconfig/device.yaml) - You need the MAC address of your device, you can find it with
hcitool lescan
- start application
./monitor.py -c <path_to_config_dir
(or add -l debug) - enjoy
Modify examplescripts/igrill.service
to mach your setup and copy it to an appropriate place. E.g: /lib/systemd/system/igrill.service
Run systemctl daemon-reload && systemctl enable igrill && systemctl start igrill
Next time you reboot, the iGrill service will connect and reconnect if something goes wrong...
- Clone this repo
- Install docker on your system.
- Create a dir for your config file(s) (E.g. ./config)
- Add at least one device config (see ./exampleconfig/device.yaml) - You need the MAC address of your device, you can find it with
hcitool lescan
- Build Docker image:
docker build . -t igrill
- Run docker image, mounting the config folder:
docker run --network host --name igrill -v <path_to_config_dir>:/usr/src/igrill/config igrill
- Profit!
If your device is stuck on "Authenticating" the following has been reported to work:
- within the file /etc/bluetooth/main.conf under [Policy] check the existence of AutoEnable=true
- Comment out below line in /lib/udev/rules.d/90-pi-bluetooth.rules by prefixing "#" the line ACTION=="add", SUBSYSTEM=="bluetooth", KERNEL=="hci[0-9]*", RUN+="/bin/hciconfig %k up"
If you are struggling with flaky Bluetooth connection. (E.g. The device connects and works for a while, then disappears) Try to test without using onboard Bluetooth and WiFi at the same time. Either with a cabled Ethernet connection or with a separate WiFi or Bluetooth dongle.