Class to interface with BBQ Guru’s CyberQ Temperature Control System
ChangeLog:
Ver | Date | Editor | Notes |
---|---|---|---|
0.1 | 09/29/2012 | Bryan Kemp | Initial Commit |
0.9 | 11/03/2012 | Bryan Kemp | Added distools functionality |
1.0 | 03/29/2013 | Bryan Kemp | First release |
Web Interface to BBQ Guru’s CyberQ Temperature Controller System.
Get All parameters from CyberQ
Keyword arguments: None
Returns: All Object
Example Usage: cqi.getAll()
Get AllXML from CyberQ
Keyword arguments: None
Returns: All Xml
Example Usage: cqi.getAllXML()
Get Configuration from CyberQ
Keyword arguments: None
Returns: Config Object
Example Usage: print cqi.getConfig().FOOD1_TEMP
Get ConfigXML from CyberQ
Keyword arguments: None
Returns: Config Object in XML
Example Usage: cqi.getStatus()
Get Status from CyberQ
Keyword arguments: None
Returns: Status Object
Example Usage: print cqi.getStatus().FOOD1_TEMP
Get StatusXML from CyberQ
Keyword arguments: None
Returns: Status Object
Example Usage: cqi.getStatusXML()
Provides a text representation of the food that is monitored for ramping
Value from API | String Value |
---|---|
0 | OFF |
1 | FOOD1 |
2 | FOOD2 |
3 | FOOD3 |
Keyword arguments: <int> code - the code from the object or xml
Returns: <String> Which food, if any, is being monitored for ramping
Example Usage: cqi.rampLookup(cqi.getStatus().COOK_RAMP)
sendUpdate validates new parameters and sends update to CyberQ
Possible parameters:
Parameter Name | Definition |
---|---|
COOK_NAME | Pit Sensor name in plain text |
COOK_SET | Pit probe target temp in current units |
FOOD1_NAME | Food 1 name in plain text |
FOOD1_SET | Food probe 1 target temp in current units |
FOOD2_NAME | Food 2 name in plain text |
FOOD2_SET | Food probe 2 target temp in current units |
FOOD3_NAME | Food 3 name in plain text |
FOOD3_SET | Food probe 3 target temp in current units |
_COOK_TIMER | Set the countdown timer HH:MM:SS (must use urlencoded colons - %3A |
COOK_TIMER | Same as above - looks like you need to set both to keep changes across refresh? |
COOKHOLD | Cook and hold target temp in current units if timer is set to HOLD |
TIMEOUT_ACTION | What to do when timer hits 00:00:00 (0: No Action, 1: HOLD, 2: Alarm, 3:Shutdown) See 8.3.2 in manual |
ALARMDEV | Alarm deviation setpoint in current units (see 8.3.3 in Manual) |
COOK_RAMP | Which probe to use for Ramp mode (0: Off, 1: Food 1, 2: Food 2, 3:Food 3) |
OPENDETECT | Enable/Disable Lid Open detection (0: Off, 1:On) |
CYCTIME | Fan Cycle time in s (between 4 and 10 seconds) |
PROPBAND | Proportional band size (between 5-100 degF) |
MENU_SCROLLING | Enable/Disable LCD scrolling (0: Off, 1:On) |
LCD_BACKLIGHT | Enable/Disable LCD backlight (0: Off, 1:On) |
LCD_CONTRAST | Contrast percent? |
DEG_UNITS | Master Switch for degC/degF (0:degC, 1:degF) |
ALARM_BEEPS | Alarm beeps (0-5) |
KEY_BEEPS | Enable/Disable key beeps (0: Off, 1:On) |
Keyword arguments: <dictionary> Dictionary of values to be updated. Note: will be validated against list of known values
Returns: <Boolean> True if successful / False if not successful
Example Usage:
cqi.sendUpdate({'FOOD1_NAME' : "Tri-Tip Roast",
'FOOD1_SET': '140',
'COOK_SET' : '300'})
Provides a text meaning for a given status code “status” : [“OK”, “HIGH”, “LOW”, “DONE”, “ERROR”, “HOLD”, “ALARM”,
“SHUTDOWN”],
Value from API | String Value |
---|---|
0 | OK |
1 | HIGH |
2 | LOW |
3 | DONE |
4 | ERROR |
5 | HOLD |
6 | ALARM |
7 | SHUTDOWN |
Keyword arguments: <int> code - the code returned in the object or the XML.
Returns: <String> Meaning behind the code
Example Usage: cqi.statusLookup(cqi.getConfig().FOOD1_STATUS)
Provides a text meaning for the temperature scale in use temperature” : [“CELSIUS”, “FAHRENHEIT”]
Value from API | String Value |
---|---|
0 | CELSIUS |
1 | FAHRENHEIT |
Keyword arguments: <int> code - the code returned in the object or XML.
Returns: <String> ‘Celsius’ or ‘Fahrenheit’
Example Usage: cqi.temperatureLookup(cqi.getStatus().DEG_UNITS)