Comments (15)
Got it to work :)
I will work on prettying up the code and then create a pull request
from igrill.
If you have an Android device you can scan for UUID codes with this app https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner
from igrill.
My guess is that these two (or one) lines is needed for the internal temperature probe in igrill.py
#Pulse 1000
PROBE5_TEMPERATURE = btle.UUID('06ef000A-2e06-4b79-9e33-fce2c42805ec')
PROBE5_THRESHOLD = btle.UUID('06ef000B-2e06-4b79-9e33-fce2c42805ec')
#Pulse 2000? havent seen these actual values, just an educated guess with C and D
PROBE6_TEMPERATURE = btle.UUID('06ef000C-2e06-4b79-9e33-fce2c42805ec')
PROBE7_THRESHOLD = btle.UUID('06ef000D-2e06-4b79-9e33-fce2c42805ec')
from igrill.
The 4 probes are the same UUID as the standard igrill.
The main heating element temperatures and setpoint are communicated on UUID 6c91000a-58dc-41c7-943f-518b278ceaaa. The return example is 20 30 32 30 20 30 31 35 20 30 30 30 20 30 30 30 which can be converted HextoASCII into "020 015 000 000" which can be read as actual temp left element, right element. Temp setpoint left right.
Authentication is not working and thus I cannot read the probe temperatures so I need to figure out how to debug that, any tips?
from igrill.
Hi
It would be cool to be able to support the pulse 2000, unfortunately, I don’t think I can help much. The original authentication code is from the first fork, https://github.com/onlywade/igrill and the updated authentication method was contributed by kins-dev: https://blog.kins.dev/2019/04/igrill-device-support-for-igrill-smoker.html
So other than turning the debug logging on, and trying to see where it fails, I don’t have any good ideas.
from igrill.
Yeah I'm not experienced with Python so I'm figuring it out as I go through here. It gets stuck after sending key of all 0's (that is a message with debug on). It just never moves past that. The code i'm using for now is just exactly your code with this for the device.yaml:
`
devices:
- name: 'Pulse2000' # Unique name of the device
type: 'igrill_v3' # Supported devices: igrill_mini, igri$
address: '70:91:8F:7B:1A:6C' # The MAC of the device
topic: 'temperature/outside' # The topic to publish on. will have n$
interval: 20 # Polling interval
`
Can you help modify the code to check the extra UUID for the central heating zones actual temperature and setpoints? Also if we specify the pulse device we can disable the battery check.
I have ordered a BLE sniffer (Adafruit Bluefruit) so maybe I can use that to figure out the authentication method.
from igrill.
That sound like the same issue as "Getting stuck at authenticating"
Have you tried to use bluetoothctl to pair the iGrill first?
Or the trick in the readme: https://github.com/bendikwa/igrill#troubleshooting
from igrill.
Commenting out that line in the udev rules fixed the authentication, now to figure out how to read that main temperature :)
from igrill.
Pull request #16
from igrill.
I have merged the PR to https://github.com/bendikwa/igrill/tree/pulse2000_support and refactored the code a bit. Can you test to see that it still works?
Does the Pulse 2000 have a battery indicator? Or should we remove that?
-Bendik
from igrill.
That code looks much nicer, thanks :)
It does not have a battery but will report 100% whenever read, so it is safe to read. Just ignore it on the MQTT sensor level in HA.
I will test it out today.
from igrill.
Tested, working great!
You want to add this to the readme as an example of how to add the sensors in Home Assistant:
`
sensor:
-
platform: mqtt
state_topic: "temperature/outside/Pulse 2000/probe1"
name: "P2000 Probe 1"
qos: 0
unit_of_measurement: "ºC" -
platform: mqtt
state_topic: "temperature/outside/Pulse 2000/probe2"
name: "P2000 Probe 2"
qos: 0
unit_of_measurement: "ºC" -
platform: mqtt
state_topic: "temperature/outside/Pulse 2000/probe3"
name: "P2000 Probe 3"
qos: 0
unit_of_measurement: "ºC" -
platform: mqtt
state_topic: "temperature/outside/Pulse 2000/probe4"
name: "P2000 Probe 4"
qos: 0
unit_of_measurement: "ºC" -
platform: mqtt
state_topic: "temperature/outside/Pulse 2000/heating_element"
name: "P2000 Heating element"
qos: 0 -
platform: template
sensors:
p2000_left_element_actual:
value_template: "{{ states('sensor.p2000_heating_element').split(' ')[1]|int}}"
unit_of_measurement: 'ºC'
icon_template: mdi:grill
p2000_right_element_actual:
value_template: "{{ states('sensor.p2000_heating_element').split(' ')[2]|int}}"
unit_of_measurement: 'ºC'
icon_template: mdi:grill
p2000_left_element_setpoint:
value_template: "{{ states('sensor.p2000_heating_element').split(' ')[3]|int}}"
unit_of_measurement: 'ºC'
icon_template: mdi:grill
p2000_right_element_setpoint:
value_template: "{{ states('sensor.p2000_heating_element').split(' ')[4]|int}}"
unit_of_measurement: 'ºC'
icon_template: mdi:grill
`
from igrill.
On a seperate thought, since it only publishes a probe temp when it is connected it means that the non-connected probe's stay at the temperature they had the last time they were connected making it harder to see which are reporting. Should we tweak the temp reporting from the probes to just send a 0 or . when the 65356 value is read from the probes?
from igrill.
Great! I'll merge the Pulse 2000 support to master.
Regarding your two other suggestions:
-
I think that the Home Assistant information belongs in the Home Assistant forum. I dont actually use Home Assistant, so I will not be able to help with it. ;-)
-
On the subject of non-connected probes, I guess it is the same as #6 ? I have actually just pushed an attempt on a fix for this to a branch, hope to get it merged to master today.
from igrill.
Merged to master
from igrill.
Related Issues (20)
- Stuck at Authenticating HOT 4
- reconnect when disconnected HOT 4
- Propane Sensor? HOT 5
- Dockerfile to Support Ease of Installation for Raspberry Pi HOT 2
- external mqtt server not working HOT 7
- iGrill won't connect HOT 12
- NooB doing something dumb I'm sure HOT 11
- Failed to connect to peripheral HOT 7
- Enhancement Request - Home Assistant Add-on HOT 2
- Multiple iGrill device connections not working correctly HOT 2
- Questions HOT 2
- Lighted knobs support? HOT 2
- Negative Temperatures HOT 1
- No Pub to Topic HOT 4
- Docker image stopped working on Raspberry PI OS after full-upgrade HOT 3
- mqtt when using auth, username and password HOT 2
- changing probe, state of the entity is not changing to zero or to 'unknown'. HOT 5
- Remove pycrypto and iGrill Keys From the Code HOT 5
- (Not) connected-Message HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from igrill.