SDNick484 / rectec_status

Scripts to talk to RecTec pellet smokers with WiFi controllers
Apache License 2.0
29 stars 4 forks source link

rectec_status

Scripts to talk to Rec Tec Grills pellet smokers with the Rec Tec Wi-Pellet WiFi controllers. Supported models include the RT-340, RT-590, & RT-700 which all include the WiFi controller by default, and the RT-300 & RT-680 that are upgradable to the WiFi controller.

The WiFi controllers on Rec Tec smokers leverage the Tuya Smart IoT platform which can be reached over TCP or MQTT. The scripts currently leverage python-tuya and communicate via TCP on port 6668 over the LAN. Through additional exploration and collaboration, I'd like to expand the scripts to support remote access via MQTT.

Device Information

JSON schema has been posted, a quick summary is below:

{
    "devId": "##################", \\ 20 character device ID, not clear if its unique or same for all RecTecs
    "dps": {
        "1": false,   \\ "Power", bool, rw, True if on, False if off
        "102": 275,   \\ "Set_temp", number, rw, Target ("Set Point") temperature
        "103": 0,     \\ "Actual_temp", number, ro, Current ("Actual") temperature
        "104": 60,    \\ "Min_Feedrate", number, rw, Minimum feeding amount, 60 = 6.0%
        "105": 112,   \\ "Food_temp1", number, ro, "Probe A" temperature
        "106": 107,   \\ "Food_temp2", number, ro, "Probe B" temperature
        "107": 0,     \\ "Temp_adjust", number, rw, "Temperature Calibration"
        "108": false, \\ "Temp_unit", bool, ro, unavailable
        "109": false, \\ "ER1_alarm", bool, ro
        "110": false, \\ "ER2_alarm", bool, ro
        "111": false  \\ "ER3_alarm", bool, ro
    }
}

It also broadcasts over UDP port 6666 some potentially useful information in the format of:

{"ip":"xxx.xxx.xxx.xxx","gwId":"##################","active":2,"ability":0,"mode":0,"encrypt":true,"productKey":"yyyyyyyyyyyyyyyy","version":"3.1"}

where "ip" is the IP address of the controller, gwID is the devID in the JSON output above, and productKey is presumably some sort of key that will likely be required to set values.

Dependencies

Acknowledgements