bloodtick / Hubitat

4 stars 3 forks source link

[NEW DEVICE SUPPORT] Tapo C125 Camera #14

Open RadDip opened 9 months ago

RadDip commented 9 months ago

Requesting New Device support. Comments: Kindly requesting support for Tapo Cameras

COPY REPLICA METADATA BELOW THIS LINE [{ "DESCRIPTION": {"allowed":null,"components":[{"capabilities":[{"id":"refresh","version":1},{"id":"healthCheck","version":1},{"id":"videoStream","version":1},{"id":"motionSensor","version":1}],"categories":[{"categoryType":"manufacturer","name":"Camera"}],"id":"main","label":"main"}],"createTime":"2024-02-10T06:40:20.579Z","deviceId":"hidden","deviceManufacturerCode":"TP-Link","executionContext":"CLOUD","label":"Tapo Office Camera","locationId":"hidden","manufacturerName":"SmartThings","name":"c2c-tplink-camera-motion","ownerId":"b60d5529-f841-cc3f-94be-14d4880bc655","presentationId":"SmartThings-smartthings-c2c-tplink-camera-motion","profile":{"id":"4b3c0011-ac79-4e5e-9987-416024379226"},"restrictionTier":0,"roomId":"hidden","type":"VIPER","viper":{"endpointAppId":"viper_7ea6bb80-b876-11eb-be42-952f31ab3f7b","hwVersion":"1.0","manufacturerName":"TP-Link","modelName":"C125 1.0","swVersion":"1.1.7 Build 231222 Rel.64156n","uniqueIdentifier":"802194B1D13E836D51A07B1A6A58DAFA21F0DBC1"}} }, { "CAPABILITIES": {"components":[{"attributes":{},"commands":{"refresh":{"arguments":[],"name":"refresh"}},"ephemeral":false,"id":"refresh","name":"Refresh","status":"live","version":1},{"attributes":{"DeviceWatch-DeviceStatus":{"enumCommands":[],"schema":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"badProperty":{"type":"string"},"deviceScheme":{"enum":["MIXED","TRACKED","UNTRACKED"],"type":"string"},"reason":{"enum":["INVALID-ACCESS-TOKEN","INTEGRATION-OFFLINE","DEVICE-OFFLINE","DEVICE-DELETED","DEVICE-UNAVAILABLE","DEVICE-UNDISCOVERED"],"type":"string"}},"required":[],"type":"object"},"value":{"enum":["online","offline"],"type":"string"}},"required":["value"],"type":"object"}},"DeviceWatch-Enroll":{"enumCommands":[],"schema":{"additionalProperties":false,"properties":{"value":{"additionalProperties":false,"properties":{"hubHardwareId":{"maxLength":255,"title":"String","type":"string"},"protocol":{"enum":["zigbee","zwave","bluetooth","lan","cloud","unknown","ocf","mqtt"],"title":"DeviceHealthProtocol","type":"string"},"scheme":{"enum":["MIXED","TRACKED","UNTRACKED"],"type":"string"}},"title":"DeviceHealthEnroll","type":"object"}},"required":["value"],"type":"object"}},"checkInterval":{"enumCommands":[],"schema":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"badProperty":{"type":"string"},"deviceScheme":{"enum":["MIXED","TRACKED","UNTRACKED"],"type":"string"},"hubHardwareId":{"pattern":"removed","type":"string"},"offlinePingable":{"enum":["0","1"],"type":"string"},"protocol":{"enum":["zigbee","zwave","bluetooth","lan","cloud","unknown","ocf","mqtt"],"title":"DeviceHealthProtocol","type":"string"}},"required":[],"type":"object"},"unit":{"default":"s","enum":["s"],"type":"string"},"value":{"maximum":604800,"minimum":0,"type":"integer"}},"required":["value"],"type":"object"}},"healthStatus":{"enumCommands":[],"schema":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"badProperty":{"type":"string"},"deviceScheme":{"enum":["MIXED","TRACKED","UNTRACKED"],"type":"string"},"reason":{"enum":["INVALID-ACCESS-TOKEN","INTEGRATION-OFFLINE","DEVICE-OFFLINE","DEVICE-DELETED","DEVICE-UNAVAILABLE","DEVICE-UNDISCOVERED"],"type":"string"}},"required":[],"type":"object"},"value":{"enum":["online","offline"],"type":"string"}},"required":["value"],"type":"object"}}},"commands":{"ping":{"arguments":[],"name":"ping"}},"ephemeral":false,"id":"healthCheck","name":"Health Check","status":"live","version":1},{"attributes":{"stream":{"enumCommands":[],"schema":{"additionalProperties":false,"properties":{"value":{"title":"JsonObject","type":"object"}},"required":["value"],"type":"object"}}},"commands":{"startStream":{"arguments":[],"name":"startStream"},"stopStream":{"arguments":[],"name":"stopStream"}},"ephemeral":false,"id":"videoStream","name":"Video Stream","status":"live","version":1},{"attributes":{"motion":{"enumCommands":[],"schema":{"additionalProperties":false,"properties":{"value":{"enum":["active","inactive"],"title":"ActivityState","type":"string"}},"required":["value"],"type":"object"}}},"commands":{},"ephemeral":false,"id":"motionSensor","name":"Motion Sensor","status":"live","version":1}]} }, { "STATUS": {"components":{"main":{"healthCheck":{"DeviceWatch-DeviceStatus":{"data":{},"timestamp":"2024-02-10T06:40:21.432Z","value":"online"},"DeviceWatch-Enroll":{"value":null},"checkInterval":{"data":{"deviceScheme":"UNTRACKED","protocol":"cloud"},"timestamp":"2024-02-10T06:40:20.701Z","unit":"s","value":60},"healthStatus":{"value":null}},"motionSensor":{"motion":{"timestamp":"2024-02-10T06:40:21.432Z","value":"inactive"}},"refresh":{},"videoStream":{"stream":{"timestamp":"2024-02-10T06:42:36.674Z","value":{"InHomeURL":""}}}}}} }, { "RULES": {"components":[{"command":{"capability":"alarm","label":"command: both()","name":"both","type":"command"},"trigger":{"label":"command: both()","name":"both","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"alarm","label":"command: strobe()","name":"strobe","type":"command"},"trigger":{"label":"command: strobe()","name":"strobe","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"alarm","label":"command: siren()","name":"siren","type":"command"},"trigger":{"label":"command: siren()","name":"siren","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"videoStream","label":"command: startStream()","name":"startStream","type":"command"},"trigger":{"label":"command: startStream()","name":"startStream","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"videoStream","label":"command: stopStream()","name":"stopStream","type":"command"},"trigger":{"label":"command: stopStream()","name":"stopStream","type":"command"},"type":"hubitatTrigger"},{"command":{"arguments":[{"name":"startTime","optional":false,"schema":{"title":"Iso8601Date","type":"string"}},{"name":"captureTime","optional":false,"schema":{"title":"Iso8601Date","type":"string"}},{"name":"endTime","optional":false,"schema":{"title":"Iso8601Date","type":"string"}},{"name":"correlationId","optional":true,"schema":{"maxLength":255,"title":"String","type":"string"}},{"name":"reason","optional":true,"schema":{"maxLength":255,"title":"String","type":"string"}}],"capability":"videoCapture","label":"command: capture(startTime, captureTime, endTime, correlationId, reason)","name":"capture","type":"command"},"trigger":{"label":"command: capture(startTime, captureTime, endTime, correlationId, reason)","name":"capture","parameters":[{"name":"startTime","type":"STRING"},{"data":"captureTime","name":"captureTime","type":"STRING"},{"data":"endTime","name":"endTime","type":"STRING"},{"data":"correlationId","name":"correlationId","type":"STRING"},{"data":"reason","name":"reason","type":"STRING"}],"type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"switch","label":"command: on()","name":"on","type":"command"},"trigger":{"label":"command: on()","name":"on","type":"command"},"type":"hubitatTrigger"},{"command":{"label":"command: setSwitchValue(switch)","name":"setSwitchValue","parameters":[{"name":"switch","type":"ENUM"}],"type":"command"},"trigger":{"additionalProperties":false,"attribute":"switch","capability":"switch","label":"attribute: switch.","properties":{"value":{"title":"SwitchState","type":"string"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setAlarmValue(alarm)","name":"setAlarmValue","parameters":[{"name":"alarm","type":"ENUM"}],"type":"command"},"trigger":{"additionalProperties":false,"attribute":"alarm","capability":"alarm","label":"attribute: alarm.","properties":{"value":{"title":"AlertState","type":"string"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setBatteryValue(battery)","name":"setBatteryValue","parameters":[{"name":"battery","type":"NUMBER"}],"type":"command"},"mute":true,"trigger":{"additionalProperties":false,"attribute":"battery","capability":"battery","label":"attribute: battery.","properties":{"unit":{"default":"%","enum":["%"],"type":"string"},"value":{"maximum":100,"minimum":0,"type":"integer"}},"required":["value"],"title":"IntegerPercent","type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setPushedValue(buttonNumber)","name":"setPushedValue","parameters":[{"name":"buttonNumber","type":"NUMBER"}],"type":"command"},"disableStatus":true,"trigger":{"additionalProperties":false,"attribute":"button","capability":"button","dataType":"ENUM","label":"attribute: button.pushed","properties":{"value":{"title":"ButtonState","type":"string"}},"required":["value"],"type":"attribute","value":"pushed"},"type":"smartTrigger"},{"command":{"label":"command: setHeldValue(buttonNumber)","name":"setHeldValue","parameters":[{"name":"buttonNumber","type":"NUMBER"}],"type":"command"},"disableStatus":true,"trigger":{"additionalProperties":false,"attribute":"button","capability":"button","dataType":"ENUM","label":"attribute: button.held","properties":{"value":{"title":"ButtonState","type":"string"}},"required":["value"],"type":"attribute","value":"held"},"type":"smartTrigger"},{"command":{"label":"command: setHealthStatusValue(healthStatus)","name":"setHealthStatusValue","parameters":[{"name":"healthStatus","type":"ENUM"}],"type":"command"},"mute":true,"trigger":{"additionalProperties":false,"attribute":"healthStatus","capability":"healthCheck","label":"attribute: healthStatus.","properties":{"value":{"title":"HealthState","type":"string"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setMotionValue(motion)","name":"setMotionValue","parameters":[{"name":"motion","type":"ENUM"}],"type":"command"},"trigger":{"additionalProperties":false,"attribute":"motion","capability":"motionSensor","label":"attribute: motion.","properties":{"value":{"title":"ActivityState","type":"string"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setSoundValue(sound)","name":"setSoundValue","parameters":[{"name":"sound","type":"ENUM"}],"type":"command"},"trigger":{"additionalProperties":false,"attribute":"sound","capability":"soundSensor","label":"attribute: sound.","properties":{"value":{"type":"string"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setNumberOfButtonsValue(numberOfButtons)","name":"setNumberOfButtonsValue","parameters":[{"name":"numberOfButtons","type":"NUMBER"}],"type":"command"},"mute":true,"trigger":{"additionalProperties":false,"attribute":"numberOfButtons","capability":"button","label":"attribute: numberOfButtons.","properties":{"value":{"minimum":0,"title":"PositiveInteger","type":"integer"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"capability":"switch","label":"command: switch:off()","name":"off","type":"command"},"trigger":{"label":"command: switchOff()","name":"switchOff","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"alarm","label":"command: alarm:off()","name":"off","type":"command"},"trigger":{"label":"command: alarmOff()","name":"alarmOff","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"switch","label":"command: switch:off()","name":"off","type":"command"},"trigger":{"label":"command: off()","name":"off","type":"command"},"type":"hubitatTrigger"},{"command":{"capability":"alarm","label":"command: alarm:off()","name":"off","type":"command"},"trigger":{"label":"command: off()","name":"off","type":"command"},"type":"hubitatTrigger"},{"command":{"label":"command: setSupportedButtonValuesValue(supportedButtonValues)","name":"setSupportedButtonValuesValue","parameters":[{"name":"supportedButtonValues","type":"JSON_OBJECT"}],"type":"command"},"disableStatus":true,"mute":true,"trigger":{"additionalProperties":false,"attribute":"supportedButtonValues","capability":"button","label":"attribute: supportedButtonValues.","properties":{"value":{"items":{"enum":["pushed","held","double","pushed_2x","pushed_3x","pushed_4x","pushed_5x","pushed_6x","down","down_2x","down_3x","down_4x","down_5x","down_6x","down_hold","up","up_2x","up_3x","up_4x","up_5x","up_6x","up_hold","swipe_up","swipe_down","swipe_left","swipe_right"],"title":"ButtonState","type":"string"},"type":"array"}},"required":[],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setDoubleTappedValue(buttonNumber)","name":"setDoubleTappedValue","parameters":[{"name":"buttonNumber","type":"NUMBER"}],"type":"command"},"disableStatus":true,"trigger":{"additionalProperties":false,"attribute":"button","capability":"button","dataType":"ENUM","label":"attribute: button.double","properties":{"value":{"title":"ButtonState","type":"string"}},"required":["value"],"type":"attribute","value":"double"},"type":"smartTrigger"},{"command":{"label":"command: setStreamValue(stream)","name":"setStreamValue","parameters":[{"name":"stream","type":"JSON_OBJECT"}],"type":"command"},"disableStatus":true,"mute":true,"trigger":{"additionalProperties":false,"attribute":"stream","capability":"videoCapture","label":"attribute: stream.","properties":{"value":{"title":"JsonObject","type":"object"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"},{"command":{"label":"command: setClipValue(clip)","name":"setClipValue","parameters":[{"name":"clip","type":"JSON_OBJECT"}],"type":"command"},"disableStatus":true,"mute":true,"trigger":{"additionalProperties":false,"attribute":"clip","capability":"videoCapture","label":"attribute: clip.*","properties":{"value":{"title":"JsonObject","type":"object"}},"required":["value"],"type":"attribute"},"type":"smartTrigger"}],"version":1} }]