smartthings
Platypush documentation
smartthings
- class platypush.plugins.smartthings.SmartthingsPlugin(access_token: str, **kwargs)[source]
Bases:
SwitchPlugin
Plugin to interact with devices and locations registered to a Samsung SmartThings account.
Requires:
pysmartthings (
pip install pysmartthings
)
- __init__(access_token: str, **kwargs)[source]
- Parameters:
access_token – SmartThings API access token - you can get one at https://account.smartthings.com/tokens.
- execute(device: str, capability: str, command, component_id: str = 'main', args: Optional[list] = None)[source]
Execute a command on a device.
Example request to turn on a device with
switch
capability:{ "type": "request", "action": "smartthings.execute", "args": { "device": "My Switch", "capability": "switch", "command": "on" } }
- Parameters:
device – Device ID or name.
capability – Property to be read/written (see device
capabilities
returned fromget_device()
).command – Command to execute on the
capability
(see https://smartthings.developer.samsung.com/docs/api-ref/capabilities.html).component_id – ID of the component to execute the command on (default:
main
, i.e. the device itself).args – Command extra arguments, as a list.
- get_device(device: str) dict [source]
Get a device info by ID or name.
- Parameters:
device – Device ID or name.
- Returns:
"tv-switch-id": { "capabilities": [ "switch", "refresh", "healthCheck" ], "device_id": "tv-switch-id", "device_type_id": null, "device_type_name": null, "device_type_network": null, "location_id": "location-id", "name": "TV Smart Switch", "room_id": "room-1" }
- get_location(location_id: Optional[str] = None, name: Optional[str] = None) dict [source]
Get the info of a location by ID or name.
{ "name": "My home", "location_id": "location-id", "country_code": "us", "locale": "en-US", "latitude": "latitude", "longitude": "longitude", "temperature_scale": null, "region_radius": null, "timezone_id": null, "rooms": { "room-1": { "background_image": null, "location_id": "location-1", "name": "Living Room", "room_id": "room-1" }, "room-2": { "background_image": null, "location_id": "location-1", "name": "Bedroom", "room_id": "room-2" } } }
- info() Dict[str, Dict[str, dict]] [source]
Return the objects registered to the account, including locations and devices.
{ "devices": { "smart-tv-id": { "capabilities": [ "ocf", "switch", "audioVolume", "audioMute", "tvChannel", "mediaInputSource", "mediaPlayback", "mediaTrackControl", "custom.error", "custom.picturemode", "custom.soundmode", "custom.accessibility", "custom.launchapp", "custom.recording", "custom.tvsearch", "custom.disabledCapabilities", "samsungvd.ambient", "samsungvd.ambientContent", "samsungvd.ambient18", "samsungvd.mediaInputSource", "refresh", "execute", "samsungvd.firmwareVersion", "samsungvd.supportsPowerOnByOcf" ], "device_id": "smart-tv-id", "device_type_id": null, "device_type_name": null, "device_type_network": null, "location_id": "location-id", "name": "Samsung Smart TV", "room_id": "room-1" }, "tv-switch-id": { "capabilities": [ "switch", "refresh", "healthCheck" ], "device_id": "tv-switch-id", "device_type_id": null, "device_type_name": null, "device_type_network": null, "location_id": "location-id", "name": "TV Smart Switch", "room_id": "room-1" }, "lights-switch-id": { "capabilities": [ "switch", "refresh", "healthCheck" ], "device_id": "lights-switch-id", "device_type_id": null, "device_type_name": null, "device_type_network": null, "location_id": "location-id", "name": "Lights Switch", "room_id": "room-2" } }, "locations": { "location-id": { "name": "My home", "location_id": "location-id", "country_code": "us", "locale": "en-US", "latitude": "latitude", "longitude": "longitude", "temperature_scale": null, "region_radius": null, "timezone_id": null, "rooms": { "room-1": { "background_image": null, "location_id": "location-1", "name": "Living Room", "room_id": "room-1" }, "room-2": { "background_image": null, "location_id": "location-1", "name": "Bedroom", "room_id": "room-2" } } } } }
- off(device: str, *args, **kwargs) dict [source]
Turn off a device with
switch
capability.- Parameters:
device – Device name or ID.
- Returns:
Device status
- on(device: str, *args, **kwargs) dict [source]
Turn on a device with
switch
capability.- Parameters:
device – Device name or ID.
- Returns:
Device status
- status(device: Optional[Union[str, List[str]]] = None) List[dict] [source]
Refresh and return the status of one or more devices.
- Parameters:
device – Device or list of devices to refresh (default: all)
- Returns:
A list containing on entry per device, and each entry containing the current device state. Example:
[ { "device_id": "switch-1", "name": "Fan", "switch": false }, { "device_id": "tv-1", "name": "Samsung Smart TV", "switch": true } ]