Table Of Contents

Previous topic

Introduction

Next topic

Exceptions

This Page

API

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
class cyberqinterface.CyberQInterface(host=None, headers=None)[source]

Web Interface to BBQ Guru’s CyberQ Temperature Controller System.

getAll()[source]

Get All parameters from CyberQ

Keyword arguments: None

Returns: All Object

Example Usage: cqi.getAll()

getAllXML()[source]

Get AllXML from CyberQ

Keyword arguments: None

Returns: All Xml

Example Usage: cqi.getAllXML()

getConfig()[source]

Get Configuration from CyberQ

Keyword arguments: None

Returns: Config Object

Example Usage: print cqi.getConfig().FOOD1_TEMP

getConfigXML()[source]

Get ConfigXML from CyberQ

Keyword arguments: None

Returns: Config Object in XML

Example Usage: cqi.getStatus()

getStatus()[source]

Get Status from CyberQ

Keyword arguments: None

Returns: Status Object

Example Usage: print cqi.getStatus().FOOD1_TEMP

getStatusXML()[source]

Get StatusXML from CyberQ

Keyword arguments: None

Returns: Status Object

Example Usage: cqi.getStatusXML()

rampLookup(code)[source]

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(parameters)[source]
Description:

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'})
statusLookup(code)[source]

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)

temperatureLookup(code)[source]

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)

Inheritance

Inheritance diagram of cyberqinterface