{"_id":"59e59378d9a506002eaab3f6","project":"568bdc1483d2061900d86cdc","version":{"_id":"59a72290d61777001b6c42c3","project":"568bdc1483d2061900d86cdc","__v":33,"createdAt":"2017-08-30T20:39:44.453Z","releaseDate":"2017-08-30T20:39:44.453Z","categories":["59a7236e3fe4d90025117c10","59a72eb6cb0db3001b84cfe2","59a734eb757d030019b85af8","59c0243b1b2d07001a9d2b76","59c035e42126e10028effb12","59c06c40df5b3c0010584a13","59c1a5852cabe5002641a3e7","59c2fb00b2b45c0010b7a3d7","59c32ceb9aea850010ac4130","59c32e6e190c90003cb0d12f","59c33affb2b45c0010b7aa23","59c7dfa457bd8200105444dc","59c7e975c50cf30010d712a0","59cffdef0cd4dd0010294d54","59d0622ca91a810032c8f60c","59d06733c1aec60026253065","59d174d44ac471001a07b123","59d5a5e323e6e800103defb2","59ecf1d8ed507c001c52b255","59f76fef8581dc0010593e6f","5a0c003680a35b0012c35db0","5a8358722e78660075e45f42","5a846645b5ec3a001203517e","5b258091bc7a6700033b9cb5","5b26e48e024807000315a740","5b44edff3306680003663f5c","5b468abd3d4a9e0003789111","5b468d8f3dcb6a0003c6e374","5b47b0b93d4a9e000378a33a","5b538d114ea24f00033c726f","5b6a0efe402b32000336c33f","5bba5e5d7ba7710003bd902a","5bc2703349ac3a0013eec3e5"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.0.0","version":"0"},"category":{"_id":"59cffdef0cd4dd0010294d54","project":"568bdc1483d2061900d86cdc","version":"59a72290d61777001b6c42c3","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-09-30T20:26:23.487Z","from_sync":false,"order":2,"slug":"platform-overview","title":"Platform Overview"},"user":"568bdbc4fe6fcc0d006dc970","githubsync":"","__v":2,"parentDoc":null,"updates":["5a5a85210c0e9000122e0135","5a634c5256e38f001208b37c"],"next":{"pages":[],"description":""},"createdAt":"2017-10-17T05:22:00.150Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":6,"body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Overview\"\n}\n[/block]\nA Droplit **environment** is the highest organizational level that may contain devices. It is also the highest level for which users may be granted permissions.\n\nGenerally, environments map one-to-one with a physical location or space. For example, a single building can be represented with an environment.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Environment Items\"\n}\n[/block]\nAn environment contains:\n* [Zones](doc:zones) \n* [Devices](doc:devices) \n[block:api-header]\n{\n  \"title\": \"Ownership and Access\"\n}\n[/block]\nIn order to interact with an environment, users must be granted access to it. A user is granted access to an environment by [updating](doc:users-create-update) the user's `access` parameter. \n\nAssets, conduits, and users may be shared across environments.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Commands\"\n}\n[/block]\nEnvironments are the highest scope to which commands can be issued. For example: Setting the property “BinarySwitch.switch” to “off” in an environment will set the property on all devices that implement the “BinarySwitch” service class.\n[block:api-header]\n{\n  \"title\": \"Metadata\"\n}\n[/block]\nCustom [metadata](doc:metadata) can be stored in an environment's record. Metadata is any data not pertinent to the operation of the environment, but is useful when presenting information to the users. Examples of metadata include labels, icons, and sorting metrics.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Aliasing\"\n}\n[/block]\nLike zones and devices, environments can be [aliased](doc:aliases).","excerpt":"Container for a location: A factory, an office, my house, the Holodeck, etc","slug":"environments","type":"basic","title":"Environments"}

Environments

Container for a location: A factory, an office, my house, the Holodeck, etc

[block:api-header] { "type": "basic", "title": "Overview" } [/block] A Droplit **environment** is the highest organizational level that may contain devices. It is also the highest level for which users may be granted permissions. Generally, environments map one-to-one with a physical location or space. For example, a single building can be represented with an environment. [block:api-header] { "type": "basic", "title": "Environment Items" } [/block] An environment contains: * [Zones](doc:zones) * [Devices](doc:devices) [block:api-header] { "title": "Ownership and Access" } [/block] In order to interact with an environment, users must be granted access to it. A user is granted access to an environment by [updating](doc:users-create-update) the user's `access` parameter. Assets, conduits, and users may be shared across environments. [block:api-header] { "type": "basic", "title": "Commands" } [/block] Environments are the highest scope to which commands can be issued. For example: Setting the property “BinarySwitch.switch” to “off” in an environment will set the property on all devices that implement the “BinarySwitch” service class. [block:api-header] { "title": "Metadata" } [/block] Custom [metadata](doc:metadata) can be stored in an environment's record. Metadata is any data not pertinent to the operation of the environment, but is useful when presenting information to the users. Examples of metadata include labels, icons, and sorting metrics. [block:api-header] { "type": "basic", "title": "Aliasing" } [/block] Like zones and devices, environments can be [aliased](doc:aliases).