tuya-local
tuya-local copied to clipboard
Request support for MoistenLand Water Timer
MoistenLand Bluetooth Water Timer VIA Tuya Gateway GWB-03 Seems to work well when persist is set to false in the Device Specific Yaml file. Had several timeouts in TinyTuya, not sure if there are some other settings I should try. Most errors were due to response from an unexpected CID.
-->
Log Message from HomeAssistant
2023-09-13 13:37:10.491 DEBUG (SyncWorker_1) [custom_components.tuya_local.device] Front Lawn (Local) refreshed device state: {"dps": {"1": true, "4": 0, "7": 100, "8": "high", "10": "cancel", "11": 300, "12": "manual"}, "cid": "**RETRACTED**", "device": "Non-JSON: (Device( '**RETRACTED**', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='**RETRACTED**', parent='**RETRACTED**', children={} ))"}
2023-09-13 13:37:10.491 DEBUG (SyncWorker_1) [custom_components.tuya_local.device] new state (incl pending): {"updated_at": 1694637430.4895597, "1": true, "4": 0, "7": 100, "8": "high", "10": "cancel", "11": 300, "12": "manual"}
2023-09-13 14:49:03.430 DEBUG (SyncWorker_1) [custom_components.tuya_local.device] Back Lawn (Local) refreshed device state: {"dps": {"1": true, "4": 0, "7": 100, "8": "high", "10": "cancel", "11": 600, "12": "manual", "15": 18}, "cid": "RETRACTED", "device": "Non-JSON: (Device( 'RETRACTED', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='RETRACTED', parent='RETRACTED', children={} ))"}
MoistenLand.yaml via Bluetooth Gateway GWB-03 - Edited September 14, to remove persist per comment, as it is not applied correctly. Applied persist: False to DP:15 as it will only report if the watering timer has a "Watering Time last cycle" value.
name: Moistenland Irrigation
products:
- id: 8t5hebn0
name: MoistenLand Timer
primary_entity:
entity: switch
icon: mdi:sprinkler-variant
dps:
- id: 1
name: switch
type: boolean
secondary_entities:
- entity: sensor
name: Fault reporting
category: diagnostic
icon: mdi:alert-circle
dps:
- id: 4
type: integer
name: sensor
- entity: sensor
name: Battery
class: battery
category: diagnostic
icon: mdi:battery
dps:
- id: 7
type: integer
name: sensor
unit: "%"
- entity: sensor
name: Battery Status
class: enum
category: diagnostic
dps:
- id: 8
type: string
name: sensor
mapping:
- dps_val: "low"
value: "Replace Battery"
- dps_val: "middle"
value: "Battery Ok"
- dps_val: "high"
value: "Fully Charged"
- entity: select
name: Weather delay
icon: "mdi:weather-cloudy-clock"
category: config
dps:
- id: 10
type: string
name: option
mapping:
- dps_val: "cancel"
value: "Off"
- dps_val: "24h"
value: "1 day"
- dps_val: "48h"
value: "2 days"
- dps_val: "72h"
value: "3 days"
- entity: number
category: config
name: Timer
icon: "mdi:timer"
dps:
- id: 11
name: value
type: integer
unit: min
range:
min: 0
max: 86400
mapping:
- scale: 60
step: 60
- entity: sensor
name: Work Mode
class: enum
category: diagnostic
icon: mdi:auto-mode
dps:
- id: 12
type: string
name: sensor
mapping:
- dps_val: "manual"
value: "Manual"
- dps_val: "auto"
value: "Auto"
- dps_val: "idle"
value: "Idle"
- entity: sensor
name: Use_Time_s
category: diagnostic
icon: mdi:water-circle
persist: False
dps:
- id: 15
type: integer
name: sensor
range:
min: 0
max: 86400
unit: min
mapping:
- scale: 60
step: 60
TinyTuya Test Script.
import tinytuya
import time
tinytuya.set_debug(True)
# Connect to Device
gw_id='REDACTED'
dev_id='REDACTED'
address='REDACTED' # Or set to 'Auto' to auto-discover IP address
local_key="REDACTED"
did='REDACTED'
did2='REDACTED'
version="3.4"
loopcount = 0
# Get Status
gw = tinytuya.Device(gw_id,address,local_key,'device22',persist=False)
gw.set_version(3.4)
api = tinytuya.Device(gw_id,cid=did,parent=gw)
api2 = tinytuya.Device(gw_id,cid=did2,parent=gw)
while loopcount <= 10:
api.set_value(1, True)
time.sleep(5)
api2.set_value(1, True)
time.sleep(30)
api.set_value(1, False)
time.sleep(5)
api2.set_value(1, False)
time.sleep(5)
print('Status from device 1')
print(api.status())
time.sleep(5)
print('Status from device 2')
print(api2.status())
loopcount = loopcount + 1
TinyTuya Log File
[https://drive.google.com/file/d/17VKOZ7PuwQ4lgyeu-mAkl1vqwv52F17e/view?usp=sharing](url)
Issue I'm having is one of the sensors (Usually the back lawn) becomes unavailable often in LocalTuya. When it happens, the same issue is happening in TinyTuya. The device returns a null value. Any ideas on how to approach this?
2023-09-13 14:35:32.372 DEBUG (SyncWorker_1) [custom_components.tuya_local.device] Back Lawn (Local) refreshed device state: null
2023-09-13 14:35:32.372 DEBUG (SyncWorker_1) [custom_components.tuya_local.device] new state (incl pending): {"updated_at": 0}
2023-09-13 14:35:32.372 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] No mapping for dpid 4 (sensor), unable to determine valid values
persist: false is set at the dp level, not the product level, and causes the dp to clear if it is not sent by the device.
It has some specific use cases, mainly for binary_sensors which should probably be events, for things like remote control buttons.
I think what you are trying to do is set the connection to polling. This is done from the device config in the HA UI, not from the config file.
Hi, Thanks for the response.
I think this gateway, GWB-03 has the same issue as issue #1054 . If I only have one water timer on and polling through localtuya it seems to update fine without issue. As soon as I add the second one, the timers exhibit odd behaviours such as the Bluetooth Gateway responding with Null or responding with stale values, or the timers becoming unavailable.
When this happens, I can still enable bluetooth on my phone, connect to the individual devices and see the information updating or start/stop the timers.
What I'm trying to do is make sure that only 1 connection to the bluetooth gateway persists for the two children. Either by closing the connection and re-opening it, or by maintaining the 1 connection to the gateway and monitoring for the two CIDs.
I'm a little new to this, but keen to learn.
After further investigation, I've found this product has an odd behaviour. The following is observed testing with a single bluetooth water timer connected through the gateway:
- The bluetooth gateway GWB-03 provides cached data to Local Tuya when the status is requested. It seems like the cached data is not updated from the bluetooth device until a write command is issued to the device. The device then sends updated data to the bluetooth gateway within about 60 seconds.
Not sure if there is a way to handle this within Tuya-Local itself. I've just written an automation to check if Work_State is "manual" every 5 minutes and if so write DP:10 to "cancel"
This works to refresh the stale data.
Test Script
import tinytuya
import time
tinytuya.set_debug(False)
# Connect to Device
gw_id='MY_GW_ID'
dev_id='my_DEVID'
address='MY_IP' # Or set to 'Auto' to auto-discover IP address
local_key="My_LOCALKEY"
did='MY_UID_FRONT' #Front Lawn
did2='MY_UID_BACK' #Back Lawn
version="3.4"
loopcount = 0
# Get Status
gw = tinytuya.Device(gw_id,address,local_key,persist=True)
gw.set_version(3.4)
api = tinytuya.Device(gw_id,cid=did,parent=gw)
api2 = tinytuya.Device(gw_id,cid=did2,parent=gw)
print('\nTesting enabling of timer from Multiple DPs. Timer Set at 60s Looping for 30min \n')
api2.set_multiple_values({'11': 60, '1': True})
loopcount = 0
while loopcount <= 59:
print("\nTime Elapsed: " + str(loopcount * 30) + "s\n")
if (loopcount) == 55:
print("\nWriting DP:10 to 'cancel' to force update\n")
api2.set_value("10", "cancel")
print(api2.status())
time.sleep(30)
loopcount = loopcount + 1
print("\nTest Complete\n")
Test Results
Testing enabling of timer from Multiple DPs. Timer Set at 60s Looping for 30min
Time Elapsed: 0s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 30s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 60s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 90s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 120s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 150s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 180s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 210s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 240s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 270s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 300s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 330s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 360s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 390s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 420s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 450s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 480s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 510s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 540s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 570s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 600s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 630s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 660s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 690s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 720s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 750s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 780s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 810s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 840s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 870s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 900s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 930s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 960s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 990s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1020s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1050s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1080s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1110s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1140s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1170s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1200s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1230s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1260s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1290s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1320s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1350s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1380s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1410s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1440s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1470s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1500s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1530s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1560s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1590s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1620s
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1650s
Writing DP:10 to 'cancel' to force update
{'dps': {'1': True, '4': 0, '7': 100, '8': 'high', '10': 'cancel', '11': 59, '12': 'manual', '15': 600}, 'cid': 'SUBDEVICECID', 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1680s
{'protocol': 4, 't': 1694702172, 'data': {'dps': {'1': False, '12': 'idle'}, 'cid': 'SUBDEVICECID'}, 'dps': {'1': False, '12': 'idle'}, 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1710s
{'protocol': 4, 't': 1694702172, 'data': {'dps': {'11': 60}, 'cid': 'SUBDEVICECID'}, 'dps': {'11': 60}, 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1740s
{'protocol': 4, 't': 1694702172, 'data': {'dps': {'16': 'AQ=='}, 'cid': 'SUBDEVICECID'}, 'dps': {'16': 'AQ=='}, 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Time Elapsed: 1770s
{'protocol': 4, 't': 1694702172, 'data': {'dps': {'17': 'AQ=='}, 'cid': 'SUBDEVICECID'}, 'dps': {'17': 'AQ=='}, 'device': Device( 'GATEWAY_ID', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='SUBDEVICECID', parent='GATEWAY_ID', children={} )}
Test Complete