Skip to content

Inkbird ITC-308 Err 914 After a While #659

@fernando-excelsense

Description

@fernando-excelsense

Hi,

I've been polling data from a WiFi enabled thermostat Inkbird ITC-308, but after a while the device keeps responding the following error.

{
    "Error": "Check device key or version",
    "Err": "914",
    "Payload": null
}

I was initially sampling like this every second and I got this error quite frequently. When I changed to sample every 15s, this only happened after a day of testing.

When it gets to this stage, the only way to recover is to power it off and on again. The thing is, the device is still responsive in the Tuya App, so I don't know what the issue really is and if it is preventable.

Any thoughts?

Here is my sample code

import tinytuya
import json
import requests

# "dps": {
#     "12": 0,
#     "101": "C",     // Units (C / F)
#     "102": 0,
#     "104": 236,     // Temperature (C) reported x 10
#     "106": 280,     // Set-point (temperature) x 10
#     "108": 0,
#     "109": 1000,
#     "110": -400,
#     "111": false,
#     "112": false,
#     "113": false,
#     "115": "3",
#     "116": 745,     // Temperature (F) reported (alternate) x 10
#     "117": 5,       // Hyst
#     "118": 5        // hyst
# }

# To generate devices.json file, use python -m tinytuya wizard and input the Tuya Development Platform information
devices_filename = 'devices.json'
file_contents = ''

try:
    with open(devices_filename, 'r') as f:
        file_contents = f.read()
except:
    print(f"File {devices_filename} not found. Exiting.")
    exit()

try:
    devices_info = json.loads(file_contents)
except:
    print(f"Failed to parse contents of {devices_filename} to json format. Exiting.")
    exit()

selected_device = 'Freezer'

selected_device_info = selected_device_info = next((d for d in devices_info if selected_device in d['name']), None)

# Connect to selected device
if (selected_device_info):

    d = tinytuya.OutletDevice(
        dev_id=selected_device_info['id'],
        address=selected_device_info['ip'],
        local_key=selected_device_info['key'], 
        version=3.4)

    # Get Status
    print(json.dumps(d.status() , indent=4))
    
    # Set to C
    d.set_value(101, "C")

    # Set heating, then cooling histeresys
    d.set_value(117, int(5))
    d.set_value(118, int(5))

    # Change setpoint
    d.set_value(106, int(300))
    exit()

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already existstuya_deviceSupport for specific Tuya Devices

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions