From 869b399f0b5296afd808dd60024d4facdb3e6b06 Mon Sep 17 00:00:00 2001 From: Nathan Spencer Date: Thu, 9 Mar 2023 16:33:58 -0700 Subject: [PATCH] Add ability to adjust camera use as doorbell chime extender --- .github/workflows/ci.yml | 2 +- poetry.lock | 160 +- proto/vivintpy/proto/beam.proto | 1769 ++++++++++++++++ pylintrc | 2 +- pyproject.toml | 2 + setup.cfg | 8 +- tox.ini | 2 +- vivintpy/const.py | 1 + vivintpy/devices/camera.py | 11 + vivintpy/proto/beam_pb2.py | 536 +++++ vivintpy/proto/beam_pb2.pyi | 2116 ++++++++++++++++++++ vivintpy/proto/beam_pb2_grpc.py | 3330 +++++++++++++++++++++++++++++++ vivintpy/vivintskyapi.py | 32 + 13 files changed, 7965 insertions(+), 6 deletions(-) create mode 100644 proto/vivintpy/proto/beam.proto create mode 100644 vivintpy/proto/beam_pb2.py create mode 100644 vivintpy/proto/beam_pb2.pyi create mode 100644 vivintpy/proto/beam_pb2_grpc.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e96a8cc..c620e23 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - name: Run linting run: | poetry run isort . - poetry run black . --check + poetry run black . --check --extend-exclude proto poetry run flake8 . poetry run pylint vivintpy tests poetry run pydocstyle vivintpy tests diff --git a/poetry.lock b/poetry.lock index 645ae47..04e600e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -658,6 +658,124 @@ files = [ {file = "frozenlist-1.3.3.tar.gz", hash = "sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"}, ] +[[package]] +name = "grpcio" +version = "1.51.3" +description = "HTTP/2-based RPC framework" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "grpcio-1.51.3-cp310-cp310-linux_armv7l.whl", hash = "sha256:f601aaeae18dab81930fb8d4f916b0da21e89bb4b5f7367ef793f46b4a76b7b0"}, + {file = "grpcio-1.51.3-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:eef0450a4b5ed11feab639bf3eb1b6e23d0efa9b911bf7b06fb60e14f5f8a585"}, + {file = "grpcio-1.51.3-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:82b0ad8ac825d4bb31bff9f638557c045f4a6d824d84b21e893968286f88246b"}, + {file = "grpcio-1.51.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3667c06e37d6cd461afdd51cefe6537702f3d1dc5ff4cac07e88d8b4795dc16f"}, + {file = "grpcio-1.51.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3709048fe0aa23dda09b3e69849a12055790171dab9e399a72ea8f9dfbf9ac80"}, + {file = "grpcio-1.51.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:200d69857f9910f7458b39b9bcf83ee4a180591b40146ba9e49314e3a7419313"}, + {file = "grpcio-1.51.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cd9a5e68e79c5f031500e67793048a90209711e0854a9ddee8a3ce51728de4e5"}, + {file = "grpcio-1.51.3-cp310-cp310-win32.whl", hash = "sha256:6604f614016127ae10969176bbf12eb0e03d2fb3d643f050b3b69e160d144fb4"}, + {file = "grpcio-1.51.3-cp310-cp310-win_amd64.whl", hash = "sha256:e95c7ccd4c5807adef1602005513bf7c7d14e5a41daebcf9d8d30d8bf51b8f81"}, + {file = "grpcio-1.51.3-cp311-cp311-linux_armv7l.whl", hash = "sha256:5e77ee138100f0bb55cbd147840f87ee6241dbd25f09ea7cd8afe7efff323449"}, + {file = "grpcio-1.51.3-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:68a7514b754e38e8de9075f7bb4dee919919515ec68628c43a894027e40ddec4"}, + {file = "grpcio-1.51.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c1b9f8afa62ff265d86a4747a2990ec5a96e4efce5d5888f245a682d66eca47"}, + {file = "grpcio-1.51.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8de30f0b417744288cec65ec8cf84b8a57995cf7f1e84ccad2704d93f05d0aae"}, + {file = "grpcio-1.51.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b69c7adc7ed60da1cb1b502853db61f453fc745f940cbcc25eb97c99965d8f41"}, + {file = "grpcio-1.51.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d81528ffe0e973dc840ec73a4132fd18b8203ad129d7410155d951a0a7e4f5d0"}, + {file = "grpcio-1.51.3-cp311-cp311-win32.whl", hash = "sha256:040eb421613b57c696063abde405916dd830203c184c9000fc8c3b3b3c950325"}, + {file = "grpcio-1.51.3-cp311-cp311-win_amd64.whl", hash = "sha256:2a8e17286c4240137d933b8ca506465472248b4ce0fe46f3404459e708b65b68"}, + {file = "grpcio-1.51.3-cp37-cp37m-linux_armv7l.whl", hash = "sha256:d5cd1389669a847555df54177b911d9ff6f17345b2a6f19388707b7a9f724c88"}, + {file = "grpcio-1.51.3-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:be1bf35ce82cdbcac14e39d5102d8de4079a1c1a6a06b68e41fcd9ef64f9dd28"}, + {file = "grpcio-1.51.3-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:5eed34994c095e2bf7194ffac7381c6068b057ef1e69f8f08db77771350a7566"}, + {file = "grpcio-1.51.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9a7d88082b2a17ae7bd3c2354d13bab0453899e0851733f6afa6918373f476"}, + {file = "grpcio-1.51.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c8abbc5f837111e7bd619612eedc223c290b0903b952ce0c7b00840ea70f14"}, + {file = "grpcio-1.51.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:165b05af77e6aecb4210ae7663e25acf234ba78a7c1c157fa5f2efeb0d6ec53c"}, + {file = "grpcio-1.51.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:54e36c2ee304ff15f2bfbdc43d2b56c63331c52d818c364e5b5214e5bc2ad9f6"}, + {file = "grpcio-1.51.3-cp37-cp37m-win32.whl", hash = "sha256:cd0daac21d9ef5e033a5100c1d3aa055bbed28bfcf070b12d8058045c4e821b1"}, + {file = "grpcio-1.51.3-cp37-cp37m-win_amd64.whl", hash = "sha256:2fdd6333ce96435408565a9dbbd446212cd5d62e4d26f6a3c0feb1e3c35f1cc8"}, + {file = "grpcio-1.51.3-cp38-cp38-linux_armv7l.whl", hash = "sha256:54b0c29bdd9a3b1e1b61443ab152f060fc719f1c083127ab08d03fac5efd51be"}, + {file = "grpcio-1.51.3-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:ffaaf7e93fcb437356b5a4b23bf36e8a3d0221399ff77fd057e4bc77776a24be"}, + {file = "grpcio-1.51.3-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:eafbe7501a3268d05f2e450e1ddaffb950d842a8620c13ec328b501d25d2e2c3"}, + {file = "grpcio-1.51.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:881ecb34feabf31c6b3b9bbbddd1a5b57e69f805041e5a2c6c562a28574f71c4"}, + {file = "grpcio-1.51.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e860a3222139b41d430939bbec2ec9c3f6c740938bf7a04471a9a8caaa965a2e"}, + {file = "grpcio-1.51.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:49ede0528e9dac7e8a9fe30b16c73b630ddd9a576bf4b675eb6b0c53ee5ca00f"}, + {file = "grpcio-1.51.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6972b009638b40a448d10e1bc18e2223143b8a7aa20d7def0d78dd4af4126d12"}, + {file = "grpcio-1.51.3-cp38-cp38-win32.whl", hash = "sha256:5694448256e3cdfe5bd358f1574a3f2f51afa20cc834713c4b9788d60b7cc646"}, + {file = "grpcio-1.51.3-cp38-cp38-win_amd64.whl", hash = "sha256:3ea4341efe603b049e8c9a5f13c696ca37fcdf8a23ca35f650428ad3606381d9"}, + {file = "grpcio-1.51.3-cp39-cp39-linux_armv7l.whl", hash = "sha256:6c677581ce129f5fa228b8f418cee10bd28dd449f3a544ea73c8ba590ee49d0b"}, + {file = "grpcio-1.51.3-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:30e09b5e0531685e176f49679b6a3b190762cc225f4565e55a899f5e14b3aa62"}, + {file = "grpcio-1.51.3-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:c831f31336e81243f85b6daff3e5e8a123302ce0ea1f2726ad752fd7a59f3aee"}, + {file = "grpcio-1.51.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2cd2e4cefb724cab1ba2df4b7535a9980531b9ec51b4dbb5f137a1f3a3754ef0"}, + {file = "grpcio-1.51.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7a0d0bf44438869d307f85a54f25a896ad6b4b0ca12370f76892ad732928d87"}, + {file = "grpcio-1.51.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c02abd55409bfb293371554adf6a4401197ec2133dd97727c01180889014ba4d"}, + {file = "grpcio-1.51.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2f8ff75e61e1227ba7a3f16b2eadbcc11d0a54096d52ab75a6b88cfbe56f55d1"}, + {file = "grpcio-1.51.3-cp39-cp39-win32.whl", hash = "sha256:6c99a73a6260bdf844b2e5ddad02dcd530310f80e1fa72c300fa19c1c7496962"}, + {file = "grpcio-1.51.3-cp39-cp39-win_amd64.whl", hash = "sha256:22bdfac4f7f27acdd4da359b5e7e1973dc74bf1ed406729b07d0759fde2f064b"}, + {file = "grpcio-1.51.3.tar.gz", hash = "sha256:be7b2265b7527bb12109a7727581e274170766d5b3c9258d4e466f4872522d7a"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.51.3)"] + +[[package]] +name = "grpcio-tools" +version = "1.51.3" +description = "Protobuf code generator for gRPC" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "grpcio-tools-1.51.3.tar.gz", hash = "sha256:4fea28e3dd31871579a57058796a78093c75b74b74e9de2f2b7a7fd9a443d403"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-linux_armv7l.whl", hash = "sha256:779ac1ad2258b8debaa45595bfb3814806ed8880e3ea7f194e551d76a6255969"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:83bf605fe2b3591d3c8a78646f37c72c5832c4dd84b5f92405c17cb10b136be6"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:35f885c5afd8e6a77d320f5a9624b439a93f9be2b87fa7b7948c1ad7b2ba0894"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253b639fb79a4d28ce494ae40e5695bf1e2cb4a05f205fc433c46b2049ab4d99"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c6b145587d6062e2335f0b3286501dd6853a1ea50bd466a913351b7c48e5f20"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:046c0b1e372d4acf552aa0c8f5e830f019d67b75f25aeb0968d15fbdd3eaabd3"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc90b0287908c46281eb61933acaa1b96a575d0160fc98b5c64b9dec46f60d1"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-win32.whl", hash = "sha256:8e9df40db7a0edd403b539cc142d6114270e35debf723a5b4a7a93d5c30fffc0"}, + {file = "grpcio_tools-1.51.3-cp310-cp310-win_amd64.whl", hash = "sha256:077adaee431c2b040dd77923964577087c32e828908e8fa2e53f8e003ad408c9"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-linux_armv7l.whl", hash = "sha256:b50f9b8a6482a90c1a41e731a879a130f7dea267065d0a06f47c9160ce5d01c3"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:89a68adcb4238aba69f3a364ac02c9a46e55b9e3fd8af1c6f384079abfa9347c"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d177da43e7f6fde6715df4a3015ae13158166bc2845ac7f9cfb526eafb41b8"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:793f9edef82f600a3324f8a3d8cd8318a8d02f28fb54f8236cbb35ce0928d186"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f7583735542ced7d30baec6cc21bffeaffcec1523bf807e8f8f0047113b6d30a"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f2df233a3e7db23d9b516cb5e2bfe029465f40a72978bee0584e44e7860ea73f"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-win32.whl", hash = "sha256:7427939455735fbf2ea88c37f1585c9c8b809eec7b447642f34465eb4d26020b"}, + {file = "grpcio_tools-1.51.3-cp311-cp311-win_amd64.whl", hash = "sha256:ba76d15fd149b575170fa32a1f6a9ff2b38ff9db223229a8ad6f53450a452688"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-linux_armv7l.whl", hash = "sha256:d2212c682529263b3c9e903092d0ccbb9fc6afba820e4c2fa52c2c27720cdcae"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:405656b3cf9639427e6c30a795570cba4a7c06b88a3145866f7d2c05b7e048b4"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:3c445a064b2ef3d3475e26e2add8ddb4ac2933741ecddf71d5b071a3ad078db4"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7b3374f4a6579c58d16a5fab2e6b4e9bb8625a034a7f4cd6024f4d1cc12f2a0"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46e8df08b65f9379c3f103147b29542b0141ca84e77d0eee9114ca5f9b3f0d23"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2fade12de08923b350475ca16d0d0bd68578c30fce89147aa0f94ef5759bc5a9"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d4ffb6325ed489065dbdca764cf37c3a29376bc657874116c9af788d7a0d2ee4"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-win32.whl", hash = "sha256:f8d17271fc58ed3503dd571c79917e126deca51f85f093770a9606e806aac9dc"}, + {file = "grpcio_tools-1.51.3-cp37-cp37m-win_amd64.whl", hash = "sha256:ef849687c7f2bd7f3277edc7c7cafc7042823d0fb078e3c01c861eb0c96ed181"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-linux_armv7l.whl", hash = "sha256:7fd18d8d211fbfd337fc12e5bdd57e62368f636addf901d290e68a39f1dfea38"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:233fc56f054424232e2086f444004413e33c699174ce6ee0e279c25227243fec"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:867fa1973fa8b0772077c15425f122f672a18b1c53709a8a2bff9d056db4c20e"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b486a99bdf2722e68a9d59769389e2fb86878b6f293be5111f7678e364a0c359"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8bbf412c357999f88d87f421fd48b4b114fc037fec7bbaed0cb7620c24a5e44"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1166744c40821bb0aa605d2af2287fac367756f858a3d18f4c3d25bc0b92757b"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:781896c488e07b9463196045e6725e52d018cd7d0e1062d4ab1eee2647ca9170"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-win32.whl", hash = "sha256:35c1ee7c766eb586f04ba41fa7711eb847767eb277a1737998374ac57768f1f0"}, + {file = "grpcio_tools-1.51.3-cp38-cp38-win_amd64.whl", hash = "sha256:584b201fb39307dcb1affcf2647656a0e6244423ef1659cc6caa3ff85c5ae5c1"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-linux_armv7l.whl", hash = "sha256:e02231e21029f716a1d23a0b5e664fa243d147da33a3f55088a9529b860aa4ac"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:fbb742e10bd548031b8d80f7c28eb70c7c3a9850f8e99c98cd496f19a05f9fee"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:a836a72c657f751244cdb358c3461a89627e6d02654079d2450cfe361800428c"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb554408e0ec5ff5201013f268726d9eef8e5bd1fd4b4e09c46c0b4a9de8b64c"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:158c5bfe7e157fd9a944bde9f7dfe3b468416666e4fade77cd17caa3edc8bd81"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:715c792679224171c0584e9f235b921d76f8990deb38b0d1215d0469301d9cd9"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ece44f42b10e0bceb49235be1e361e1ee69afee7f938c82fb656a601a4a720e3"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-win32.whl", hash = "sha256:980e632710ba05e04364c6f276e905d5d367437f1ce2265ce7b96b5c1eac5693"}, + {file = "grpcio_tools-1.51.3-cp39-cp39-win_amd64.whl", hash = "sha256:5f4c47b14e66f80365cd5667ecc2f7fb0eb91e02c4e54362041b758feaa00511"}, +] + +[package.dependencies] +grpcio = ">=1.51.3" +protobuf = ">=4.21.6,<5.0dev" +setuptools = "*" + [[package]] name = "idna" version = "3.4" @@ -984,6 +1102,29 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "protobuf" +version = "4.22.1" +description = "" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "protobuf-4.22.1-cp310-abi3-win32.whl", hash = "sha256:85aa9acc5a777adc0c21b449dafbc40d9a0b6413ff3a4f77ef9df194be7f975b"}, + {file = "protobuf-4.22.1-cp310-abi3-win_amd64.whl", hash = "sha256:8bc971d76c03f1dd49f18115b002254f2ddb2d4b143c583bb860b796bb0d399e"}, + {file = "protobuf-4.22.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:5917412347e1da08ce2939eb5cd60650dfb1a9ab4606a415b9278a1041fb4d19"}, + {file = "protobuf-4.22.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:9e12e2810e7d297dbce3c129ae5e912ffd94240b050d33f9ecf023f35563b14f"}, + {file = "protobuf-4.22.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:953fc7904ef46900262a26374b28c2864610b60cdc8b272f864e22143f8373c4"}, + {file = "protobuf-4.22.1-cp37-cp37m-win32.whl", hash = "sha256:6e100f7bc787cd0a0ae58dbf0ab8bbf1ee7953f862b89148b6cf5436d5e9eaa1"}, + {file = "protobuf-4.22.1-cp37-cp37m-win_amd64.whl", hash = "sha256:87a6393fa634f294bf24d1cfe9fdd6bb605cbc247af81b9b10c4c0f12dfce4b3"}, + {file = "protobuf-4.22.1-cp38-cp38-win32.whl", hash = "sha256:e3fb58076bdb550e75db06ace2a8b3879d4c4f7ec9dd86e4254656118f4a78d7"}, + {file = "protobuf-4.22.1-cp38-cp38-win_amd64.whl", hash = "sha256:651113695bc2e5678b799ee5d906b5d3613f4ccfa61b12252cfceb6404558af0"}, + {file = "protobuf-4.22.1-cp39-cp39-win32.whl", hash = "sha256:67b7d19da0fda2733702c2299fd1ef6cb4b3d99f09263eacaf1aa151d9d05f02"}, + {file = "protobuf-4.22.1-cp39-cp39-win_amd64.whl", hash = "sha256:b8700792f88e59ccecfa246fa48f689d6eee6900eddd486cdae908ff706c482b"}, + {file = "protobuf-4.22.1-py3-none-any.whl", hash = "sha256:3e19dcf4adbf608924d3486ece469dd4f4f2cf7d2649900f0efcd1a84e8fd3ba"}, + {file = "protobuf-4.22.1.tar.gz", hash = "sha256:dce7a55d501c31ecf688adb2f6c3f763cf11bc0be815d1946a84d74772ab07a7"}, +] + [[package]] name = "pubnub" version = "7.1.0" @@ -1230,6 +1371,23 @@ urllib3 = ">=1.21.1,<1.27" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "setuptools" +version = "67.6.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "setuptools-67.6.0-py3-none-any.whl", hash = "sha256:b78aaa36f6b90a074c1fa651168723acbf45d14cb1196b6f02c0fd07f17623b2"}, + {file = "setuptools-67.6.0.tar.gz", hash = "sha256:2ee892cd5f29f3373097f5a814697e397cf3ce313616df0af11231e2ad118077"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + [[package]] name = "six" version = "1.16.0" @@ -1584,4 +1742,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.7.2" -content-hash = "a6e09ee62cf41ae2bc43b83218d27b54cc80840662f155d7576b2a724a104f6b" +content-hash = "37cca06f174794bae4daccdd17db931543956c45201c2dff20b0de641f6bf6a8" diff --git a/proto/vivintpy/proto/beam.proto b/proto/vivintpy/proto/beam.proto new file mode 100644 index 0000000..70a4718 --- /dev/null +++ b/proto/vivintpy/proto/beam.proto @@ -0,0 +1,1769 @@ +// Defines messages passed between device and the server endpoint + +syntax = "proto3"; + +option objc_class_prefix = "VIVBEAM"; +option java_package = "com.vivint.grpc"; +option go_package = "source.vivint.com/pl/beam-def/generated;beam"; + +package beam; + +import "google/protobuf/timestamp.proto"; +import "google/protobuf/empty.proto"; + + +// usage: +// Compiled by 'protoc -I=. --go_out=plugins=grpc:. --python_out=. --cpp_out=./cpp beam.proto' +// for ios: +// protoc -I=. --plugin=protoc-gen-grpc=/usr/local/bin/grpc_objective_c_plugin --objc_out=objc --grpc_out=objc beam.proto + +service Beam { + rpc Ping(google.protobuf.Empty) returns (Response) { + } + + // Set the device name / set the camera name + // because all devices have a name, SetDeviceName is used for this API call instead of SetCameraName + rpc SetDeviceName(SetDeviceNameRequest) returns (SetDeviceNameResponse) {} + + // Get Camera Technical Info + rpc GetCameraTechnicalInfo(GetCameraTechnicalInfoRequest) returns (GetCameraTechnicalInfoResponse) {} + + // Get All Camera Settings + rpc GetCameraSettings(GetCameraSettingsRequest) returns (GetCameraSettingsResponse) {} + + // Get All Panel Settings + rpc GetPanelSettings(GetPanelSettingsRequest) returns (GetPanelSettingsResponse) {} + + // Set Privacy Mode + rpc SetCameraPrivacyMode(SetCameraPrivacyModeRequest) returns (SetCameraPrivacyModeResponse) {} + + // Adjust Camera Zoom + rpc AdjustCameraToXyz(AdjustCameraToXyzRequest) returns (AdjustCameraToXyzResponse) {} + + // + // Recording Settings + // + // Set Playback enabled + rpc SetCameraPlaybackEnabled(SetCameraPlaybackEnabledRequest) returns (SetCameraPlaybackEnabledResponse) {} + + // + // Detection Settings + // + // Set Detection Windows + rpc SetDetectionWindows(SetDetectionWindowsRequest) returns (SetDetectionWindowsResponse) {} + + // + // Chime Settings + // + // Set ChimeVolume + rpc SetChimeVolume(SetChimeVolumeRequest) returns (SetChimeVolumeResponse) {} + + // Set ChimeMute + rpc SetChimeMute(SetChimeMuteRequest) returns (SetChimeMuteResponse) {} + + // + // Video Settings + // + // Set Video Quality + rpc SetVideoQuality(SetVideoQualityRequest) returns (SetVideoQualityResponse) {} + + // Set Night Vison + rpc SetNightVision(SetNightVisionRequest) returns (SetNightVisionResponse) {} + + // Set IR LED + rpc SetIRLED(SetIRLEDRequest) returns (SetIRLEDResponse) {} + + // Set Rotate Image + rpc SetRotateImage(SetRotateImageRequest) returns (SetRotateImageResponse) {} + + // Set Maintain Zoom + rpc SetMaintainZoom(SetMaintainZoomRequest) returns (SetMaintainZoomResponse) {} + + // + // Device Settings + // + // Set StatusLight + rpc SetStatusLight(SetStatusLightRequest) returns (SetStatusLightResponse) {} + + // Set AudioRecording + rpc SetAudioRecording(SetAudioRecordingRequest) returns (SetAudioRecordingResponse) {} + + // Set DoorbellChime + rpc SetDoorbellChime(SetDoorbellChimeRequest) returns (SetDoorbellChimeResponse) {} + + // Set DoorbellMuted + rpc SetDoorbellMuted(SetDoorbellMutedRequest) returns (SetDoorbellMutedResponse) {} + + // Set VisitorChime + rpc SetVisitorChime(SetVisitorChimeRequest) returns (SetVisitorChimeResponse) {} + + // Set PackageChime + rpc SetPackageChime(SetPackageChimeRequest) returns (SetPackageChimeResponse) {} + + // Set Use as doorbell chime extender + rpc SetUseAsDoorbellChimeExtender(SetUseAsDoorbellChimeExtenderRequest) returns (SetUseAsDoorbellChimeExtenderResponse) {} + + // Set extend siren + rpc SetExtendSiren(SetExtendSirenRequest) returns (SetExtendSirenResponse) {} + + // Set QuietMode + rpc SetQuietMode(SetQuietModeRequest) returns (SetQuietModeResponse) {} + + // Get analytics opt-in setting, which indicates whether the user has allowed the video clips from this device to be used for analytics + rpc GetAnalyticsOptIn(GetAnalyticsOptInRequest) returns (GetAnalyticsOptInResponse) {} + + // Set analytics opt-in setting, which indicates whether the user has allowed the video clips from this device to be used for analytics + rpc SetAnalyticsOptIn(SetAnalyticsOptInRequest) returns (SetAnalyticsOptInResponse) {} + + // + // Notify Settings + // + rpc SetNotifyOnPersonDetected(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnLurkerDetected(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnPackageSeen(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnPackageMoved(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnVehicleSeen(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnAnimalSeen(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnDeter(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnDoorbellPress(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + rpc SetNotifyOnVehicleLeaving(SetNotifyOnRequest) returns (SetNotifyOnResponse) {} + + // + // Restore Defaults, Reboot Camera, Delete Recordings, Delete Camera, etc. + // + // Restore Defaults + rpc RestoreDefaults(RestoreDefaultsRequest) returns (RestoreDefaultsResponse) {} + + // Reboot Camera + rpc RebootCamera(RebootCameraRequest) returns (RebootCameraResponse) {} + + // Delete All Events + rpc DeleteAllEvents(DeleteAllEventsRequest) returns (DeleteAllEventsResponse) {} + + // Delete Camera + rpc DeleteCamera(DeleteCameraRequest) returns (DeleteCameraResponse) {} + + // Set Camera List Order + rpc SetCameraListOrder(SetCameraListOrderRequest) returns (SetCameraListOrderResponse) {} + + rpc SetLurkerDeter(SetLurkerDeterRequest) returns (SetLurkerDeterResponse) {} + + rpc SetSmartSentrySnooze(SetSmartSentrySnoozeRequest) returns (SetSmartSentrySnoozeResponse) {} + + rpc SetPackageWatch(SetPackageWatchRequest) returns (SetPackageWatchResponse) {} + + // Set the animal detection boundary + rpc SetAnimalBoundary(SetAnimalBoundaryRequest) returns (SetAnimalBoundaryResponse) {} + + // Set the package detection boundary + rpc SetPackageBoundary(SetPackageBoundaryRequest) returns (SetPackageBoundaryResponse) {} + + // Set the vehicle detection boundary + rpc SetVehicleBoundary(SetVehicleBoundaryRequest) returns (SetVehicleBoundaryResponse) {} + + // Set the property boundary + rpc SetPropertyBoundary(SetPropertyBoundaryRequest) returns (SetPropertyBoundaryResponse) {} + + rpc SetDeterBoundary(SetDeterBoundaryRequest) returns (SetDeterBoundaryResponse) {} + + rpc SetDeterSchedule(SetDeterScheduleRequest) returns (SetDeterScheduleResponse) {} + + rpc SetDeterScheduleV2(SetDeterScheduleV2Request) returns (SetDeterScheduleV2Response) {} + + rpc SetDeterAggressionLevel(SetDeterAggressionLevelRequest) returns (SetDeterAggressionLevelResponse) {} + + rpc SetDeterLightColor(SetDeterLightColorRequest) returns (SetDeterLightColorResponse) {} + + rpc SetDeterLightPattern(SetDeterLightPatternRequest) returns (SetDeterLightPatternResponse) {} + + rpc SetDeterOverride(SetDeterOverrideRequest) returns (SetDeterOverrideResponse) {} + + rpc SetLingerDuration(SetLingerDurationRequest) returns (SetLingerDurationResponse) {} + + rpc GetPanelLogin(GetPanelLoginRequest) returns (GetPanelLoginResponse) {} + + // Get and set per device onboarding progress flags + rpc GetDeviceOnboarding(GetDeviceOnboardingRequest) returns (GetDeviceOnboardingResponse) {} + rpc SetDeviceOnboarding(SetDeviceOnboardingRequest) returns (SetDeviceOnboardingResponse) {} + + + // SetCaptureClipOn (legacy) and SetRecordOn methods - set whether a clip should be recorded when an event occurs + rpc SetCaptureClipOnMotion(SetCaptureClipOnRequest) returns (SetCaptureClipOnResponse) { + } + rpc SetCaptureClipOnDoorbellRing(SetCaptureClipOnRequest) returns (SetCaptureClipOnResponse) { + } + rpc SetCaptureClipOnVisitor(SetCaptureClipOnRequest) returns (SetCaptureClipOnResponse) { + } + rpc SetRecordOnDeter(SetRecordOnDeterRequest) returns (SetRecordOnDeterResponse) {} + rpc SetRecordOnPersonDetected(SetRecordOnPersonDetectedRequest) returns (SetRecordOnPersonDetectedResponse) {} + rpc SetRecordOnPackageDetected(SetRecordOnPackageDetectedRequest) returns (SetRecordOnPackageDetectedResponse) {} + rpc SetRecordOnLurkerDetected(SetRecordOnLurkerDetectedRequest) returns (SetRecordOnLurkerDetectedResponse) {} + rpc SetRecordOnAnimalDetected(SetRecordOnAnimalDetectedRequest) returns (SetRecordOnAnimalDetectedResponse) {} + rpc SetRecordOnVehicleDetected(SetRecordOnVehicleDetectedRequest) returns (SetRecordOnVehicleDetectedResponse) {} + + rpc SetRecordForRegions(SetRecordForRegionsRequest) returns (SetRecordForRegionsResponse) {} + + rpc SetAnalyticsSensitivity(SetAnalyticsSensitivityRequest) returns (SetAnalyticsSensitivityResponse) {} + + // Tells the panel/camera to sound the chime based on chime type + rpc PreviewChime(PreviewChimeRequest) returns (PreviewChimeResponse) {} + + rpc SetPackageDeliveryLocations(SetPackageDeliveryLocationsRequest) returns (SetPackageDeliveryLocationsResponse) {} + + rpc SetDoorbellPosition(SetDoorbellPositionRequest) returns (SetDoorbellPositionResponse) {} + + // Find out what doorbell chimes are available + rpc GetDynamicChimes(GetDynamicChimesRequest) returns (GetDynamicChimesResponse) {} + + // Change which dynamic doorbell chime is currently set for a device + rpc SetDynamicChime(SetDynamicChimeRequest) returns (SetDynamicChimeResponse) {} + + rpc SetPackageWatchState(SetPackageWatchStateRequest) returns (SetPackageWatchStateResponse) { + option deprecated = true; + } + + rpc SetUserRole(SetUserRoleRequest) returns (SetUserRoleResponse) {} + + rpc GetClipSharingLink(GetClipSharingLinkRequest) returns (GetClipSharingLinkResponse) {} + + // DIY/Hub+ functionality + // stop using WiFi for Hub+ connectivity (required to be able to do site-survey?) + rpc PanelKillWiFiNetwork(PanelKillWiFiNetworkRequest) returns (Response) {} + // request that a new site-survey be done by Hub+ unit + rpc PanelRefreshSSIDList(PanelRefreshSSIDListRequest) returns (Response) {} + + rpc StartCameraWifiConnect(StartCameraWifiConnectRequest) returns (StartCameraWifiConnectResponse) {} + + // Add a camera to Hub/Panel after it has connected to the network. + rpc AddCameraToHub(AddCameraToHubRequest) returns (Response) {} + + // Re-implementation of /api/videofailed/{panel_id} from mobile-api + rpc ReportVideoFailed(ReportVideoFailedRequest) returns (ReportVideoFailedResponse) { + } + + rpc RequestCameraThumbnail(CameraThumbnailRequest) returns (CameraThumbnailResponse) { + } + + rpc GetCameraThumbnailUrl(CameraThumbnailRequest) returns (google.protobuf.Empty) { + } + + // GetHistoryClipURL is the "proper" way to get a signed URL; it has all the fields necessary + // to get a history record without needing to do a scan-and-gather on the data collections. + rpc GetHistoryClipURL(GetHistoryClipURLRequest) returns (GetHistoryClipURLResponse) { + } + + // Re-implementation of GET /api/token/{historyId} from mobile-api + rpc GetLegacyHistoryClipURL(GetLegacyHistoryClipURLRequest) returns (GetHistoryClipURLResponse) { + } + + // Re-implementation of POST /api/dvr-associate from mobile-api + rpc AssociateDvr(AssociateDvrRequest) returns (AssociateDvrResponse) { + } + + // Set which zones of the ODC Spotlight attachment (Narwhal) are enabled. + rpc SetSpotlightZones(SetSpotlightZonesRequest) returns (SetSpotlightZonesResponse) {} + + // Set the brightness of the ODC Spotlight attachment (Narwhal). + rpc SetSpotlightBrightness(SetSpotlightBrightnessRequest) returns (SetSpotlightBrightnessResponse) {} + + // Turn the ODC Spotlight attachment (Narwhal) on (in floodlight mode) or off. + rpc ToggleFloodlight(ToggleFloodlightRequest) returns (ToggleFloodlightResponse) {} + + // Toggle the behavior to turn on (or brighten) the ODS spotlight attachment when a person is detected at night when deter is off + rpc SetSpotlightLightOnPersonDetected(SetSpotlightLightOnPersonDetectedRequest) returns (SetSpotlightLightOnPersonDetectedResponse) {} + + // Set the calibration points for the Spotlight attachment (Narwhal) zones + rpc SetSpotlightCalibration(SetSpotlightCalibrationRequest) returns (SetSpotlightCalibrationResponse) { + } + + // Set narwhal/spotlight deter lighting behavior + rpc SetDeterLightingBehavior(SetDeterLightingBehaviorRequest) returns (SetDeterLightingBehaviorResponse) {} + + // Set narwhal/spotlight person lighting behavior + rpc SetSpotlightFollow(SetSpotlightFollowRequest) returns (SetSpotlightFollowResponse) {} + + // Sets the SpotlightNightLight property of a camera. + rpc SetSpotlightOnSunsetToSunrise(SetSpotlightOnSunsetToSunriseRequest) returns (SetSpotlightOnSunsetToSunriseResponse) { + option deprecated = true; // Use SetSpotlightNightLight instead + } + + // Sets the SpotlightNightLight property of a camera, which tells the camera to turn on the light when in night mode. + rpc SetSpotlightNightLight(SetSpotlightNightLightRequest) returns (SetSpotlightNightLightResponse) {} + +} + +// +// Messages +// + +// +message SetDeviceNameRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + string name = 3; + // panel_id+device_id or device_uuid, device_type, standalone + SettingsRequestHeader header = 4; +} + +message SetDeviceNameResponse { + Response response = 1; +} + +// +message GetCameraTechnicalInfoRequest { + int64 panel_id = 1; + uint32 device_id = 2; +} + +message GetCameraTechnicalInfoResponse { + Response response = 1; + TechnicalInfo info = 2; +} + +// +message GetCameraSettingsRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + SettingsRequestHeader header = 3; +} + +message GetCameraSettingsResponse { + Response response = 1; + // PANEL FIELDNAME PLATFORM FIELDNAME (in Constants) + bool privacy_mode = 2; // privacy_mode_enabled Fields.CameraPrivacy + + bool playback_enabled = 4; + + repeated DetectionWindow detection_windows = 6; + + int32 chime_volume = 7; + bool mute_chime = 8; + + VideoQuality video_quality = 9; // video_quality Fields.VideoQuality + //Brightness/contrast here + bool night_vision = 10; // night_vision_enabled Fields.NightVisionEnabled + bool flip = 11; // video_flipped Fields.CameraFlip + bool zoom_lock = 12; // zoom_lock_flag Fields.CameraZoomLock + + bool led_on = 13; // led_on Fields.CameraLEDEnabled + bool record_audio = 14; // record_audio_enabled Fields.CameraRecordAudio + DoorbellChime doorbell_chime = 15; // doorbell_chime Fields.CameraDoorbellChime + VisitorChime visitor_chime = 16; // visitor_chime Fields.CameraVistorChime + bool extend_chime = 17; // extend_chime_enabled Fields.CameraExtendChimeEnabled + bool quiet_mode = 18; // quiet_mode_enabled Fields.CameraQuietMode + + string name = 19; // name Fields.Name + TechnicalInfo info = 20; + bool ir_led_on = 21; // ir_led_on Fields.CameraIRLEDEnabled + Capabilities capabilities = 22; + + // New fields for Hyrax and Bahgeera + DeterAggressionLevel aggression_level = 3; + DeterScheduleType deter_type = 23; + DeterSchedule deter_schedule = 24; + repeated PropertyBoundaryPointList property_boundary_points = 25; + repeated PropertyBoundaryPointList deter_boundary_points = 26; + DeterLightColor deter_light_color = 27; + DeterLightPattern deter_light_pattern = 28; + uint32 linger_duration = 29; + bool extend_siren = 30; // ???? + bool lurker_deter = 31; + RecordForRegions record_for_regions = 32; + bool record_on_lurker_detected = 33; // Fields.RecordOnLurkerDetected + bool record_on_package_detected = 34; // Fields.RecordOnPackageDetected + bool record_on_person_detected = 35; // Fields.RecordOnPersonDetected + int32 analytics_sensitivity = 36; + PackageChime package_chime = 37; // package_chime Fields.CameraPackageChime + string connected_to = 38; // connected_to_device Fields.ConnectedTo + string camera_connection_type = 39; // camera_connection_type Fields.CameraConnectionType + bool video_clip_analytics_allowed = 40; // video_clip_analytics_allowed Fields.VideoClipAnalyticsAllowed + bool package_watch = 41; + bool notify_on_person_detected = 42; // notify_on_person_seen Fields.NotifyOnPersonSeen + bool notify_on_lurker_detected = 43; // notify_on_lurker Fields.NotifyOnLurker + DoorbellPosition doorbell_position = 44; // doorbell_position Fields.DoorbellPosition + bool notify_on_package_seen = 45; // notify_on_package_seen Fields.NotifyOnPackageSeen + bool notify_on_package_moved = 46; // notify_on_package_moved Fields.NotifyOnPackageMoved + bool notify_on_vehicle_seen = 47; // notify_on_vehicle_seen Fields.NotifyOnVehicleSeen + bool notify_on_animal_seen = 48; // notify_on_animal_seen Fields.NotifyOnAnimalSeen + repeated PropertyBoundaryPoint package_delivery_locations = 49; + // package_delivery_locations Fields.PackageDeliveryLocations + uint32 smart_sentry_snooze_until = 50; // smart_sentry_snooze_until Fields.SmartSentrySnoozeUntil + bool package_watch_state = 52 [deprecated = true]; + uint32 deter_schedule_version = 53; // deter_schedule_version Fields.DeterScheduleVersion + bool deter_on_duty = 54; // deter_on_duty Fields.DeterOnDuty + DeterScheduleType deter_reason = 55; // deter_reason Fields.DeterReason + uint64 deter_timestamp = 56; // deter_timestamp Fields.DeterTimestamp + string deter_user_info = 57; // deter_user_info Fields.DeterUserInfo + bool deter_override = 58; // deter_override Fields.DeterOverride + uint64 deter_override_end_timestamp = 59; // deter_override_end_timestamp Fields.DeterOverrideEndTimestamp + repeated DeterScheduleType deter_valid_schedule_types = 60; + // deter_valid_schedule_types Fields.DeterValidScheduleTypes + string smart_sentry_snooze_user_info = 61; // smart_sentry_snooze_user_info Fields.SmartSentrySnoozeUserInfo + bool record_on_deter = 62; // record_on_deter Fields.RecordOnDeter + bool notify_on_deter = 63; // ObjectSettings.NotifyOnDeter + repeated string features = 64; // Fields.Features + DeterScheduleSettingsV2 DeterScheduleV2 = 65; // deter_schedule_v2 Fields.DeterScheduleV2 + bool analytics_opt_in = 66; // video_clip_analytics_allowed Fields.VideoClipAnalyticsAllowed || ObjectSettings.AnalyticsOptIn + + // Dynamic chime related panel properties + string dynamic_doorbell_chime_category_id = 67; // Fields.DynamicDoorbellChimeCategoryId + string dynamic_doorbell_chime_id = 68; // dynamic_doorbell_chime_id Fields.DynamicDoorbellChimeId + string dynamic_doorbell_chime_url = 69; // dynamic_doorbell_chime_url Fields.DynamicDoorbellChimeUrl + string dynamic_doorbell_chime_sha256hash = 70; // dynamic_doorbell_chime_sha256hash Fields.DynamicDoorbellChimeSha256hash + bool record_on_vehicle_seen = 71; // record_on_vehicle Fields.RecordOnVehicleDetected + bool notify_on_doorbell_press = 72; // ObjectSettings.NotifyOnDoorbellPress + bool record_on_doorbell_press = 73; // Fields.RecordOnDoorbellPress + AspectRatioTuple aspect_ratio_tuple = 74; // Fields.AspectRatioTuple + repeated PropertyBoundaryPointList animal_boundary_points = 75; // Fields.AnimalROIs + repeated PropertyBoundaryPointList vehicle_boundary_points = 76; // Fields.VehicleROIs + repeated PropertyBoundaryPointList package_boundary_points = 77; // Fields.PackageROIs + int64 command_control_availability_state = 78; // command_control_availability_state Fields.CommandControlAvailabilityState + int64 notification_availability_state = 79; // notification_availability_state Fields.NotificationAvailabilityState + int64 network_availability_state = 80; // network_availability_state Fields.NetworkAvailabilityState + int64 stream_availability_state = 81; // stream_availability_state Fields.StreamAvailabilityState + bool notify_on_vehicle_leaving = 82; // Fields.Setting NotifyOnVehicleLeaving + + // Tracking floodlight/spotlight (e.g. Narwhal) properties + bool spotlight_installed = 83; // narwhal_installed Fields.SpotlightInstalled + SpotlightMode spotlight_mode = 84; // narwhal_mode Fields.SpotlightMode + float spotlight_brightness = 85; // narwhal_intensity_percent Fields.SpotlightIntensityPercent + int32 spotlight_num_zones = 86; // narwhal_num_zones Fields.SpotlightNumZones + uint32 enabled_spotlight_zones_bitfield = 87; // narwhal_included_zones_bitfield Fields.SpotlightIncludedZonesBitfield + // spotlight follow: true iff Fields.SpotlightPersonLightingBehavior == FOLLOW + bool spotlight_follow = 88; // narwhal_person_lighting_behavior Fields.SpotlightPersonLightingBehavior + LightingBehavior spotlight_deter_lighting_behavior = 89; + // narwhal_deter_lighting_behavior Fields.SpotlightDeterLightingBehavior + // narwhal_deter_lighting_modifier Fields.SpotlightDeterLightingModifier + SpotlightStatus spotlight_status = 90; // narwhal_status Fields.SpotlightStatus + float spotlight_temperature = 91; // narwhal_board_temperature Fields.SpotlightBoardTemperature + string spotlight_driver_version = 92; // narwhal_driver_version_number Fields.SpotlightDriverVersionNumber + string spotlight_hardware_version = 93; // narwhal_hardware_version_number Fields.SpotlightHardwareVersionNumber + bool spotlight_light_on_person_detected = 94; // narwhal_light_on_person_detected Fields.SpotlightLightOnPersonDetected + SpotlightCalibrationData spotlight_calibration = 95; // narwhal_calibration_tuple Fields.SpotlightCalibrationTuple + bool spotlight_night_mode = 96; // narwhal_night_mode Fields.SpotlightNightMode + bool spotlight_night_light = 97; // narwhal_night_light Fields.SpotlightNightLight + bool spotlight_flood_state = 98; // narwhal_flood_state Fields.SpotlightFloodState +} + +message PanelDeviceIds { + int64 panel_id = 1; + uint32 device_id = 2; +} + +message StandaloneCameraIds { + int64 smarthomesystem_id = 1; + string device_uuid = 2; // device_uuid as ID, esp. for cameras in p2p + string device_id = 3; // device_id or primary key for standalone cameras in p2p +} + +// device identifier plus extra stuff needed for all calls that will support stand-alone +message SettingsRequestHeader { + oneof ids { + PanelDeviceIds panel_device_id = 1; // common ID for panel'd systems/devices + string device_uuid = 2 [deprecated = true]; // send the device uuid along with smarthomesystem_id + StandaloneCameraIds standalone_camera_id = 3; // common ID for standalone camera devices on smarthome system + } + string device_type = 4; + bool standalone_enabled = 5; +} + +// +message GetPanelSettingsRequest { + int64 panel_id = 1; + uint32 device_id = 2; +} + +message GetPanelSettingsResponse { + Response response = 1; + bool doorbell_muted = 2; +} + +// +message SetCameraPrivacyModeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool privacy_mode = 3; +} + +message SetCameraPrivacyModeResponse { + Response response = 1; +} + +// +message SetCameraPlaybackEnabledRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool playback_enabled = 3; +} + +message SetCameraPlaybackEnabledResponse { + Response response = 1; +} + + +// NOTE: DetectionWindow is an array, but the current implementation +// will only operate on the 1st element. Because of panel +// limitations, the caller is responsible for managing detection +// windows independently - one per call. We are leaving this +// as an array for future panel enhancements. +message SetDetectionWindowsRequest { + int64 panel_id = 1; + uint32 device_id = 2; + repeated DetectionWindow detection_windows = 3; +} + +message SetDetectionWindowsResponse { + Response response = 1; +} + + +// +message SetChimeVolumeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + int32 volume = 3; +} + +message SetChimeVolumeResponse { + Response response = 1; +} + + +// +message SetChimeMuteRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool mute = 3; +} + +message SetChimeMuteResponse { + Response response = 1; +} + + +// +message SetVideoQualityRequest { + int64 panel_id = 1; + uint32 device_id = 2; + VideoQuality quality = 3; +} + +message SetVideoQualityResponse { + Response response = 1; +} + +// +message SetNightVisionRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool night_vision = 3; +} + +message SetNightVisionResponse { + Response response = 1; +} + +// +message SetIRLEDRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool ir_led_on = 3; +} + +message SetIRLEDResponse { + Response response = 1; +} + +// +message SetRotateImageRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool rotate_image = 3; +} + +message SetRotateImageResponse { + Response response = 1; +} + +// +message SetMaintainZoomRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool maintain_zoom = 3; +} + +message SetMaintainZoomResponse { + Response response = 1; +} + +// +message SetStatusLightRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool status_light = 3; +} + +message SetStatusLightResponse { + Response response = 1; +} + +// +message SetAudioRecordingRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + bool audio_recording = 3; + // panel_id+device_id or device_uuid, device_type, standalone + SettingsRequestHeader header = 4; +} + +message SetAudioRecordingResponse { + Response response = 1; +} + +// +message SetDoorbellChimeRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + DoorbellChime chime = 3; + bool standalone_enabled = 4; + string device_uuid = 5 [deprecated = true]; + SettingsRequestHeader header = 6; +} + +message SetDoorbellChimeResponse { + Response response = 1; +} + +// +message SetDoorbellMutedRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool muted = 3; +} + +message SetDoorbellMutedResponse { + Response response = 1; +} + +// +message SetVisitorChimeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + VisitorChime chime = 3; +} + +message SetVisitorChimeResponse { + Response response = 1; +} + +// +message SetPackageChimeRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + PackageChime chime = 3; + SettingsRequestHeader header = 4; +} + +message SetPackageChimeResponse { + Response response = 1; +} + +// +message SetUseAsDoorbellChimeExtenderRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool use_as_doorbell_chime_extender = 3; +} + +message SetUseAsDoorbellChimeExtenderResponse { + Response response = 1; +} + +// +message SetExtendSirenRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool extend_siren = 3; +} + +message SetExtendSirenResponse { + Response response = 1; +} + +// +message SetQuietModeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool quiet_mode = 3; +} + +message SetQuietModeResponse { + Response response = 1; +} + + +// +message GetAnalyticsOptInRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + SettingsRequestHeader header = 3; +} + +message GetAnalyticsOptInResponse { + Response response = 1; + bool opt_in = 2; +} + +// +message SetAnalyticsOptInRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + bool opt_in = 3; + uint32 version = 4; + SettingsRequestHeader header = 5; +} + +message SetAnalyticsOptInResponse { + Response response = 1; +} + + +// +message SetNotifyOnRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + bool enabled = 3; + SettingsRequestHeader header = 4; +} + +message SetNotifyOnResponse { + Response response = 1; +} + +// +message RestoreDefaultsRequest { + int64 panel_id = 1; + uint32 device_id = 2; +} + +message RestoreDefaultsResponse { + Response response = 1; +} + +message AdjustCameraToXyzRequest { + int64 panel_id = 1; + uint32 device_id = 2; + string stream_id = 3; + uint32 x = 4; + uint32 y = 5; + uint32 z = 6; +} + +message AdjustCameraToXyzResponse { + Response response = 1; +} + +// +message RebootCameraRequest { + int64 panel_id = 1; + uint32 device_id = 2; + // The type of camera. ex: alpha_cs6022_camera_device, vivotek_db8332sw_camera_device, etc. + string device_type = 3; +} + +message RebootCameraResponse { + Response response = 1; +} + +// +message DeleteAllEventsRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + SettingsRequestHeader header = 3; +} + +message DeleteAllEventsResponse { + Response response = 1; +} + +// +message DeleteCameraRequest { + int64 panel_id = 1; + uint32 device_id = 2; +} + +message DeleteCameraResponse { + Response response = 1; +} + +// +message SetCameraListOrderRequest { + int64 panel_id = 1; + string user_id = 2; + // The camera ids in order to be presented in the camera list view. + repeated uint32 device_id = 3; +} + +message SetCameraListOrderResponse { + Response response = 1; +} + +// +message SetLurkerDeterRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool lurker_deter = 3; +} + +message SetLurkerDeterResponse { + Response response = 1; +} + +// +message SetSmartSentrySnoozeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + uint32 duration = 3; // minutes +} + +message SetSmartSentrySnoozeResponse { + Response response = 1; +} + +// +message SetPackageWatchRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool package_watch = 3; +} + +message SetPackageWatchResponse { + Response response = 1; +} + +// +message SetPropertyBoundaryRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + repeated PropertyBoundaryPointList point_list = 3; + SettingsRequestHeader header = 4; +} + +message SetPropertyBoundaryResponse { + Response response = 1; +} + +// +message SetDeterScheduleRequest { + int64 panel_id = 1; + uint32 device_id = 2; + DeterScheduleType type = 3; + DeterSchedule schedule = 4; +} + +message SetDeterScheduleResponse { + Response response = 1; +} + +// +message SetDeterScheduleV2Request { + int64 panel_id = 1; + uint32 device_id = 2; + DeterScheduleSettingsV2 schedule_settings = 3; +} + +message SetDeterScheduleV2Response { + Response response = 1; +} + +message DeterScheduleSettingsV2 { + repeated DeterScheduleType deter_schedule_types = 1; + DeterSchedule schedule = 2; +} + +message AspectRatioTuple { + uint32 width = 1; + uint32 height = 2; +} + +// +message SetDeterAggressionLevelRequest { + int64 panel_id = 1; + uint32 device_id = 2; + DeterAggressionLevel level = 3; +} + +message SetDeterAggressionLevelResponse { + Response response = 1; +} + +// +message SetDeterLightColorRequest { + int64 panel_id = 1; + uint32 device_id = 2; + DeterLightColor color = 3; +} + +message SetDeterLightColorResponse { + Response response = 1; +} + +// +message SetDeterLightPatternRequest { + int64 panel_id = 1; + uint32 device_id = 2; + DeterLightPattern pattern = 3; +} + +message SetDeterLightPatternResponse { + Response response = 1; +} + +// +message SetDeterOverrideRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool enabled = 3; + int64 end_timestamp = 4; +} + +message SetDeterOverrideResponse { + Response response = 1; +} + +// +message SetLingerDurationRequest { + int64 panel_id = 1; + uint32 device_id = 2; + // Number of seconds before the deter light and tone play. + uint32 duration = 3; +} + +message SetLingerDurationResponse { + Response response = 1; +} + +// +message SetAnimalBoundaryRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + repeated PropertyBoundaryPointList point_list = 3; + SettingsRequestHeader header = 4; +} + +message SetAnimalBoundaryResponse { + Response response = 1; +} + +// +message SetPackageBoundaryRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + repeated PropertyBoundaryPointList point_list = 3; + SettingsRequestHeader header = 4; +} + +message SetPackageBoundaryResponse { + Response response = 1; +} + +// +message SetVehicleBoundaryRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + repeated PropertyBoundaryPointList point_list = 3; + SettingsRequestHeader header = 4; +} + +message SetVehicleBoundaryResponse { + Response response = 1; +} + +// +message SetDeterBoundaryRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + repeated PropertyBoundaryPointList point_list = 3; + SettingsRequestHeader header = 4; +} + +message SetDeterBoundaryResponse { + Response response = 1; +} + +// +message GetPanelLoginRequest { + int64 panel_id = 1; +} + +message GetPanelLoginResponse { + Response response = 1; + string user = 2; + string password = 3; +} + +// Record on requests and responses +message SetCaptureClipOnRequest { + SettingsRequestHeader header = 1; + bool enabled = 2; +} + +message SetCaptureClipOnResponse { + Response response = 1; +} + +message SetRecordOnDeterRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool record_on_deter = 3; +} + +message SetRecordOnDeterResponse { + Response response = 1; +} + + +// +message SetRecordOnPersonDetectedRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool record_on_person = 3; +} + +message SetRecordOnPersonDetectedResponse { + Response response = 1; +} + +// +message SetRecordOnPackageDetectedRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool record_on_package = 3; +} + +message SetRecordOnPackageDetectedResponse { + Response response = 1; +} + +// +message SetRecordOnLurkerDetectedRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool record_on_lurker = 3; +} + +message SetRecordOnLurkerDetectedResponse { + Response response = 1; +} + +// +message SetRecordOnAnimalDetectedRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool record_on_animal = 3; +} + +message SetRecordOnAnimalDetectedResponse { + Response response = 1; +} + +// +message SetRecordOnVehicleDetectedRequest { + int64 panel_id = 1; + uint32 device_id = 2; + bool record_on_vehicle = 3; +} + +message SetRecordOnVehicleDetectedResponse { + Response response = 1; +} + +// +message SetRecordForRegionsRequest { + int64 panel_id = 1; + uint32 device_id = 2; + RecordForRegions record_for_region = 3; +} + +message SetRecordForRegionsResponse { + Response response = 1; +} + +// +message SetAnalyticsSensitivityRequest { + int64 panel_id = 1; + uint32 device_id = 2; + int32 analytics_sensitivity = 3; +} + +message SetAnalyticsSensitivityResponse { + Response response = 1; +} + +// +message PreviewChimeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + ChimeType chime_type = 3; +} + +message SetPackageDeliveryLocationsResponse { + Response response = 1; +} + +message SetPackageDeliveryLocationsRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + repeated PropertyBoundaryPoint package_delivery_locations = 3; + SettingsRequestHeader header = 4; +} + +message PreviewChimeResponse { + Response response = 1; +} + +// +message GetDeviceOnboardingRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + SettingsRequestHeader header = 3; +} + +message GetDeviceOnboardingResponse { + Response response = 1; + bool property_boundary = 2; + bool notifications = 3; + bool deter_intro = 4; + bool deter_schedule = 5; + bool deter_aggression_level = 6; + bool camera_name = 7; + bool camera_rotate = 8; + bool analytics_opt_in = 9; + bool doorbell_position = 10; + bool package_delivery_locations = 11; + bool package_watch = 12; + bool property_boundary_v2 = 13; + + // spotlight (narwhal) onboarding + bool spotlight_splash = 14; + bool spotlight_deter_intro = 15; + bool spotlight_default_settings = 16; + bool spotlight_deter_schedule = 17; + bool spotlight_camera_name = 18; + bool spotlight_analytics_opt_in = 19; + bool spotlight_onboarding_done = 20; + +} + +// +message SetDeviceOnboardingRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + oneof property { + bool property_boundary = 3; + bool notifications = 4; + bool deter_intro = 5; + bool deter_schedule = 6; + bool deter_aggression_level = 7; + bool camera_name = 8; + bool camera_rotate = 9; + bool analytics_opt_in = 10; + bool doorbell_position = 11; + bool package_delivery_locations = 12; + bool package_watch = 13; + bool property_boundary_v2 = 14; + + // spotlight (narwhal) onboarding + bool spotlight_splash = 16; + bool spotlight_deter_intro = 17; + bool spotlight_default_settings = 18; + bool spotlight_deter_schedule = 19; + bool spotlight_camera_name = 20; + bool spotlight_analytics_opt_in = 21; + bool spotlight_onboarding_done = 22; + } + SettingsRequestHeader header = 15; +} + +message SetDeviceOnboardingResponse { + Response response = 1; +} + +message SetDoorbellPositionRequest { + int64 panel_id = 1 [deprecated = true]; + uint32 device_id = 2 [deprecated = true]; + DoorbellPosition doorbell_position = 3; + SettingsRequestHeader header = 4; +} + +message SetDoorbellPositionResponse { + Response response = 1; +} + +message SetPackageWatchStateRequest { + option deprecated = true; + + int64 panel_id = 1; + uint32 device_id = 2; + bool on_duty = 3; + int64 end_timestamp = 4; +} + +message SetPackageWatchStateResponse { + option deprecated = true; + + Response response = 1; +} + +message DynamicChimeInfo { + string id = 1; + string name = 2; + string url = 3; + string sha256hash = 4; +} + +message DynamicChimeBannerInfo { + string headline = 1; + string subhead = 2; + string MainAnimation = 3; // lottie or png + string BackgroundAnimation = 4; +} + +message DynamicChimeSplashPageInfo { + string Image_iOS = 1; // pdf + string Image_Android = 2; // webp + string headline = 3; + repeated DynamicChimeSplashPageBulletInfo Bullets = 4; + string PrimaryButtonCopy = 5; +} + +message DynamicChimeSplashPageBulletInfo { + string headline = 1; + string body = 2; +} + +message DynamicChimeCategory { + string id = 1; + string name = 2; + google.protobuf.Timestamp availability_start = 3; + google.protobuf.Timestamp availability_end = 4; + string ui_availability_copy = 5; + repeated DynamicChimeInfo dynamic_chime_info = 6; + DynamicChimeBannerInfo dynamic_chime_banner_info = 7; + DynamicChimeSplashPageInfo dynamic_chime_splash_page_info = 8; +} + +message GetDynamicChimesRequest { + int64 panel_id = 1; + oneof ids { + string chime_id = 2; + string chime_category_id = 3; + } + bool ignore_active_check = 4; +} + +message GetDynamicChimesResponse { + Response response = 1; + repeated DynamicChimeCategory dynamic_chimes = 2; +} + +message SetDynamicChimeRequest { + int64 panel_id = 1; + uint32 device_id = 2; + string chime_category_id = 3; + string chime_id = 4; + ChimeType chime_type = 5; +} + +message SetDynamicChimeResponse { + Response response = 1; +} + + + +message SetUserRoleRequest { + SettingsRequestHeader header = 1; + string targetUserId = 2; + enum UserRole { // from pl/constants/definitions/user_roles.yaml + NO_ROLE = 0; + OWNER = 1; + ADMIN = 2; + NON_ADMIN = 3; + } + UserRole newRole = 3; +} + +message SetUserRoleResponse { + Response response = 1; +} + +message Date { + int32 year = 1; + int32 month = 2; + int32 day = 3; +} + +message GetClipSharingLinkRequest { + SettingsRequestHeader header = 1; + Date history_date = 2; + string history_record_id = 3; +} + +message GetClipSharingLinkResponse { + Response response = 1; + string clip_sharing_link = 2; +} + +message ReportVideoFailedRequest { + string camera_name = 1; + int32 count = 2; + string date = 3; + uint32 device_id = 4; + string device_type = 5; + string interface = 6; + string mobile_device_id = 7; + int64 panel_id = 8; + string previous_stream_array = 9; + string reason = 10; + string session = 11; + string url = 12; + string app = 13; + string stream_name = 14; + string app_version = 15; +} + +message ReportVideoFailedResponse { + Response response = 1; + string request_id = 2; +} + + + +// DIY/Hub+ messages + +message PanelKillWiFiNetworkRequest { + int64 panel_id = 1; +} + +message PanelRefreshSSIDListRequest { + int64 panel_id = 1; + bool forWiFiConnect = 2; +} + +message StartCameraWifiConnectResponse { + Response response = 1; +} + +message StartCameraWifiConnectRequest { + int64 panel_id = 1; + repeated string camera_ap_ssids = 2; +} + +message AddCameraToHubRequest { + int64 panel_id = 1; + string camera_type = 2; + string uuid = 3; + string ip_address = 4; + string urn = 5; +} + +message AccessPointInfo { + uint32 channel = 1; + string ssid = 2; + string mac_addr = 3; + string encryption_types = 4; + int32 signal_percent = 5; + int32 unknown = 6; +} + +// +// Supporting structures + +message Response { + google.protobuf.Timestamp timestamp = 1; +} + +// Only ints are supported for the fields: major.minor[.maintenance[.build]] +message SoftwareVersion { + int32 major = 1; + int32 minor = 2; + int32 maintenance = 3; + int32 build = 4; +} + +// TypeCapabilities specifies the capablilties of a type +message TypeCapabilities { + uint32 type = 1; // camera, doorbell, etc + repeated uint32 capabilities = 2; +} + +// Capabilities is all of the types/capabilities a camera supports +message Capabilities { + repeated TypeCapabilities type_capability = 1; +} + +message TechnicalInfo { + bool status = 1; // Fields.Online + float signal_strength = 3; // percentage represented as a value between 0.0 - 1.0 Fields.WirelessSignalStrength + string ip_address = 4; // Fields.CameraIPAddress + string AP_SSID = 6; // Fields.ConnectedSSID + string software_version = 7; // Fields.SoftwareVersion + string analytics_version = 8; // Feilds.AnalyticsVersion + string actual_type = 9; // camera type. Eg: "act": "vivint_odc300_camera_device" // Fields.ActualType + string mac_address = 10; // Fields.CameraMac + enum AudioCodec { + INVALID = 0; + MU_LAW_G_711 = 1; + OPUS = 2; + } + AudioCodec audio_codec = 11; + int32 audio_sample_rate = 12; +} + +// Usage: +// To update a detection window, set all desired values +// and make sure to set the index. +// +// To add a detection window, set all desired values and make +// sure to set index to -1. The panel will create an index. +// +// To delete a detection window, set both width and height to zero. +// And be sure to set the index for the window to be deleted. +message DetectionWindow { + float origin_x = 1; //Value between 0.0 - 1.0 relative to camera resolution + float origin_y = 2; //Value between 0.0 - 1.0 relative to camera resolution + float width = 3; //Value between 0.0 - 1.0 relative to camera resolution + float height = 4; //Value between 0.0 - 1.0 relative to camera resolution + float sensitivity = 5; + float object_size = 6; + int32 index = 7; +} + +message PropertyBoundaryPointList { + repeated PropertyBoundaryPoint points = 1; +} + +message PropertyBoundaryPoint { + float x = 1; // Value between 0.0 - 1.0 relative to camera resolution + float y = 2; // Value between 0.0 - 1.0 relative to camera resolution +} + +message DeterSchedule { + bool sun = 1; + bool mon = 2; + bool tue = 3; + bool wed = 4; + bool thu = 5; + bool fri = 6; + bool sat = 7; + uint32 local_start_minutes = 8; + uint32 local_end_minutes = 9; +} + +enum DeterScheduleType { + ALWAYS = 0; + SCHEDULED = 1; + ARMED = 2; + SCHTYPENONE = 3; + NEVER = 4; + USER_OVERRIDE = 5; + CUSTOM_ACTION = 6; + + // These are taken from DetectionEventType + UNKNOWN_OBJECT_DETER = 7; + PACKAGE_DETER = 8; + PACKAGE_MOVED_DETER = 9; + PERSON_DETER = 10; + LURKER_DETER = 11; + VEHICLE_DETER = 12; + ANIMAL_DETER = 13; + SNOOZE = 14; + PACKAGE_APPROACHED_DETER = 15; + VEHICLE_LEAVING_DETER = 16; +} + +enum DeterAggressionLevel { + ONE = 0; + TWO = 1; + THREE = 2; + FOUR = 3; + AGGLEVELNONE = 4; + FIVE = 5; + SIX = 6; + SEVEN = 7; +} + +enum DeterLightColor { + RED = 0; + YELLOW = 1; +} + +enum DeterLightPattern { + SOLID = 0; + FLASH = 1; + BREATH = 2; +} + +enum VideoQuality { + VQ_ZERO = 0; + LOW = 1; // The panel video quality setting is 1 based + FAIR = 2; + MEDIUM = 3; + GOOD = 4; + GREAT = 5; +} + +enum DoorbellChime { + DC_NONE = 0; + TRADITIONAL = 1; + ELEVATOR = 2; + MELODY = 8; + BELLS = 17; + MODERN = 18; + ELEVATOR2 = 19; + MELODY2 = 20; + TRADITIONAL2 = 21; + DOORBELL_DYNAMIC = 26; +} + +enum VisitorChime { + VC_NONE = 0; + INSIGHT = 3; + LOW_DOUBLE = 4; + PIANO = 5; + HIGH_DOUBLE = 7; + DINGALING = 12; + DROPS = 13; + HI = 14; + SUCCESS = 15; + WAVE = 16; + VISITOR_DYNAMIC = 26; +} + +enum PackageChime { + PC_NONE = 0; + PACKAGE_DYNAMIC = 26; + ALERT = 51; + FRIENDLY = 52; + HELLO = 53; + SCALE = 54; + WHISTLE = 55; + LIGHT_ONLY = 56; + RECORDING = 57; + PC_8 = 58; + PC_9 = 59; + PC_10 = 60; + PC_11 = 61; + PC_12 = 62; + PC_13 = 63; + PC_14 = 64; + PC_15 = 65; +} + +enum RecordForRegions { + RECORD_FOR_REGIONS_NOTSET = 0; + RECORD_FOR_PROPERTY = 1; + RECORD_FOR_EVERYWHERE = 2; +} + +enum ChimeType { + INVALID_CHIME_TYPE = 0; + DOORBELL = 1; + VISITOR = 2; + PACKAGE = 3; +} + +enum DoorbellPosition { + UNSET = 0; + LEFT_SIDE = 1; + RIGHT_SIDE = 2; + LEFT_WALL = 3; + RIGHT_WALL = 4; +} + +message CameraThumbnailRequest { + int64 panel_id = 1; + uint32 device_id = 2; + uint32 partition_id = 3; +} + +message CameraThumbnailResponse { + Response response = 1; +} + +message SystemRequestHeader { + int64 system_id = 1; + bool is_smarthome_system = 2; +} + +message GetHistoryClipURLRequest { + SystemRequestHeader header = 1; + string history_record_id = 2; + Date history_date = 3; + bool download = 4; +} + +message GetLegacyHistoryClipURLRequest { + string history_record_id = 1; +} + +message GetHistoryClipURLResponse { + Response response = 1; + string clip_url = 2; +} + +message AssociateDvrRequest { + int64 panel_id = 1; + string space_monkey_hardware_id = 2; +} + +message AssociateDvrResponse { + string dvr_service_id = 2; +} + +message SpotlightCalibrationData { + enum CalibrationType { + CALIBRATION_TYPE_AUTO = 0; + CALIBRATION_TYPE_MANUAL = 1; + } + // Represents the calibration information for a manually calibrated zone for Narwhal/Spotlight. + message ZoneData { + // from the camera's PoV, zone 0 is the right-most, zone 8 is left-most + uint32 zone_id = 1; + // 0.0 to 1.0, left to right + float x = 2; + // 0.0 to 1.0, top to bottom + float y = 3; + // 'false' => outside camera's FOV, i.e. ignore X,Y + bool in_fov = 4; + } + + CalibrationType calibration_type = 1; + repeated ZoneData zones = 2; +} + +message SetSpotlightCalibrationRequest { + SettingsRequestHeader header = 1; + SpotlightCalibrationData calibration_data = 2; +} + +message SetSpotlightCalibrationResponse { + Response response = 1; +} + +message SetSpotlightZonesRequest { + SettingsRequestHeader header = 1; + uint32 enabled_zones_bitfield = 2; +} + +message SetSpotlightZonesResponse { + Response response = 1; +} + +message SetSpotlightLightOnPersonDetectedRequest { + SettingsRequestHeader header = 1; + bool LightOnPersonDetected = 2; +} + +message SetSpotlightLightOnPersonDetectedResponse { + Response response = 1; +} + +message SetSpotlightBrightnessRequest { + SettingsRequestHeader header = 1; + float brightness_percent = 2; +} + +message SetSpotlightBrightnessResponse { + Response response = 1; +} + +message ToggleFloodlightRequest { + SettingsRequestHeader header = 1; + bool floodlight_on = 2; +} + +message ToggleFloodlightResponse { + Response response = 1; +} + +message SetSpotlightOnSunsetToSunriseRequest { + option deprecated = true; // Use SetSpotlightNightLight instead + SettingsRequestHeader header = 1; + bool enabled = 2; +} + +message SetSpotlightOnSunsetToSunriseResponse { + option deprecated = true; // Use SetSpotlightNightLight instead + Response response = 1; +} + +message SetSpotlightNightLightRequest { + SettingsRequestHeader header = 1; + bool enabled = 2; +} + +message SetSpotlightNightLightResponse { + Response response = 1; +} + +message BeamPortalCommand { + string uuid = 1; + oneof command { + uint32 setEnabledSpotlightZonesBitfield = 2; + } +} + +message LightingBehavior { + enum Behavior { + OFF = 0; + FLOOD = 1; + TRACK = 2; + WAVE = 3; + CIRCLE = 4; + + STROBE = 101; + } + Behavior behavior = 2; +} + +enum SpotlightMode { + SPOTLIGHT_MODE_OFF = 0; + SPOTLIGHT_MODE_FLOOD = 1; + SPOTLIGHT_MODE_CALIBRATE = 2; + SPOTLIGHT_MODE_TRACK = 3; + SPOTLIGHT_MODE_DETER = 4; + SPOTLIGHT_MODE_STARTUP = 5; +} + +enum SpotlightStatus { + SPOTLIGHT_STATUS_SUCCESS = 0; // Success! + SPOTLIGHT_STATUS_UNKNOWN_ERROR = 1; // Unknown error. + + SPOTLIGHT_STATUS_NO_HARDWARE = 2; // Hardware unit not found or not attached (i2c bus failure) + SPOTLIGHT_STATUS_BAD_DEVICE = 3; // Device failure. I2C ok but one or more I2C devices not found. + SPOTLIGHT_STATUS_NO_LED_POWER = 4; // LED Power returned "Not Good". + + SPOTLIGHT_STATUS_NO_HW_VERSION = 5; // Could not retrieve hardware version + SPOTLIGHT_STATUS_NO_TEMPERATURE = 6; // Could not retrieve temperature + + SPOTLIGHT_STATUS_INVALID_COMMAND = 7; // Request wasn't valid or not compiled in (i.e. set test zones) +} + +message SetDeterLightingBehaviorRequest { + SettingsRequestHeader header = 1; + LightingBehavior lightingBehavior = 2; +} + +message SetDeterLightingBehaviorResponse { + Response response = 1; +} + +message SetSpotlightFollowRequest { + SettingsRequestHeader header = 1; + bool follow = 2; +} + +message SetSpotlightFollowResponse { + Response response = 1; +} diff --git a/pylintrc b/pylintrc index 2a1e8eb..b421240 100644 --- a/pylintrc +++ b/pylintrc @@ -1,5 +1,5 @@ [MASTER] -#ignore=tests +ignore=proto # Use a conservative default here; 2 should speed up most setups and not hurt # any too bad. Override on command line as appropriate. jobs=2 diff --git a/pyproject.toml b/pyproject.toml index 3ac208b..a80e028 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,6 +14,7 @@ python = "^3.7.2" aiohttp = "^3.8.4" certifi = "^2022.9.24" pubnub = "^7.0" +grpcio = "^1.51.3" [tool.poetry.dev-dependencies] tox = "^3.28.0" @@ -27,6 +28,7 @@ isort = "^5.11.5" mypy = "^1.0" pydocstyle = "^6.3.0" pylint = "^2.16.4" +grpcio-tools = "^1.51.3" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/setup.cfg b/setup.cfg index 1fa9a81..e7af412 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [flake8] -exclude = .venv,.git,.tox,docs,venv,bin,lib,deps,build +exclude = .venv,.git,.tox,docs,venv,bin,lib,deps,build,proto # To work with Black max-line-length = 88 ignore = @@ -14,6 +14,7 @@ include_trailing_comma = True force_grid_wrap = 0 use_parentheses = True line_length = 88 +extend_skip_glob=vivintpy/proto/* [mypy] python_version = 3.9 @@ -30,5 +31,8 @@ warn_incomplete_stub = true warn_redundant_casts = true warn_unused_configs = true -[mypy-test.*,] +[mypy-vivintpy.proto.*] ignore_errors = true + +[pydocstyle] +match-dir = ^((?!proto).)*$ \ No newline at end of file diff --git a/tox.ini b/tox.ini index def899e..8d5cad8 100644 --- a/tox.ini +++ b/tox.ini @@ -15,7 +15,7 @@ commands = ignore_errors = True commands = poetry run isort . - poetry run black . --check + poetry run black . --check --extend-exclude proto poetry run flake8 . poetry run pylint vivintpy tests poetry run pydocstyle vivintpy tests diff --git a/vivintpy/const.py b/vivintpy/const.py index 8050e30..c34f909 100644 --- a/vivintpy/const.py +++ b/vivintpy/const.py @@ -129,6 +129,7 @@ class CameraAttribute(VivintDeviceAttribute): CAMERA_DIRECT_AVAILABLE = "cda" CAMERA_DIRECT_STREAM_PATH = "cdp" CAMERA_DIRECT_STREAM_PATH_STANDARD = "cdps" + CAMERA_EXTEND_CHIME_ENABLED = "cex" CAMERA_IP_ADDRESS = "caip" CAMERA_IP_PORT = "cap" CAMERA_MAC = "cmac" diff --git a/vivintpy/devices/camera.py b/vivintpy/devices/camera.py index ef1b514..47a5903 100644 --- a/vivintpy/devices/camera.py +++ b/vivintpy/devices/camera.py @@ -87,6 +87,11 @@ def capture_clip_on_motion(self) -> bool: """Return True if capture clip on motion is active.""" return bool(self.data[Attribute.CAPTURE_CLIP_ON_MOTION]) + @property + def extend_chime_enabled(self) -> bool: + """Return True if used as doorbell chime extender.""" + return self.data.get(Attribute.CAMERA_EXTEND_CHIME_ENABLED, False) + @property def ip_address(self) -> str: """Camera's IP address.""" @@ -154,6 +159,12 @@ async def get_direct_rtsp_url( else None ) + async def set_as_doorbell_chime_extender(self, state: bool) -> None: + """Set camera's use as doorbell chime extender.""" + await self.vivintskyapi.set_camera_as_doorbell_chime_extender( + self.alarm_panel.id, self.id, state + ) + def handle_pubnub_message(self, message: dict) -> None: """Handle a pubnub message addressed to this camera.""" super().handle_pubnub_message(message) diff --git a/vivintpy/proto/beam_pb2.py b/vivintpy/proto/beam_pb2.py new file mode 100644 index 0000000..fa48938 --- /dev/null +++ b/vivintpy/proto/beam_pb2.py @@ -0,0 +1,536 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: vivintpy/proto/beam.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19vivintpy/proto/beam.proto\x12\x04\x62\x65\x61m\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"~\n\x14SetDeviceNameRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"9\n\x15SetDeviceNameResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"D\n\x1dGetCameraTechnicalInfoRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\"e\n\x1eGetCameraTechnicalInfoResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12!\n\x04info\x18\x02 \x01(\x0b\x32\x13.beam.TechnicalInfo\"t\n\x18GetCameraSettingsRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12+\n\x06header\x18\x03 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"\xcd\x1b\n\x19GetCameraSettingsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x14\n\x0cprivacy_mode\x18\x02 \x01(\x08\x12\x18\n\x10playback_enabled\x18\x04 \x01(\x08\x12\x30\n\x11\x64\x65tection_windows\x18\x06 \x03(\x0b\x32\x15.beam.DetectionWindow\x12\x14\n\x0c\x63hime_volume\x18\x07 \x01(\x05\x12\x12\n\nmute_chime\x18\x08 \x01(\x08\x12)\n\rvideo_quality\x18\t \x01(\x0e\x32\x12.beam.VideoQuality\x12\x14\n\x0cnight_vision\x18\n \x01(\x08\x12\x0c\n\x04\x66lip\x18\x0b \x01(\x08\x12\x11\n\tzoom_lock\x18\x0c \x01(\x08\x12\x0e\n\x06led_on\x18\r \x01(\x08\x12\x14\n\x0crecord_audio\x18\x0e \x01(\x08\x12+\n\x0e\x64oorbell_chime\x18\x0f \x01(\x0e\x32\x13.beam.DoorbellChime\x12)\n\rvisitor_chime\x18\x10 \x01(\x0e\x32\x12.beam.VisitorChime\x12\x14\n\x0c\x65xtend_chime\x18\x11 \x01(\x08\x12\x12\n\nquiet_mode\x18\x12 \x01(\x08\x12\x0c\n\x04name\x18\x13 \x01(\t\x12!\n\x04info\x18\x14 \x01(\x0b\x32\x13.beam.TechnicalInfo\x12\x11\n\tir_led_on\x18\x15 \x01(\x08\x12(\n\x0c\x63\x61pabilities\x18\x16 \x01(\x0b\x32\x12.beam.Capabilities\x12\x34\n\x10\x61ggression_level\x18\x03 \x01(\x0e\x32\x1a.beam.DeterAggressionLevel\x12+\n\ndeter_type\x18\x17 \x01(\x0e\x32\x17.beam.DeterScheduleType\x12+\n\x0e\x64\x65ter_schedule\x18\x18 \x01(\x0b\x32\x13.beam.DeterSchedule\x12\x41\n\x18property_boundary_points\x18\x19 \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12>\n\x15\x64\x65ter_boundary_points\x18\x1a \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12\x30\n\x11\x64\x65ter_light_color\x18\x1b \x01(\x0e\x32\x15.beam.DeterLightColor\x12\x34\n\x13\x64\x65ter_light_pattern\x18\x1c \x01(\x0e\x32\x17.beam.DeterLightPattern\x12\x17\n\x0flinger_duration\x18\x1d \x01(\r\x12\x14\n\x0c\x65xtend_siren\x18\x1e \x01(\x08\x12\x14\n\x0clurker_deter\x18\x1f \x01(\x08\x12\x32\n\x12record_for_regions\x18 \x01(\x0e\x32\x16.beam.RecordForRegions\x12!\n\x19record_on_lurker_detected\x18! \x01(\x08\x12\"\n\x1arecord_on_package_detected\x18\" \x01(\x08\x12!\n\x19record_on_person_detected\x18# \x01(\x08\x12\x1d\n\x15\x61nalytics_sensitivity\x18$ \x01(\x05\x12)\n\rpackage_chime\x18% \x01(\x0e\x32\x12.beam.PackageChime\x12\x14\n\x0c\x63onnected_to\x18& \x01(\t\x12\x1e\n\x16\x63\x61mera_connection_type\x18\' \x01(\t\x12$\n\x1cvideo_clip_analytics_allowed\x18( \x01(\x08\x12\x15\n\rpackage_watch\x18) \x01(\x08\x12!\n\x19notify_on_person_detected\x18* \x01(\x08\x12!\n\x19notify_on_lurker_detected\x18+ \x01(\x08\x12\x31\n\x11\x64oorbell_position\x18, \x01(\x0e\x32\x16.beam.DoorbellPosition\x12\x1e\n\x16notify_on_package_seen\x18- \x01(\x08\x12\x1f\n\x17notify_on_package_moved\x18. \x01(\x08\x12\x1e\n\x16notify_on_vehicle_seen\x18/ \x01(\x08\x12\x1d\n\x15notify_on_animal_seen\x18\x30 \x01(\x08\x12?\n\x1apackage_delivery_locations\x18\x31 \x03(\x0b\x32\x1b.beam.PropertyBoundaryPoint\x12!\n\x19smart_sentry_snooze_until\x18\x32 \x01(\r\x12\x1f\n\x13package_watch_state\x18\x34 \x01(\x08\x42\x02\x18\x01\x12\x1e\n\x16\x64\x65ter_schedule_version\x18\x35 \x01(\r\x12\x15\n\rdeter_on_duty\x18\x36 \x01(\x08\x12-\n\x0c\x64\x65ter_reason\x18\x37 \x01(\x0e\x32\x17.beam.DeterScheduleType\x12\x17\n\x0f\x64\x65ter_timestamp\x18\x38 \x01(\x04\x12\x17\n\x0f\x64\x65ter_user_info\x18\x39 \x01(\t\x12\x16\n\x0e\x64\x65ter_override\x18: \x01(\x08\x12$\n\x1c\x64\x65ter_override_end_timestamp\x18; \x01(\x04\x12;\n\x1a\x64\x65ter_valid_schedule_types\x18< \x03(\x0e\x32\x17.beam.DeterScheduleType\x12%\n\x1dsmart_sentry_snooze_user_info\x18= \x01(\t\x12\x17\n\x0frecord_on_deter\x18> \x01(\x08\x12\x17\n\x0fnotify_on_deter\x18? \x01(\x08\x12\x10\n\x08\x66\x65\x61tures\x18@ \x03(\t\x12\x36\n\x0f\x44\x65terScheduleV2\x18\x41 \x01(\x0b\x32\x1d.beam.DeterScheduleSettingsV2\x12\x18\n\x10\x61nalytics_opt_in\x18\x42 \x01(\x08\x12*\n\"dynamic_doorbell_chime_category_id\x18\x43 \x01(\t\x12!\n\x19\x64ynamic_doorbell_chime_id\x18\x44 \x01(\t\x12\"\n\x1a\x64ynamic_doorbell_chime_url\x18\x45 \x01(\t\x12)\n!dynamic_doorbell_chime_sha256hash\x18\x46 \x01(\t\x12\x1e\n\x16record_on_vehicle_seen\x18G \x01(\x08\x12 \n\x18notify_on_doorbell_press\x18H \x01(\x08\x12 \n\x18record_on_doorbell_press\x18I \x01(\x08\x12\x32\n\x12\x61spect_ratio_tuple\x18J \x01(\x0b\x32\x16.beam.AspectRatioTuple\x12?\n\x16\x61nimal_boundary_points\x18K \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12@\n\x17vehicle_boundary_points\x18L \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12@\n\x17package_boundary_points\x18M \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12*\n\"command_control_availability_state\x18N \x01(\x03\x12\'\n\x1fnotification_availability_state\x18O \x01(\x03\x12\"\n\x1anetwork_availability_state\x18P \x01(\x03\x12!\n\x19stream_availability_state\x18Q \x01(\x03\x12!\n\x19notify_on_vehicle_leaving\x18R \x01(\x08\x12\x1b\n\x13spotlight_installed\x18S \x01(\x08\x12+\n\x0espotlight_mode\x18T \x01(\x0e\x32\x13.beam.SpotlightMode\x12\x1c\n\x14spotlight_brightness\x18U \x01(\x02\x12\x1b\n\x13spotlight_num_zones\x18V \x01(\x05\x12(\n enabled_spotlight_zones_bitfield\x18W \x01(\r\x12\x18\n\x10spotlight_follow\x18X \x01(\x08\x12\x41\n!spotlight_deter_lighting_behavior\x18Y \x01(\x0b\x32\x16.beam.LightingBehavior\x12/\n\x10spotlight_status\x18Z \x01(\x0e\x32\x15.beam.SpotlightStatus\x12\x1d\n\x15spotlight_temperature\x18[ \x01(\x02\x12 \n\x18spotlight_driver_version\x18\\ \x01(\t\x12\"\n\x1aspotlight_hardware_version\x18] \x01(\t\x12*\n\"spotlight_light_on_person_detected\x18^ \x01(\x08\x12=\n\x15spotlight_calibration\x18_ \x01(\x0b\x32\x1e.beam.SpotlightCalibrationData\x12\x1c\n\x14spotlight_night_mode\x18` \x01(\x08\x12\x1d\n\x15spotlight_night_light\x18\x61 \x01(\x08\x12\x1d\n\x15spotlight_flood_state\x18\x62 \x01(\x08\"5\n\x0ePanelDeviceIds\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\"Y\n\x13StandaloneCameraIds\x12\x1a\n\x12smarthomesystem_id\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x65vice_uuid\x18\x02 \x01(\t\x12\x11\n\tdevice_id\x18\x03 \x01(\t\"\xd6\x01\n\x15SettingsRequestHeader\x12/\n\x0fpanel_device_id\x18\x01 \x01(\x0b\x32\x14.beam.PanelDeviceIdsH\x00\x12\x19\n\x0b\x64\x65vice_uuid\x18\x02 \x01(\tB\x02\x18\x01H\x00\x12\x39\n\x14standalone_camera_id\x18\x03 \x01(\x0b\x32\x19.beam.StandaloneCameraIdsH\x00\x12\x13\n\x0b\x64\x65vice_type\x18\x04 \x01(\t\x12\x1a\n\x12standalone_enabled\x18\x05 \x01(\x08\x42\x05\n\x03ids\">\n\x17GetPanelSettingsRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\"T\n\x18GetPanelSettingsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x16\n\x0e\x64oorbell_muted\x18\x02 \x01(\x08\"X\n\x1bSetCameraPrivacyModeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0cprivacy_mode\x18\x03 \x01(\x08\"@\n\x1cSetCameraPrivacyModeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"`\n\x1fSetCameraPlaybackEnabledRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x18\n\x10playback_enabled\x18\x03 \x01(\x08\"D\n SetCameraPlaybackEnabledResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"s\n\x1aSetDetectionWindowsRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x30\n\x11\x64\x65tection_windows\x18\x03 \x03(\x0b\x32\x15.beam.DetectionWindow\"?\n\x1bSetDetectionWindowsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"L\n\x15SetChimeVolumeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x0e\n\x06volume\x18\x03 \x01(\x05\":\n\x16SetChimeVolumeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"H\n\x13SetChimeMuteRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x0c\n\x04mute\x18\x03 \x01(\x08\"8\n\x14SetChimeMuteResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"b\n\x16SetVideoQualityRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12#\n\x07quality\x18\x03 \x01(\x0e\x32\x12.beam.VideoQuality\";\n\x17SetVideoQualityResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"R\n\x15SetNightVisionRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0cnight_vision\x18\x03 \x01(\x08\":\n\x16SetNightVisionResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"I\n\x0fSetIRLEDRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x11\n\tir_led_on\x18\x03 \x01(\x08\"4\n\x10SetIRLEDResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"R\n\x15SetRotateImageRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0crotate_image\x18\x03 \x01(\x08\":\n\x16SetRotateImageResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"T\n\x16SetMaintainZoomRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x15\n\rmaintain_zoom\x18\x03 \x01(\x08\";\n\x17SetMaintainZoomResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"R\n\x15SetStatusLightRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0cstatus_light\x18\x03 \x01(\x08\":\n\x16SetStatusLightResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\x8d\x01\n\x18SetAudioRecordingRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x17\n\x0f\x61udio_recording\x18\x03 \x01(\x08\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"=\n\x19SetAudioRecordingResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xcc\x01\n\x17SetDoorbellChimeRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\"\n\x05\x63hime\x18\x03 \x01(\x0e\x32\x13.beam.DoorbellChime\x12\x1a\n\x12standalone_enabled\x18\x04 \x01(\x08\x12\x17\n\x0b\x64\x65vice_uuid\x18\x05 \x01(\tB\x02\x18\x01\x12+\n\x06header\x18\x06 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"<\n\x18SetDoorbellChimeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"M\n\x17SetDoorbellMutedRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\r\n\x05muted\x18\x03 \x01(\x08\"<\n\x18SetDoorbellMutedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"`\n\x16SetVisitorChimeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12!\n\x05\x63hime\x18\x03 \x01(\x0e\x32\x12.beam.VisitorChime\";\n\x17SetVisitorChimeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\x95\x01\n\x16SetPackageChimeRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12!\n\x05\x63hime\x18\x03 \x01(\x0e\x32\x12.beam.PackageChime\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\";\n\x17SetPackageChimeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"s\n$SetUseAsDoorbellChimeExtenderRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12&\n\x1euse_as_doorbell_chime_extender\x18\x03 \x01(\x08\"I\n%SetUseAsDoorbellChimeExtenderResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"R\n\x15SetExtendSirenRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0c\x65xtend_siren\x18\x03 \x01(\x08\":\n\x16SetExtendSirenResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"N\n\x13SetQuietModeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x12\n\nquiet_mode\x18\x03 \x01(\x08\"8\n\x14SetQuietModeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"t\n\x18GetAnalyticsOptInRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12+\n\x06header\x18\x03 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"M\n\x19GetAnalyticsOptInResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x0e\n\x06opt_in\x18\x02 \x01(\x08\"\x95\x01\n\x18SetAnalyticsOptInRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x0e\n\x06opt_in\x18\x03 \x01(\x08\x12\x0f\n\x07version\x18\x04 \x01(\r\x12+\n\x06header\x18\x05 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"=\n\x19SetAnalyticsOptInResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\x7f\n\x12SetNotifyOnRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"7\n\x13SetNotifyOnResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"=\n\x16RestoreDefaultsRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\";\n\x17RestoreDefaultsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"s\n\x18\x41\x64justCameraToXyzRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x11\n\tstream_id\x18\x03 \x01(\t\x12\t\n\x01x\x18\x04 \x01(\r\x12\t\n\x01y\x18\x05 \x01(\r\x12\t\n\x01z\x18\x06 \x01(\r\"=\n\x19\x41\x64justCameraToXyzResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"O\n\x13RebootCameraRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x13\n\x0b\x64\x65vice_type\x18\x03 \x01(\t\"8\n\x14RebootCameraResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"r\n\x16\x44\x65leteAllEventsRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12+\n\x06header\x18\x03 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\";\n\x17\x44\x65leteAllEventsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\":\n\x13\x44\x65leteCameraRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\"8\n\x14\x44\x65leteCameraResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"Q\n\x19SetCameraListOrderRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x11\n\tdevice_id\x18\x03 \x03(\r\">\n\x1aSetCameraListOrderResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"R\n\x15SetLurkerDeterRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0clurker_deter\x18\x03 \x01(\x08\":\n\x16SetLurkerDeterResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"T\n\x1bSetSmartSentrySnoozeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x10\n\x08\x64uration\x18\x03 \x01(\r\"@\n\x1cSetSmartSentrySnoozeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"T\n\x16SetPackageWatchRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x15\n\rpackage_watch\x18\x03 \x01(\x08\";\n\x17SetPackageWatchResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xab\x01\n\x1aSetPropertyBoundaryRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x33\n\npoint_list\x18\x03 \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"?\n\x1bSetPropertyBoundaryResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\x8c\x01\n\x17SetDeterScheduleRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12%\n\x04type\x18\x03 \x01(\x0e\x32\x17.beam.DeterScheduleType\x12%\n\x08schedule\x18\x04 \x01(\x0b\x32\x13.beam.DeterSchedule\"<\n\x18SetDeterScheduleResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"z\n\x19SetDeterScheduleV2Request\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x38\n\x11schedule_settings\x18\x03 \x01(\x0b\x32\x1d.beam.DeterScheduleSettingsV2\">\n\x1aSetDeterScheduleV2Response\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"w\n\x17\x44\x65terScheduleSettingsV2\x12\x35\n\x14\x64\x65ter_schedule_types\x18\x01 \x03(\x0e\x32\x17.beam.DeterScheduleType\x12%\n\x08schedule\x18\x02 \x01(\x0b\x32\x13.beam.DeterSchedule\"1\n\x10\x41spectRatioTuple\x12\r\n\x05width\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\"p\n\x1eSetDeterAggressionLevelRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12)\n\x05level\x18\x03 \x01(\x0e\x32\x1a.beam.DeterAggressionLevel\"C\n\x1fSetDeterAggressionLevelResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"f\n\x19SetDeterLightColorRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12$\n\x05\x63olor\x18\x03 \x01(\x0e\x32\x15.beam.DeterLightColor\">\n\x1aSetDeterLightColorResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"l\n\x1bSetDeterLightPatternRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12(\n\x07pattern\x18\x03 \x01(\x0e\x32\x17.beam.DeterLightPattern\"@\n\x1cSetDeterLightPatternResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"f\n\x17SetDeterOverrideRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12\x15\n\rend_timestamp\x18\x04 \x01(\x03\"<\n\x18SetDeterOverrideResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"Q\n\x18SetLingerDurationRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x10\n\x08\x64uration\x18\x03 \x01(\r\"=\n\x19SetLingerDurationResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xa9\x01\n\x18SetAnimalBoundaryRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x33\n\npoint_list\x18\x03 \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"=\n\x19SetAnimalBoundaryResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xaa\x01\n\x19SetPackageBoundaryRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x33\n\npoint_list\x18\x03 \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\">\n\x1aSetPackageBoundaryResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xaa\x01\n\x19SetVehicleBoundaryRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x33\n\npoint_list\x18\x03 \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\">\n\x1aSetVehicleBoundaryResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xa8\x01\n\x17SetDeterBoundaryRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x33\n\npoint_list\x18\x03 \x03(\x0b\x32\x1f.beam.PropertyBoundaryPointList\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"<\n\x18SetDeterBoundaryResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"(\n\x14GetPanelLoginRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\"Y\n\x15GetPanelLoginResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"W\n\x17SetCaptureClipOnRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"<\n\x18SetCaptureClipOnResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"W\n\x17SetRecordOnDeterRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x17\n\x0frecord_on_deter\x18\x03 \x01(\x08\"<\n\x18SetRecordOnDeterResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"a\n SetRecordOnPersonDetectedRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x18\n\x10record_on_person\x18\x03 \x01(\x08\"E\n!SetRecordOnPersonDetectedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"c\n!SetRecordOnPackageDetectedRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x19\n\x11record_on_package\x18\x03 \x01(\x08\"F\n\"SetRecordOnPackageDetectedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"a\n SetRecordOnLurkerDetectedRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x18\n\x10record_on_lurker\x18\x03 \x01(\x08\"E\n!SetRecordOnLurkerDetectedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"a\n SetRecordOnAnimalDetectedRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x18\n\x10record_on_animal\x18\x03 \x01(\x08\"E\n!SetRecordOnAnimalDetectedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"c\n!SetRecordOnVehicleDetectedRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x19\n\x11record_on_vehicle\x18\x03 \x01(\x08\"F\n\"SetRecordOnVehicleDetectedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"t\n\x1aSetRecordForRegionsRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x31\n\x11record_for_region\x18\x03 \x01(\x0e\x32\x16.beam.RecordForRegions\"?\n\x1bSetRecordForRegionsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"d\n\x1eSetAnalyticsSensitivityRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x1d\n\x15\x61nalytics_sensitivity\x18\x03 \x01(\x05\"C\n\x1fSetAnalyticsSensitivityResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"_\n\x13PreviewChimeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12#\n\nchime_type\x18\x03 \x01(\x0e\x32\x0f.beam.ChimeType\"G\n#SetPackageDeliveryLocationsResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xbf\x01\n\"SetPackageDeliveryLocationsRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12?\n\x1apackage_delivery_locations\x18\x03 \x03(\x0b\x32\x1b.beam.PropertyBoundaryPoint\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"8\n\x14PreviewChimeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"v\n\x1aGetDeviceOnboardingRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12+\n\x06header\x18\x03 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"\xdd\x04\n\x1bGetDeviceOnboardingResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x19\n\x11property_boundary\x18\x02 \x01(\x08\x12\x15\n\rnotifications\x18\x03 \x01(\x08\x12\x13\n\x0b\x64\x65ter_intro\x18\x04 \x01(\x08\x12\x16\n\x0e\x64\x65ter_schedule\x18\x05 \x01(\x08\x12\x1e\n\x16\x64\x65ter_aggression_level\x18\x06 \x01(\x08\x12\x13\n\x0b\x63\x61mera_name\x18\x07 \x01(\x08\x12\x15\n\rcamera_rotate\x18\x08 \x01(\x08\x12\x18\n\x10\x61nalytics_opt_in\x18\t \x01(\x08\x12\x19\n\x11\x64oorbell_position\x18\n \x01(\x08\x12\"\n\x1apackage_delivery_locations\x18\x0b \x01(\x08\x12\x15\n\rpackage_watch\x18\x0c \x01(\x08\x12\x1c\n\x14property_boundary_v2\x18\r \x01(\x08\x12\x18\n\x10spotlight_splash\x18\x0e \x01(\x08\x12\x1d\n\x15spotlight_deter_intro\x18\x0f \x01(\x08\x12\"\n\x1aspotlight_default_settings\x18\x10 \x01(\x08\x12 \n\x18spotlight_deter_schedule\x18\x11 \x01(\x08\x12\x1d\n\x15spotlight_camera_name\x18\x12 \x01(\x08\x12\"\n\x1aspotlight_analytics_opt_in\x18\x13 \x01(\x08\x12!\n\x19spotlight_onboarding_done\x18\x14 \x01(\x08\"\xc6\x05\n\x1aSetDeviceOnboardingRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x1b\n\x11property_boundary\x18\x03 \x01(\x08H\x00\x12\x17\n\rnotifications\x18\x04 \x01(\x08H\x00\x12\x15\n\x0b\x64\x65ter_intro\x18\x05 \x01(\x08H\x00\x12\x18\n\x0e\x64\x65ter_schedule\x18\x06 \x01(\x08H\x00\x12 \n\x16\x64\x65ter_aggression_level\x18\x07 \x01(\x08H\x00\x12\x15\n\x0b\x63\x61mera_name\x18\x08 \x01(\x08H\x00\x12\x17\n\rcamera_rotate\x18\t \x01(\x08H\x00\x12\x1a\n\x10\x61nalytics_opt_in\x18\n \x01(\x08H\x00\x12\x1b\n\x11\x64oorbell_position\x18\x0b \x01(\x08H\x00\x12$\n\x1apackage_delivery_locations\x18\x0c \x01(\x08H\x00\x12\x17\n\rpackage_watch\x18\r \x01(\x08H\x00\x12\x1e\n\x14property_boundary_v2\x18\x0e \x01(\x08H\x00\x12\x1a\n\x10spotlight_splash\x18\x10 \x01(\x08H\x00\x12\x1f\n\x15spotlight_deter_intro\x18\x11 \x01(\x08H\x00\x12$\n\x1aspotlight_default_settings\x18\x12 \x01(\x08H\x00\x12\"\n\x18spotlight_deter_schedule\x18\x13 \x01(\x08H\x00\x12\x1f\n\x15spotlight_camera_name\x18\x14 \x01(\x08H\x00\x12$\n\x1aspotlight_analytics_opt_in\x18\x15 \x01(\x08H\x00\x12#\n\x19spotlight_onboarding_done\x18\x16 \x01(\x08H\x00\x12+\n\x06header\x18\x0f \x01(\x0b\x32\x1b.beam.SettingsRequestHeaderB\n\n\x08property\"?\n\x1bSetDeviceOnboardingResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xa9\x01\n\x1aSetDoorbellPositionRequest\x12\x14\n\x08panel_id\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x15\n\tdevice_id\x18\x02 \x01(\rB\x02\x18\x01\x12\x31\n\x11\x64oorbell_position\x18\x03 \x01(\x0e\x32\x16.beam.DoorbellPosition\x12+\n\x06header\x18\x04 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\"?\n\x1bSetDoorbellPositionResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"n\n\x1bSetPackageWatchStateRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x0f\n\x07on_duty\x18\x03 \x01(\x08\x12\x15\n\rend_timestamp\x18\x04 \x01(\x03:\x02\x18\x01\"D\n\x1cSetPackageWatchStateResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response:\x02\x18\x01\"M\n\x10\x44ynamicChimeInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03url\x18\x03 \x01(\t\x12\x12\n\nsha256hash\x18\x04 \x01(\t\"o\n\x16\x44ynamicChimeBannerInfo\x12\x10\n\x08headline\x18\x01 \x01(\t\x12\x0f\n\x07subhead\x18\x02 \x01(\t\x12\x15\n\rMainAnimation\x18\x03 \x01(\t\x12\x1b\n\x13\x42\x61\x63kgroundAnimation\x18\x04 \x01(\t\"\xac\x01\n\x1a\x44ynamicChimeSplashPageInfo\x12\x11\n\tImage_iOS\x18\x01 \x01(\t\x12\x15\n\rImage_Android\x18\x02 \x01(\t\x12\x10\n\x08headline\x18\x03 \x01(\t\x12\x37\n\x07\x42ullets\x18\x04 \x03(\x0b\x32&.beam.DynamicChimeSplashPageBulletInfo\x12\x19\n\x11PrimaryButtonCopy\x18\x05 \x01(\t\"B\n DynamicChimeSplashPageBulletInfo\x12\x10\n\x08headline\x18\x01 \x01(\t\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\"\xfb\x02\n\x14\x44ynamicChimeCategory\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x12\x61vailability_start\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10\x61vailability_end\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x14ui_availability_copy\x18\x05 \x01(\t\x12\x32\n\x12\x64ynamic_chime_info\x18\x06 \x03(\x0b\x32\x16.beam.DynamicChimeInfo\x12?\n\x19\x64ynamic_chime_banner_info\x18\x07 \x01(\x0b\x32\x1c.beam.DynamicChimeBannerInfo\x12H\n\x1e\x64ynamic_chime_splash_page_info\x18\x08 \x01(\x0b\x32 .beam.DynamicChimeSplashPageInfo\"\x80\x01\n\x17GetDynamicChimesRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x12\n\x08\x63hime_id\x18\x02 \x01(\tH\x00\x12\x1b\n\x11\x63hime_category_id\x18\x03 \x01(\tH\x00\x12\x1b\n\x13ignore_active_check\x18\x04 \x01(\x08\x42\x05\n\x03ids\"p\n\x18GetDynamicChimesResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x32\n\x0e\x64ynamic_chimes\x18\x02 \x03(\x0b\x32\x1a.beam.DynamicChimeCategory\"\x8f\x01\n\x16SetDynamicChimeRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x19\n\x11\x63hime_category_id\x18\x03 \x01(\t\x12\x10\n\x08\x63hime_id\x18\x04 \x01(\t\x12#\n\nchime_type\x18\x05 \x01(\x0e\x32\x0f.beam.ChimeType\";\n\x17SetDynamicChimeResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"\xc9\x01\n\x12SetUserRoleRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x14\n\x0ctargetUserId\x18\x02 \x01(\t\x12\x32\n\x07newRole\x18\x03 \x01(\x0e\x32!.beam.SetUserRoleRequest.UserRole\"<\n\x08UserRole\x12\x0b\n\x07NO_ROLE\x10\x00\x12\t\n\x05OWNER\x10\x01\x12\t\n\x05\x41\x44MIN\x10\x02\x12\r\n\tNON_ADMIN\x10\x03\"7\n\x13SetUserRoleResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"0\n\x04\x44\x61te\x12\x0c\n\x04year\x18\x01 \x01(\x05\x12\r\n\x05month\x18\x02 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x05\"\x85\x01\n\x19GetClipSharingLinkRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12 \n\x0chistory_date\x18\x02 \x01(\x0b\x32\n.beam.Date\x12\x19\n\x11history_record_id\x18\x03 \x01(\t\"Y\n\x1aGetClipSharingLinkResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x19\n\x11\x63lip_sharing_link\x18\x02 \x01(\t\"\xb7\x02\n\x18ReportVideoFailedRequest\x12\x13\n\x0b\x63\x61mera_name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x0c\n\x04\x64\x61te\x18\x03 \x01(\t\x12\x11\n\tdevice_id\x18\x04 \x01(\r\x12\x13\n\x0b\x64\x65vice_type\x18\x05 \x01(\t\x12\x11\n\tinterface\x18\x06 \x01(\t\x12\x18\n\x10mobile_device_id\x18\x07 \x01(\t\x12\x10\n\x08panel_id\x18\x08 \x01(\x03\x12\x1d\n\x15previous_stream_array\x18\t \x01(\t\x12\x0e\n\x06reason\x18\n \x01(\t\x12\x0f\n\x07session\x18\x0b \x01(\t\x12\x0b\n\x03url\x18\x0c \x01(\t\x12\x0b\n\x03\x61pp\x18\r \x01(\t\x12\x13\n\x0bstream_name\x18\x0e \x01(\t\x12\x13\n\x0b\x61pp_version\x18\x0f \x01(\t\"Q\n\x19ReportVideoFailedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x12\n\nrequest_id\x18\x02 \x01(\t\"/\n\x1bPanelKillWiFiNetworkRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\"G\n\x1bPanelRefreshSSIDListRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x16\n\x0e\x66orWiFiConnect\x18\x02 \x01(\x08\"B\n\x1eStartCameraWifiConnectResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"J\n\x1dStartCameraWifiConnectRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x17\n\x0f\x63\x61mera_ap_ssids\x18\x02 \x03(\t\"m\n\x15\x41\x64\x64\x43\x61meraToHubRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x13\n\x0b\x63\x61mera_type\x18\x02 \x01(\t\x12\x0c\n\x04uuid\x18\x03 \x01(\t\x12\x12\n\nip_address\x18\x04 \x01(\t\x12\x0b\n\x03urn\x18\x05 \x01(\t\"\x85\x01\n\x0f\x41\x63\x63\x65ssPointInfo\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\r\x12\x0c\n\x04ssid\x18\x02 \x01(\t\x12\x10\n\x08mac_addr\x18\x03 \x01(\t\x12\x18\n\x10\x65ncryption_types\x18\x04 \x01(\t\x12\x16\n\x0esignal_percent\x18\x05 \x01(\x05\x12\x0f\n\x07unknown\x18\x06 \x01(\x05\"9\n\x08Response\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"S\n\x0fSoftwareVersion\x12\r\n\x05major\x18\x01 \x01(\x05\x12\r\n\x05minor\x18\x02 \x01(\x05\x12\x13\n\x0bmaintenance\x18\x03 \x01(\x05\x12\r\n\x05\x62uild\x18\x04 \x01(\x05\"6\n\x10TypeCapabilities\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x14\n\x0c\x63\x61pabilities\x18\x02 \x03(\r\"?\n\x0c\x43\x61pabilities\x12/\n\x0ftype_capability\x18\x01 \x03(\x0b\x32\x16.beam.TypeCapabilities\"\xc3\x02\n\rTechnicalInfo\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12\x17\n\x0fsignal_strength\x18\x03 \x01(\x02\x12\x12\n\nip_address\x18\x04 \x01(\t\x12\x0f\n\x07\x41P_SSID\x18\x06 \x01(\t\x12\x18\n\x10software_version\x18\x07 \x01(\t\x12\x19\n\x11\x61nalytics_version\x18\x08 \x01(\t\x12\x13\n\x0b\x61\x63tual_type\x18\t \x01(\t\x12\x13\n\x0bmac_address\x18\n \x01(\t\x12\x33\n\x0b\x61udio_codec\x18\x0b \x01(\x0e\x32\x1e.beam.TechnicalInfo.AudioCodec\x12\x19\n\x11\x61udio_sample_rate\x18\x0c \x01(\x05\"5\n\nAudioCodec\x12\x0b\n\x07INVALID\x10\x00\x12\x10\n\x0cMU_LAW_G_711\x10\x01\x12\x08\n\x04OPUS\x10\x02\"\x8d\x01\n\x0f\x44\x65tectionWindow\x12\x10\n\x08origin_x\x18\x01 \x01(\x02\x12\x10\n\x08origin_y\x18\x02 \x01(\x02\x12\r\n\x05width\x18\x03 \x01(\x02\x12\x0e\n\x06height\x18\x04 \x01(\x02\x12\x13\n\x0bsensitivity\x18\x05 \x01(\x02\x12\x13\n\x0bobject_size\x18\x06 \x01(\x02\x12\r\n\x05index\x18\x07 \x01(\x05\"H\n\x19PropertyBoundaryPointList\x12+\n\x06points\x18\x01 \x03(\x0b\x32\x1b.beam.PropertyBoundaryPoint\"-\n\x15PropertyBoundaryPoint\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\xa2\x01\n\rDeterSchedule\x12\x0b\n\x03sun\x18\x01 \x01(\x08\x12\x0b\n\x03mon\x18\x02 \x01(\x08\x12\x0b\n\x03tue\x18\x03 \x01(\x08\x12\x0b\n\x03wed\x18\x04 \x01(\x08\x12\x0b\n\x03thu\x18\x05 \x01(\x08\x12\x0b\n\x03\x66ri\x18\x06 \x01(\x08\x12\x0b\n\x03sat\x18\x07 \x01(\x08\x12\x1b\n\x13local_start_minutes\x18\x08 \x01(\r\x12\x19\n\x11local_end_minutes\x18\t \x01(\r\"S\n\x16\x43\x61meraThumbnailRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12\x11\n\tdevice_id\x18\x02 \x01(\r\x12\x14\n\x0cpartition_id\x18\x03 \x01(\r\";\n\x17\x43\x61meraThumbnailResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"E\n\x13SystemRequestHeader\x12\x11\n\tsystem_id\x18\x01 \x01(\x03\x12\x1b\n\x13is_smarthome_system\x18\x02 \x01(\x08\"\x94\x01\n\x18GetHistoryClipURLRequest\x12)\n\x06header\x18\x01 \x01(\x0b\x32\x19.beam.SystemRequestHeader\x12\x19\n\x11history_record_id\x18\x02 \x01(\t\x12 \n\x0chistory_date\x18\x03 \x01(\x0b\x32\n.beam.Date\x12\x10\n\x08\x64ownload\x18\x04 \x01(\x08\";\n\x1eGetLegacyHistoryClipURLRequest\x12\x19\n\x11history_record_id\x18\x01 \x01(\t\"O\n\x19GetHistoryClipURLResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\x12\x10\n\x08\x63lip_url\x18\x02 \x01(\t\"I\n\x13\x41ssociateDvrRequest\x12\x10\n\x08panel_id\x18\x01 \x01(\x03\x12 \n\x18space_monkey_hardware_id\x18\x02 \x01(\t\".\n\x14\x41ssociateDvrResponse\x12\x16\n\x0e\x64vr_service_id\x18\x02 \x01(\t\"\xaa\x02\n\x18SpotlightCalibrationData\x12H\n\x10\x63\x61libration_type\x18\x01 \x01(\x0e\x32..beam.SpotlightCalibrationData.CalibrationType\x12\x36\n\x05zones\x18\x02 \x03(\x0b\x32\'.beam.SpotlightCalibrationData.ZoneData\x1a\x41\n\x08ZoneData\x12\x0f\n\x07zone_id\x18\x01 \x01(\r\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\x0e\n\x06in_fov\x18\x04 \x01(\x08\"I\n\x0f\x43\x61librationType\x12\x19\n\x15\x43\x41LIBRATION_TYPE_AUTO\x10\x00\x12\x1b\n\x17\x43\x41LIBRATION_TYPE_MANUAL\x10\x01\"\x87\x01\n\x1eSetSpotlightCalibrationRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x38\n\x10\x63\x61libration_data\x18\x02 \x01(\x0b\x32\x1e.beam.SpotlightCalibrationData\"C\n\x1fSetSpotlightCalibrationResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"g\n\x18SetSpotlightZonesRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x1e\n\x16\x65nabled_zones_bitfield\x18\x02 \x01(\r\"=\n\x19SetSpotlightZonesResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"v\n(SetSpotlightLightOnPersonDetectedRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x1d\n\x15LightOnPersonDetected\x18\x02 \x01(\x08\"M\n)SetSpotlightLightOnPersonDetectedResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"h\n\x1dSetSpotlightBrightnessRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x1a\n\x12\x62rightness_percent\x18\x02 \x01(\x02\"B\n\x1eSetSpotlightBrightnessResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"]\n\x17ToggleFloodlightRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x15\n\rfloodlight_on\x18\x02 \x01(\x08\"<\n\x18ToggleFloodlightResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"h\n$SetSpotlightOnSunsetToSunriseRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08:\x02\x18\x01\"M\n%SetSpotlightOnSunsetToSunriseResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response:\x02\x18\x01\"]\n\x1dSetSpotlightNightLightRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"B\n\x1eSetSpotlightNightLightResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"X\n\x11\x42\x65\x61mPortalCommand\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12*\n setEnabledSpotlightZonesBitfield\x18\x02 \x01(\rH\x00\x42\t\n\x07\x63ommand\"\x92\x01\n\x10LightingBehavior\x12\x31\n\x08\x62\x65havior\x18\x02 \x01(\x0e\x32\x1f.beam.LightingBehavior.Behavior\"K\n\x08\x42\x65havior\x12\x07\n\x03OFF\x10\x00\x12\t\n\x05\x46LOOD\x10\x01\x12\t\n\x05TRACK\x10\x02\x12\x08\n\x04WAVE\x10\x03\x12\n\n\x06\x43IRCLE\x10\x04\x12\n\n\x06STROBE\x10\x65\"\x80\x01\n\x1fSetDeterLightingBehaviorRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x30\n\x10lightingBehavior\x18\x02 \x01(\x0b\x32\x16.beam.LightingBehavior\"D\n SetDeterLightingBehaviorResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response\"X\n\x19SetSpotlightFollowRequest\x12+\n\x06header\x18\x01 \x01(\x0b\x32\x1b.beam.SettingsRequestHeader\x12\x0e\n\x06\x66ollow\x18\x02 \x01(\x08\">\n\x1aSetSpotlightFollowResponse\x12 \n\x08response\x18\x01 \x01(\x0b\x32\x0e.beam.Response*\xcf\x02\n\x11\x44\x65terScheduleType\x12\n\n\x06\x41LWAYS\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\t\n\x05\x41RMED\x10\x02\x12\x0f\n\x0bSCHTYPENONE\x10\x03\x12\t\n\x05NEVER\x10\x04\x12\x11\n\rUSER_OVERRIDE\x10\x05\x12\x11\n\rCUSTOM_ACTION\x10\x06\x12\x18\n\x14UNKNOWN_OBJECT_DETER\x10\x07\x12\x11\n\rPACKAGE_DETER\x10\x08\x12\x17\n\x13PACKAGE_MOVED_DETER\x10\t\x12\x10\n\x0cPERSON_DETER\x10\n\x12\x10\n\x0cLURKER_DETER\x10\x0b\x12\x11\n\rVEHICLE_DETER\x10\x0c\x12\x10\n\x0c\x41NIMAL_DETER\x10\r\x12\n\n\x06SNOOZE\x10\x0e\x12\x1c\n\x18PACKAGE_APPROACHED_DETER\x10\x0f\x12\x19\n\x15VEHICLE_LEAVING_DETER\x10\x10*m\n\x14\x44\x65terAggressionLevel\x12\x07\n\x03ONE\x10\x00\x12\x07\n\x03TWO\x10\x01\x12\t\n\x05THREE\x10\x02\x12\x08\n\x04\x46OUR\x10\x03\x12\x10\n\x0c\x41GGLEVELNONE\x10\x04\x12\x08\n\x04\x46IVE\x10\x05\x12\x07\n\x03SIX\x10\x06\x12\t\n\x05SEVEN\x10\x07*&\n\x0f\x44\x65terLightColor\x12\x07\n\x03RED\x10\x00\x12\n\n\x06YELLOW\x10\x01*5\n\x11\x44\x65terLightPattern\x12\t\n\x05SOLID\x10\x00\x12\t\n\x05\x46LASH\x10\x01\x12\n\n\x06\x42REATH\x10\x02*O\n\x0cVideoQuality\x12\x0b\n\x07VQ_ZERO\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\x08\n\x04\x46\x41IR\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x08\n\x04GOOD\x10\x04\x12\t\n\x05GREAT\x10\x05*\xa2\x01\n\rDoorbellChime\x12\x0b\n\x07\x44\x43_NONE\x10\x00\x12\x0f\n\x0bTRADITIONAL\x10\x01\x12\x0c\n\x08\x45LEVATOR\x10\x02\x12\n\n\x06MELODY\x10\x08\x12\t\n\x05\x42\x45LLS\x10\x11\x12\n\n\x06MODERN\x10\x12\x12\r\n\tELEVATOR2\x10\x13\x12\x0b\n\x07MELODY2\x10\x14\x12\x10\n\x0cTRADITIONAL2\x10\x15\x12\x14\n\x10\x44OORBELL_DYNAMIC\x10\x1a*\xa2\x01\n\x0cVisitorChime\x12\x0b\n\x07VC_NONE\x10\x00\x12\x0b\n\x07INSIGHT\x10\x03\x12\x0e\n\nLOW_DOUBLE\x10\x04\x12\t\n\x05PIANO\x10\x05\x12\x0f\n\x0bHIGH_DOUBLE\x10\x07\x12\r\n\tDINGALING\x10\x0c\x12\t\n\x05\x44ROPS\x10\r\x12\x06\n\x02HI\x10\x0e\x12\x0b\n\x07SUCCESS\x10\x0f\x12\x08\n\x04WAVE\x10\x10\x12\x13\n\x0fVISITOR_DYNAMIC\x10\x1a*\xe1\x01\n\x0cPackageChime\x12\x0b\n\x07PC_NONE\x10\x00\x12\x13\n\x0fPACKAGE_DYNAMIC\x10\x1a\x12\t\n\x05\x41LERT\x10\x33\x12\x0c\n\x08\x46RIENDLY\x10\x34\x12\t\n\x05HELLO\x10\x35\x12\t\n\x05SCALE\x10\x36\x12\x0b\n\x07WHISTLE\x10\x37\x12\x0e\n\nLIGHT_ONLY\x10\x38\x12\r\n\tRECORDING\x10\x39\x12\x08\n\x04PC_8\x10:\x12\x08\n\x04PC_9\x10;\x12\t\n\x05PC_10\x10<\x12\t\n\x05PC_11\x10=\x12\t\n\x05PC_12\x10>\x12\t\n\x05PC_13\x10?\x12\t\n\x05PC_14\x10@\x12\t\n\x05PC_15\x10\x41*e\n\x10RecordForRegions\x12\x1d\n\x19RECORD_FOR_REGIONS_NOTSET\x10\x00\x12\x17\n\x13RECORD_FOR_PROPERTY\x10\x01\x12\x19\n\x15RECORD_FOR_EVERYWHERE\x10\x02*K\n\tChimeType\x12\x16\n\x12INVALID_CHIME_TYPE\x10\x00\x12\x0c\n\x08\x44OORBELL\x10\x01\x12\x0b\n\x07VISITOR\x10\x02\x12\x0b\n\x07PACKAGE\x10\x03*[\n\x10\x44oorbellPosition\x12\t\n\x05UNSET\x10\x00\x12\r\n\tLEFT_SIDE\x10\x01\x12\x0e\n\nRIGHT_SIDE\x10\x02\x12\r\n\tLEFT_WALL\x10\x03\x12\x0e\n\nRIGHT_WALL\x10\x04*\xaf\x01\n\rSpotlightMode\x12\x16\n\x12SPOTLIGHT_MODE_OFF\x10\x00\x12\x18\n\x14SPOTLIGHT_MODE_FLOOD\x10\x01\x12\x1c\n\x18SPOTLIGHT_MODE_CALIBRATE\x10\x02\x12\x18\n\x14SPOTLIGHT_MODE_TRACK\x10\x03\x12\x18\n\x14SPOTLIGHT_MODE_DETER\x10\x04\x12\x1a\n\x16SPOTLIGHT_MODE_STARTUP\x10\x05*\xa8\x02\n\x0fSpotlightStatus\x12\x1c\n\x18SPOTLIGHT_STATUS_SUCCESS\x10\x00\x12\"\n\x1eSPOTLIGHT_STATUS_UNKNOWN_ERROR\x10\x01\x12 \n\x1cSPOTLIGHT_STATUS_NO_HARDWARE\x10\x02\x12\x1f\n\x1bSPOTLIGHT_STATUS_BAD_DEVICE\x10\x03\x12!\n\x1dSPOTLIGHT_STATUS_NO_LED_POWER\x10\x04\x12\"\n\x1eSPOTLIGHT_STATUS_NO_HW_VERSION\x10\x05\x12#\n\x1fSPOTLIGHT_STATUS_NO_TEMPERATURE\x10\x06\x12$\n SPOTLIGHT_STATUS_INVALID_COMMAND\x10\x07\x32\xdb\x43\n\x04\x42\x65\x61m\x12\x30\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\x0e.beam.Response\"\x00\x12J\n\rSetDeviceName\x12\x1a.beam.SetDeviceNameRequest\x1a\x1b.beam.SetDeviceNameResponse\"\x00\x12\x65\n\x16GetCameraTechnicalInfo\x12#.beam.GetCameraTechnicalInfoRequest\x1a$.beam.GetCameraTechnicalInfoResponse\"\x00\x12V\n\x11GetCameraSettings\x12\x1e.beam.GetCameraSettingsRequest\x1a\x1f.beam.GetCameraSettingsResponse\"\x00\x12S\n\x10GetPanelSettings\x12\x1d.beam.GetPanelSettingsRequest\x1a\x1e.beam.GetPanelSettingsResponse\"\x00\x12_\n\x14SetCameraPrivacyMode\x12!.beam.SetCameraPrivacyModeRequest\x1a\".beam.SetCameraPrivacyModeResponse\"\x00\x12V\n\x11\x41\x64justCameraToXyz\x12\x1e.beam.AdjustCameraToXyzRequest\x1a\x1f.beam.AdjustCameraToXyzResponse\"\x00\x12k\n\x18SetCameraPlaybackEnabled\x12%.beam.SetCameraPlaybackEnabledRequest\x1a&.beam.SetCameraPlaybackEnabledResponse\"\x00\x12\\\n\x13SetDetectionWindows\x12 .beam.SetDetectionWindowsRequest\x1a!.beam.SetDetectionWindowsResponse\"\x00\x12M\n\x0eSetChimeVolume\x12\x1b.beam.SetChimeVolumeRequest\x1a\x1c.beam.SetChimeVolumeResponse\"\x00\x12G\n\x0cSetChimeMute\x12\x19.beam.SetChimeMuteRequest\x1a\x1a.beam.SetChimeMuteResponse\"\x00\x12P\n\x0fSetVideoQuality\x12\x1c.beam.SetVideoQualityRequest\x1a\x1d.beam.SetVideoQualityResponse\"\x00\x12M\n\x0eSetNightVision\x12\x1b.beam.SetNightVisionRequest\x1a\x1c.beam.SetNightVisionResponse\"\x00\x12;\n\x08SetIRLED\x12\x15.beam.SetIRLEDRequest\x1a\x16.beam.SetIRLEDResponse\"\x00\x12M\n\x0eSetRotateImage\x12\x1b.beam.SetRotateImageRequest\x1a\x1c.beam.SetRotateImageResponse\"\x00\x12P\n\x0fSetMaintainZoom\x12\x1c.beam.SetMaintainZoomRequest\x1a\x1d.beam.SetMaintainZoomResponse\"\x00\x12M\n\x0eSetStatusLight\x12\x1b.beam.SetStatusLightRequest\x1a\x1c.beam.SetStatusLightResponse\"\x00\x12V\n\x11SetAudioRecording\x12\x1e.beam.SetAudioRecordingRequest\x1a\x1f.beam.SetAudioRecordingResponse\"\x00\x12S\n\x10SetDoorbellChime\x12\x1d.beam.SetDoorbellChimeRequest\x1a\x1e.beam.SetDoorbellChimeResponse\"\x00\x12S\n\x10SetDoorbellMuted\x12\x1d.beam.SetDoorbellMutedRequest\x1a\x1e.beam.SetDoorbellMutedResponse\"\x00\x12P\n\x0fSetVisitorChime\x12\x1c.beam.SetVisitorChimeRequest\x1a\x1d.beam.SetVisitorChimeResponse\"\x00\x12P\n\x0fSetPackageChime\x12\x1c.beam.SetPackageChimeRequest\x1a\x1d.beam.SetPackageChimeResponse\"\x00\x12z\n\x1dSetUseAsDoorbellChimeExtender\x12*.beam.SetUseAsDoorbellChimeExtenderRequest\x1a+.beam.SetUseAsDoorbellChimeExtenderResponse\"\x00\x12M\n\x0eSetExtendSiren\x12\x1b.beam.SetExtendSirenRequest\x1a\x1c.beam.SetExtendSirenResponse\"\x00\x12G\n\x0cSetQuietMode\x12\x19.beam.SetQuietModeRequest\x1a\x1a.beam.SetQuietModeResponse\"\x00\x12V\n\x11GetAnalyticsOptIn\x12\x1e.beam.GetAnalyticsOptInRequest\x1a\x1f.beam.GetAnalyticsOptInResponse\"\x00\x12V\n\x11SetAnalyticsOptIn\x12\x1e.beam.SetAnalyticsOptInRequest\x1a\x1f.beam.SetAnalyticsOptInResponse\"\x00\x12R\n\x19SetNotifyOnPersonDetected\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12R\n\x19SetNotifyOnLurkerDetected\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12O\n\x16SetNotifyOnPackageSeen\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12P\n\x17SetNotifyOnPackageMoved\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12O\n\x16SetNotifyOnVehicleSeen\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12N\n\x15SetNotifyOnAnimalSeen\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12I\n\x10SetNotifyOnDeter\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12Q\n\x18SetNotifyOnDoorbellPress\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12R\n\x19SetNotifyOnVehicleLeaving\x12\x18.beam.SetNotifyOnRequest\x1a\x19.beam.SetNotifyOnResponse\"\x00\x12P\n\x0fRestoreDefaults\x12\x1c.beam.RestoreDefaultsRequest\x1a\x1d.beam.RestoreDefaultsResponse\"\x00\x12G\n\x0cRebootCamera\x12\x19.beam.RebootCameraRequest\x1a\x1a.beam.RebootCameraResponse\"\x00\x12P\n\x0f\x44\x65leteAllEvents\x12\x1c.beam.DeleteAllEventsRequest\x1a\x1d.beam.DeleteAllEventsResponse\"\x00\x12G\n\x0c\x44\x65leteCamera\x12\x19.beam.DeleteCameraRequest\x1a\x1a.beam.DeleteCameraResponse\"\x00\x12Y\n\x12SetCameraListOrder\x12\x1f.beam.SetCameraListOrderRequest\x1a .beam.SetCameraListOrderResponse\"\x00\x12M\n\x0eSetLurkerDeter\x12\x1b.beam.SetLurkerDeterRequest\x1a\x1c.beam.SetLurkerDeterResponse\"\x00\x12_\n\x14SetSmartSentrySnooze\x12!.beam.SetSmartSentrySnoozeRequest\x1a\".beam.SetSmartSentrySnoozeResponse\"\x00\x12P\n\x0fSetPackageWatch\x12\x1c.beam.SetPackageWatchRequest\x1a\x1d.beam.SetPackageWatchResponse\"\x00\x12V\n\x11SetAnimalBoundary\x12\x1e.beam.SetAnimalBoundaryRequest\x1a\x1f.beam.SetAnimalBoundaryResponse\"\x00\x12Y\n\x12SetPackageBoundary\x12\x1f.beam.SetPackageBoundaryRequest\x1a .beam.SetPackageBoundaryResponse\"\x00\x12Y\n\x12SetVehicleBoundary\x12\x1f.beam.SetVehicleBoundaryRequest\x1a .beam.SetVehicleBoundaryResponse\"\x00\x12\\\n\x13SetPropertyBoundary\x12 .beam.SetPropertyBoundaryRequest\x1a!.beam.SetPropertyBoundaryResponse\"\x00\x12S\n\x10SetDeterBoundary\x12\x1d.beam.SetDeterBoundaryRequest\x1a\x1e.beam.SetDeterBoundaryResponse\"\x00\x12S\n\x10SetDeterSchedule\x12\x1d.beam.SetDeterScheduleRequest\x1a\x1e.beam.SetDeterScheduleResponse\"\x00\x12Y\n\x12SetDeterScheduleV2\x12\x1f.beam.SetDeterScheduleV2Request\x1a .beam.SetDeterScheduleV2Response\"\x00\x12h\n\x17SetDeterAggressionLevel\x12$.beam.SetDeterAggressionLevelRequest\x1a%.beam.SetDeterAggressionLevelResponse\"\x00\x12Y\n\x12SetDeterLightColor\x12\x1f.beam.SetDeterLightColorRequest\x1a .beam.SetDeterLightColorResponse\"\x00\x12_\n\x14SetDeterLightPattern\x12!.beam.SetDeterLightPatternRequest\x1a\".beam.SetDeterLightPatternResponse\"\x00\x12S\n\x10SetDeterOverride\x12\x1d.beam.SetDeterOverrideRequest\x1a\x1e.beam.SetDeterOverrideResponse\"\x00\x12V\n\x11SetLingerDuration\x12\x1e.beam.SetLingerDurationRequest\x1a\x1f.beam.SetLingerDurationResponse\"\x00\x12J\n\rGetPanelLogin\x12\x1a.beam.GetPanelLoginRequest\x1a\x1b.beam.GetPanelLoginResponse\"\x00\x12\\\n\x13GetDeviceOnboarding\x12 .beam.GetDeviceOnboardingRequest\x1a!.beam.GetDeviceOnboardingResponse\"\x00\x12\\\n\x13SetDeviceOnboarding\x12 .beam.SetDeviceOnboardingRequest\x1a!.beam.SetDeviceOnboardingResponse\"\x00\x12Y\n\x16SetCaptureClipOnMotion\x12\x1d.beam.SetCaptureClipOnRequest\x1a\x1e.beam.SetCaptureClipOnResponse\"\x00\x12_\n\x1cSetCaptureClipOnDoorbellRing\x12\x1d.beam.SetCaptureClipOnRequest\x1a\x1e.beam.SetCaptureClipOnResponse\"\x00\x12Z\n\x17SetCaptureClipOnVisitor\x12\x1d.beam.SetCaptureClipOnRequest\x1a\x1e.beam.SetCaptureClipOnResponse\"\x00\x12S\n\x10SetRecordOnDeter\x12\x1d.beam.SetRecordOnDeterRequest\x1a\x1e.beam.SetRecordOnDeterResponse\"\x00\x12n\n\x19SetRecordOnPersonDetected\x12&.beam.SetRecordOnPersonDetectedRequest\x1a\'.beam.SetRecordOnPersonDetectedResponse\"\x00\x12q\n\x1aSetRecordOnPackageDetected\x12\'.beam.SetRecordOnPackageDetectedRequest\x1a(.beam.SetRecordOnPackageDetectedResponse\"\x00\x12n\n\x19SetRecordOnLurkerDetected\x12&.beam.SetRecordOnLurkerDetectedRequest\x1a\'.beam.SetRecordOnLurkerDetectedResponse\"\x00\x12n\n\x19SetRecordOnAnimalDetected\x12&.beam.SetRecordOnAnimalDetectedRequest\x1a\'.beam.SetRecordOnAnimalDetectedResponse\"\x00\x12q\n\x1aSetRecordOnVehicleDetected\x12\'.beam.SetRecordOnVehicleDetectedRequest\x1a(.beam.SetRecordOnVehicleDetectedResponse\"\x00\x12\\\n\x13SetRecordForRegions\x12 .beam.SetRecordForRegionsRequest\x1a!.beam.SetRecordForRegionsResponse\"\x00\x12h\n\x17SetAnalyticsSensitivity\x12$.beam.SetAnalyticsSensitivityRequest\x1a%.beam.SetAnalyticsSensitivityResponse\"\x00\x12G\n\x0cPreviewChime\x12\x19.beam.PreviewChimeRequest\x1a\x1a.beam.PreviewChimeResponse\"\x00\x12t\n\x1bSetPackageDeliveryLocations\x12(.beam.SetPackageDeliveryLocationsRequest\x1a).beam.SetPackageDeliveryLocationsResponse\"\x00\x12\\\n\x13SetDoorbellPosition\x12 .beam.SetDoorbellPositionRequest\x1a!.beam.SetDoorbellPositionResponse\"\x00\x12S\n\x10GetDynamicChimes\x12\x1d.beam.GetDynamicChimesRequest\x1a\x1e.beam.GetDynamicChimesResponse\"\x00\x12P\n\x0fSetDynamicChime\x12\x1c.beam.SetDynamicChimeRequest\x1a\x1d.beam.SetDynamicChimeResponse\"\x00\x12\x62\n\x14SetPackageWatchState\x12!.beam.SetPackageWatchStateRequest\x1a\".beam.SetPackageWatchStateResponse\"\x03\x88\x02\x01\x12\x44\n\x0bSetUserRole\x12\x18.beam.SetUserRoleRequest\x1a\x19.beam.SetUserRoleResponse\"\x00\x12Y\n\x12GetClipSharingLink\x12\x1f.beam.GetClipSharingLinkRequest\x1a .beam.GetClipSharingLinkResponse\"\x00\x12K\n\x14PanelKillWiFiNetwork\x12!.beam.PanelKillWiFiNetworkRequest\x1a\x0e.beam.Response\"\x00\x12K\n\x14PanelRefreshSSIDList\x12!.beam.PanelRefreshSSIDListRequest\x1a\x0e.beam.Response\"\x00\x12\x65\n\x16StartCameraWifiConnect\x12#.beam.StartCameraWifiConnectRequest\x1a$.beam.StartCameraWifiConnectResponse\"\x00\x12?\n\x0e\x41\x64\x64\x43\x61meraToHub\x12\x1b.beam.AddCameraToHubRequest\x1a\x0e.beam.Response\"\x00\x12V\n\x11ReportVideoFailed\x12\x1e.beam.ReportVideoFailedRequest\x1a\x1f.beam.ReportVideoFailedResponse\"\x00\x12W\n\x16RequestCameraThumbnail\x12\x1c.beam.CameraThumbnailRequest\x1a\x1d.beam.CameraThumbnailResponse\"\x00\x12O\n\x15GetCameraThumbnailUrl\x12\x1c.beam.CameraThumbnailRequest\x1a\x16.google.protobuf.Empty\"\x00\x12V\n\x11GetHistoryClipURL\x12\x1e.beam.GetHistoryClipURLRequest\x1a\x1f.beam.GetHistoryClipURLResponse\"\x00\x12\x62\n\x17GetLegacyHistoryClipURL\x12$.beam.GetLegacyHistoryClipURLRequest\x1a\x1f.beam.GetHistoryClipURLResponse\"\x00\x12G\n\x0c\x41ssociateDvr\x12\x19.beam.AssociateDvrRequest\x1a\x1a.beam.AssociateDvrResponse\"\x00\x12V\n\x11SetSpotlightZones\x12\x1e.beam.SetSpotlightZonesRequest\x1a\x1f.beam.SetSpotlightZonesResponse\"\x00\x12\x65\n\x16SetSpotlightBrightness\x12#.beam.SetSpotlightBrightnessRequest\x1a$.beam.SetSpotlightBrightnessResponse\"\x00\x12S\n\x10ToggleFloodlight\x12\x1d.beam.ToggleFloodlightRequest\x1a\x1e.beam.ToggleFloodlightResponse\"\x00\x12\x86\x01\n!SetSpotlightLightOnPersonDetected\x12..beam.SetSpotlightLightOnPersonDetectedRequest\x1a/.beam.SetSpotlightLightOnPersonDetectedResponse\"\x00\x12h\n\x17SetSpotlightCalibration\x12$.beam.SetSpotlightCalibrationRequest\x1a%.beam.SetSpotlightCalibrationResponse\"\x00\x12k\n\x18SetDeterLightingBehavior\x12%.beam.SetDeterLightingBehaviorRequest\x1a&.beam.SetDeterLightingBehaviorResponse\"\x00\x12Y\n\x12SetSpotlightFollow\x12\x1f.beam.SetSpotlightFollowRequest\x1a .beam.SetSpotlightFollowResponse\"\x00\x12}\n\x1dSetSpotlightOnSunsetToSunrise\x12*.beam.SetSpotlightOnSunsetToSunriseRequest\x1a+.beam.SetSpotlightOnSunsetToSunriseResponse\"\x03\x88\x02\x01\x12\x65\n\x16SetSpotlightNightLight\x12#.beam.SetSpotlightNightLightRequest\x1a$.beam.SetSpotlightNightLightResponse\"\x00\x42I\n\x0f\x63om.vivint.grpcZ,source.vivint.com/pl/beam-def/generated;beam\xa2\x02\x07VIVBEAMb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vivintpy.proto.beam_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\017com.vivint.grpcZ,source.vivint.com/pl/beam-def/generated;beam\242\002\007VIVBEAM' + _SETDEVICENAMEREQUEST.fields_by_name['panel_id']._options = None + _SETDEVICENAMEREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETDEVICENAMEREQUEST.fields_by_name['device_id']._options = None + _SETDEVICENAMEREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _GETCAMERASETTINGSREQUEST.fields_by_name['panel_id']._options = None + _GETCAMERASETTINGSREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _GETCAMERASETTINGSREQUEST.fields_by_name['device_id']._options = None + _GETCAMERASETTINGSREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _GETCAMERASETTINGSRESPONSE.fields_by_name['package_watch_state']._options = None + _GETCAMERASETTINGSRESPONSE.fields_by_name['package_watch_state']._serialized_options = b'\030\001' + _SETTINGSREQUESTHEADER.fields_by_name['device_uuid']._options = None + _SETTINGSREQUESTHEADER.fields_by_name['device_uuid']._serialized_options = b'\030\001' + _SETAUDIORECORDINGREQUEST.fields_by_name['panel_id']._options = None + _SETAUDIORECORDINGREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETAUDIORECORDINGREQUEST.fields_by_name['device_id']._options = None + _SETAUDIORECORDINGREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETDOORBELLCHIMEREQUEST.fields_by_name['panel_id']._options = None + _SETDOORBELLCHIMEREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETDOORBELLCHIMEREQUEST.fields_by_name['device_id']._options = None + _SETDOORBELLCHIMEREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETDOORBELLCHIMEREQUEST.fields_by_name['device_uuid']._options = None + _SETDOORBELLCHIMEREQUEST.fields_by_name['device_uuid']._serialized_options = b'\030\001' + _SETPACKAGECHIMEREQUEST.fields_by_name['panel_id']._options = None + _SETPACKAGECHIMEREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETPACKAGECHIMEREQUEST.fields_by_name['device_id']._options = None + _SETPACKAGECHIMEREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _GETANALYTICSOPTINREQUEST.fields_by_name['panel_id']._options = None + _GETANALYTICSOPTINREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _GETANALYTICSOPTINREQUEST.fields_by_name['device_id']._options = None + _GETANALYTICSOPTINREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETANALYTICSOPTINREQUEST.fields_by_name['panel_id']._options = None + _SETANALYTICSOPTINREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETANALYTICSOPTINREQUEST.fields_by_name['device_id']._options = None + _SETANALYTICSOPTINREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETNOTIFYONREQUEST.fields_by_name['panel_id']._options = None + _SETNOTIFYONREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETNOTIFYONREQUEST.fields_by_name['device_id']._options = None + _SETNOTIFYONREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _DELETEALLEVENTSREQUEST.fields_by_name['panel_id']._options = None + _DELETEALLEVENTSREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _DELETEALLEVENTSREQUEST.fields_by_name['device_id']._options = None + _DELETEALLEVENTSREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETPROPERTYBOUNDARYREQUEST.fields_by_name['panel_id']._options = None + _SETPROPERTYBOUNDARYREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETPROPERTYBOUNDARYREQUEST.fields_by_name['device_id']._options = None + _SETPROPERTYBOUNDARYREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETANIMALBOUNDARYREQUEST.fields_by_name['panel_id']._options = None + _SETANIMALBOUNDARYREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETANIMALBOUNDARYREQUEST.fields_by_name['device_id']._options = None + _SETANIMALBOUNDARYREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETPACKAGEBOUNDARYREQUEST.fields_by_name['panel_id']._options = None + _SETPACKAGEBOUNDARYREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETPACKAGEBOUNDARYREQUEST.fields_by_name['device_id']._options = None + _SETPACKAGEBOUNDARYREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETVEHICLEBOUNDARYREQUEST.fields_by_name['panel_id']._options = None + _SETVEHICLEBOUNDARYREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETVEHICLEBOUNDARYREQUEST.fields_by_name['device_id']._options = None + _SETVEHICLEBOUNDARYREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETDETERBOUNDARYREQUEST.fields_by_name['panel_id']._options = None + _SETDETERBOUNDARYREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETDETERBOUNDARYREQUEST.fields_by_name['device_id']._options = None + _SETDETERBOUNDARYREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETPACKAGEDELIVERYLOCATIONSREQUEST.fields_by_name['panel_id']._options = None + _SETPACKAGEDELIVERYLOCATIONSREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETPACKAGEDELIVERYLOCATIONSREQUEST.fields_by_name['device_id']._options = None + _SETPACKAGEDELIVERYLOCATIONSREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _GETDEVICEONBOARDINGREQUEST.fields_by_name['panel_id']._options = None + _GETDEVICEONBOARDINGREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _GETDEVICEONBOARDINGREQUEST.fields_by_name['device_id']._options = None + _GETDEVICEONBOARDINGREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETDEVICEONBOARDINGREQUEST.fields_by_name['panel_id']._options = None + _SETDEVICEONBOARDINGREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETDEVICEONBOARDINGREQUEST.fields_by_name['device_id']._options = None + _SETDEVICEONBOARDINGREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETDOORBELLPOSITIONREQUEST.fields_by_name['panel_id']._options = None + _SETDOORBELLPOSITIONREQUEST.fields_by_name['panel_id']._serialized_options = b'\030\001' + _SETDOORBELLPOSITIONREQUEST.fields_by_name['device_id']._options = None + _SETDOORBELLPOSITIONREQUEST.fields_by_name['device_id']._serialized_options = b'\030\001' + _SETPACKAGEWATCHSTATEREQUEST._options = None + _SETPACKAGEWATCHSTATEREQUEST._serialized_options = b'\030\001' + _SETPACKAGEWATCHSTATERESPONSE._options = None + _SETPACKAGEWATCHSTATERESPONSE._serialized_options = b'\030\001' + _SETSPOTLIGHTONSUNSETTOSUNRISEREQUEST._options = None + _SETSPOTLIGHTONSUNSETTOSUNRISEREQUEST._serialized_options = b'\030\001' + _SETSPOTLIGHTONSUNSETTOSUNRISERESPONSE._options = None + _SETSPOTLIGHTONSUNSETTOSUNRISERESPONSE._serialized_options = b'\030\001' + _BEAM.methods_by_name['SetPackageWatchState']._options = None + _BEAM.methods_by_name['SetPackageWatchState']._serialized_options = b'\210\002\001' + _BEAM.methods_by_name['SetSpotlightOnSunsetToSunrise']._options = None + _BEAM.methods_by_name['SetSpotlightOnSunsetToSunrise']._serialized_options = b'\210\002\001' + _DETERSCHEDULETYPE._serialized_start=22755 + _DETERSCHEDULETYPE._serialized_end=23090 + _DETERAGGRESSIONLEVEL._serialized_start=23092 + _DETERAGGRESSIONLEVEL._serialized_end=23201 + _DETERLIGHTCOLOR._serialized_start=23203 + _DETERLIGHTCOLOR._serialized_end=23241 + _DETERLIGHTPATTERN._serialized_start=23243 + _DETERLIGHTPATTERN._serialized_end=23296 + _VIDEOQUALITY._serialized_start=23298 + _VIDEOQUALITY._serialized_end=23377 + _DOORBELLCHIME._serialized_start=23380 + _DOORBELLCHIME._serialized_end=23542 + _VISITORCHIME._serialized_start=23545 + _VISITORCHIME._serialized_end=23707 + _PACKAGECHIME._serialized_start=23710 + _PACKAGECHIME._serialized_end=23935 + _RECORDFORREGIONS._serialized_start=23937 + _RECORDFORREGIONS._serialized_end=24038 + _CHIMETYPE._serialized_start=24040 + _CHIMETYPE._serialized_end=24115 + _DOORBELLPOSITION._serialized_start=24117 + _DOORBELLPOSITION._serialized_end=24208 + _SPOTLIGHTMODE._serialized_start=24211 + _SPOTLIGHTMODE._serialized_end=24386 + _SPOTLIGHTSTATUS._serialized_start=24389 + _SPOTLIGHTSTATUS._serialized_end=24685 + _SETDEVICENAMEREQUEST._serialized_start=97 + _SETDEVICENAMEREQUEST._serialized_end=223 + _SETDEVICENAMERESPONSE._serialized_start=225 + _SETDEVICENAMERESPONSE._serialized_end=282 + _GETCAMERATECHNICALINFOREQUEST._serialized_start=284 + _GETCAMERATECHNICALINFOREQUEST._serialized_end=352 + _GETCAMERATECHNICALINFORESPONSE._serialized_start=354 + _GETCAMERATECHNICALINFORESPONSE._serialized_end=455 + _GETCAMERASETTINGSREQUEST._serialized_start=457 + _GETCAMERASETTINGSREQUEST._serialized_end=573 + _GETCAMERASETTINGSRESPONSE._serialized_start=576 + _GETCAMERASETTINGSRESPONSE._serialized_end=4109 + _PANELDEVICEIDS._serialized_start=4111 + _PANELDEVICEIDS._serialized_end=4164 + _STANDALONECAMERAIDS._serialized_start=4166 + _STANDALONECAMERAIDS._serialized_end=4255 + _SETTINGSREQUESTHEADER._serialized_start=4258 + _SETTINGSREQUESTHEADER._serialized_end=4472 + _GETPANELSETTINGSREQUEST._serialized_start=4474 + _GETPANELSETTINGSREQUEST._serialized_end=4536 + _GETPANELSETTINGSRESPONSE._serialized_start=4538 + _GETPANELSETTINGSRESPONSE._serialized_end=4622 + _SETCAMERAPRIVACYMODEREQUEST._serialized_start=4624 + _SETCAMERAPRIVACYMODEREQUEST._serialized_end=4712 + _SETCAMERAPRIVACYMODERESPONSE._serialized_start=4714 + _SETCAMERAPRIVACYMODERESPONSE._serialized_end=4778 + _SETCAMERAPLAYBACKENABLEDREQUEST._serialized_start=4780 + _SETCAMERAPLAYBACKENABLEDREQUEST._serialized_end=4876 + _SETCAMERAPLAYBACKENABLEDRESPONSE._serialized_start=4878 + _SETCAMERAPLAYBACKENABLEDRESPONSE._serialized_end=4946 + _SETDETECTIONWINDOWSREQUEST._serialized_start=4948 + _SETDETECTIONWINDOWSREQUEST._serialized_end=5063 + _SETDETECTIONWINDOWSRESPONSE._serialized_start=5065 + _SETDETECTIONWINDOWSRESPONSE._serialized_end=5128 + _SETCHIMEVOLUMEREQUEST._serialized_start=5130 + _SETCHIMEVOLUMEREQUEST._serialized_end=5206 + _SETCHIMEVOLUMERESPONSE._serialized_start=5208 + _SETCHIMEVOLUMERESPONSE._serialized_end=5266 + _SETCHIMEMUTEREQUEST._serialized_start=5268 + _SETCHIMEMUTEREQUEST._serialized_end=5340 + _SETCHIMEMUTERESPONSE._serialized_start=5342 + _SETCHIMEMUTERESPONSE._serialized_end=5398 + _SETVIDEOQUALITYREQUEST._serialized_start=5400 + _SETVIDEOQUALITYREQUEST._serialized_end=5498 + _SETVIDEOQUALITYRESPONSE._serialized_start=5500 + _SETVIDEOQUALITYRESPONSE._serialized_end=5559 + _SETNIGHTVISIONREQUEST._serialized_start=5561 + _SETNIGHTVISIONREQUEST._serialized_end=5643 + _SETNIGHTVISIONRESPONSE._serialized_start=5645 + _SETNIGHTVISIONRESPONSE._serialized_end=5703 + _SETIRLEDREQUEST._serialized_start=5705 + _SETIRLEDREQUEST._serialized_end=5778 + _SETIRLEDRESPONSE._serialized_start=5780 + _SETIRLEDRESPONSE._serialized_end=5832 + _SETROTATEIMAGEREQUEST._serialized_start=5834 + _SETROTATEIMAGEREQUEST._serialized_end=5916 + _SETROTATEIMAGERESPONSE._serialized_start=5918 + _SETROTATEIMAGERESPONSE._serialized_end=5976 + _SETMAINTAINZOOMREQUEST._serialized_start=5978 + _SETMAINTAINZOOMREQUEST._serialized_end=6062 + _SETMAINTAINZOOMRESPONSE._serialized_start=6064 + _SETMAINTAINZOOMRESPONSE._serialized_end=6123 + _SETSTATUSLIGHTREQUEST._serialized_start=6125 + _SETSTATUSLIGHTREQUEST._serialized_end=6207 + _SETSTATUSLIGHTRESPONSE._serialized_start=6209 + _SETSTATUSLIGHTRESPONSE._serialized_end=6267 + _SETAUDIORECORDINGREQUEST._serialized_start=6270 + _SETAUDIORECORDINGREQUEST._serialized_end=6411 + _SETAUDIORECORDINGRESPONSE._serialized_start=6413 + _SETAUDIORECORDINGRESPONSE._serialized_end=6474 + _SETDOORBELLCHIMEREQUEST._serialized_start=6477 + _SETDOORBELLCHIMEREQUEST._serialized_end=6681 + _SETDOORBELLCHIMERESPONSE._serialized_start=6683 + _SETDOORBELLCHIMERESPONSE._serialized_end=6743 + _SETDOORBELLMUTEDREQUEST._serialized_start=6745 + _SETDOORBELLMUTEDREQUEST._serialized_end=6822 + _SETDOORBELLMUTEDRESPONSE._serialized_start=6824 + _SETDOORBELLMUTEDRESPONSE._serialized_end=6884 + _SETVISITORCHIMEREQUEST._serialized_start=6886 + _SETVISITORCHIMEREQUEST._serialized_end=6982 + _SETVISITORCHIMERESPONSE._serialized_start=6984 + _SETVISITORCHIMERESPONSE._serialized_end=7043 + _SETPACKAGECHIMEREQUEST._serialized_start=7046 + _SETPACKAGECHIMEREQUEST._serialized_end=7195 + _SETPACKAGECHIMERESPONSE._serialized_start=7197 + _SETPACKAGECHIMERESPONSE._serialized_end=7256 + _SETUSEASDOORBELLCHIMEEXTENDERREQUEST._serialized_start=7258 + _SETUSEASDOORBELLCHIMEEXTENDERREQUEST._serialized_end=7373 + _SETUSEASDOORBELLCHIMEEXTENDERRESPONSE._serialized_start=7375 + _SETUSEASDOORBELLCHIMEEXTENDERRESPONSE._serialized_end=7448 + _SETEXTENDSIRENREQUEST._serialized_start=7450 + _SETEXTENDSIRENREQUEST._serialized_end=7532 + _SETEXTENDSIRENRESPONSE._serialized_start=7534 + _SETEXTENDSIRENRESPONSE._serialized_end=7592 + _SETQUIETMODEREQUEST._serialized_start=7594 + _SETQUIETMODEREQUEST._serialized_end=7672 + _SETQUIETMODERESPONSE._serialized_start=7674 + _SETQUIETMODERESPONSE._serialized_end=7730 + _GETANALYTICSOPTINREQUEST._serialized_start=7732 + _GETANALYTICSOPTINREQUEST._serialized_end=7848 + _GETANALYTICSOPTINRESPONSE._serialized_start=7850 + _GETANALYTICSOPTINRESPONSE._serialized_end=7927 + _SETANALYTICSOPTINREQUEST._serialized_start=7930 + _SETANALYTICSOPTINREQUEST._serialized_end=8079 + _SETANALYTICSOPTINRESPONSE._serialized_start=8081 + _SETANALYTICSOPTINRESPONSE._serialized_end=8142 + _SETNOTIFYONREQUEST._serialized_start=8144 + _SETNOTIFYONREQUEST._serialized_end=8271 + _SETNOTIFYONRESPONSE._serialized_start=8273 + _SETNOTIFYONRESPONSE._serialized_end=8328 + _RESTOREDEFAULTSREQUEST._serialized_start=8330 + _RESTOREDEFAULTSREQUEST._serialized_end=8391 + _RESTOREDEFAULTSRESPONSE._serialized_start=8393 + _RESTOREDEFAULTSRESPONSE._serialized_end=8452 + _ADJUSTCAMERATOXYZREQUEST._serialized_start=8454 + _ADJUSTCAMERATOXYZREQUEST._serialized_end=8569 + _ADJUSTCAMERATOXYZRESPONSE._serialized_start=8571 + _ADJUSTCAMERATOXYZRESPONSE._serialized_end=8632 + _REBOOTCAMERAREQUEST._serialized_start=8634 + _REBOOTCAMERAREQUEST._serialized_end=8713 + _REBOOTCAMERARESPONSE._serialized_start=8715 + _REBOOTCAMERARESPONSE._serialized_end=8771 + _DELETEALLEVENTSREQUEST._serialized_start=8773 + _DELETEALLEVENTSREQUEST._serialized_end=8887 + _DELETEALLEVENTSRESPONSE._serialized_start=8889 + _DELETEALLEVENTSRESPONSE._serialized_end=8948 + _DELETECAMERAREQUEST._serialized_start=8950 + _DELETECAMERAREQUEST._serialized_end=9008 + _DELETECAMERARESPONSE._serialized_start=9010 + _DELETECAMERARESPONSE._serialized_end=9066 + _SETCAMERALISTORDERREQUEST._serialized_start=9068 + _SETCAMERALISTORDERREQUEST._serialized_end=9149 + _SETCAMERALISTORDERRESPONSE._serialized_start=9151 + _SETCAMERALISTORDERRESPONSE._serialized_end=9213 + _SETLURKERDETERREQUEST._serialized_start=9215 + _SETLURKERDETERREQUEST._serialized_end=9297 + _SETLURKERDETERRESPONSE._serialized_start=9299 + _SETLURKERDETERRESPONSE._serialized_end=9357 + _SETSMARTSENTRYSNOOZEREQUEST._serialized_start=9359 + _SETSMARTSENTRYSNOOZEREQUEST._serialized_end=9443 + _SETSMARTSENTRYSNOOZERESPONSE._serialized_start=9445 + _SETSMARTSENTRYSNOOZERESPONSE._serialized_end=9509 + _SETPACKAGEWATCHREQUEST._serialized_start=9511 + _SETPACKAGEWATCHREQUEST._serialized_end=9595 + _SETPACKAGEWATCHRESPONSE._serialized_start=9597 + _SETPACKAGEWATCHRESPONSE._serialized_end=9656 + _SETPROPERTYBOUNDARYREQUEST._serialized_start=9659 + _SETPROPERTYBOUNDARYREQUEST._serialized_end=9830 + _SETPROPERTYBOUNDARYRESPONSE._serialized_start=9832 + _SETPROPERTYBOUNDARYRESPONSE._serialized_end=9895 + _SETDETERSCHEDULEREQUEST._serialized_start=9898 + _SETDETERSCHEDULEREQUEST._serialized_end=10038 + _SETDETERSCHEDULERESPONSE._serialized_start=10040 + _SETDETERSCHEDULERESPONSE._serialized_end=10100 + _SETDETERSCHEDULEV2REQUEST._serialized_start=10102 + _SETDETERSCHEDULEV2REQUEST._serialized_end=10224 + _SETDETERSCHEDULEV2RESPONSE._serialized_start=10226 + _SETDETERSCHEDULEV2RESPONSE._serialized_end=10288 + _DETERSCHEDULESETTINGSV2._serialized_start=10290 + _DETERSCHEDULESETTINGSV2._serialized_end=10409 + _ASPECTRATIOTUPLE._serialized_start=10411 + _ASPECTRATIOTUPLE._serialized_end=10460 + _SETDETERAGGRESSIONLEVELREQUEST._serialized_start=10462 + _SETDETERAGGRESSIONLEVELREQUEST._serialized_end=10574 + _SETDETERAGGRESSIONLEVELRESPONSE._serialized_start=10576 + _SETDETERAGGRESSIONLEVELRESPONSE._serialized_end=10643 + _SETDETERLIGHTCOLORREQUEST._serialized_start=10645 + _SETDETERLIGHTCOLORREQUEST._serialized_end=10747 + _SETDETERLIGHTCOLORRESPONSE._serialized_start=10749 + _SETDETERLIGHTCOLORRESPONSE._serialized_end=10811 + _SETDETERLIGHTPATTERNREQUEST._serialized_start=10813 + _SETDETERLIGHTPATTERNREQUEST._serialized_end=10921 + _SETDETERLIGHTPATTERNRESPONSE._serialized_start=10923 + _SETDETERLIGHTPATTERNRESPONSE._serialized_end=10987 + _SETDETEROVERRIDEREQUEST._serialized_start=10989 + _SETDETEROVERRIDEREQUEST._serialized_end=11091 + _SETDETEROVERRIDERESPONSE._serialized_start=11093 + _SETDETEROVERRIDERESPONSE._serialized_end=11153 + _SETLINGERDURATIONREQUEST._serialized_start=11155 + _SETLINGERDURATIONREQUEST._serialized_end=11236 + _SETLINGERDURATIONRESPONSE._serialized_start=11238 + _SETLINGERDURATIONRESPONSE._serialized_end=11299 + _SETANIMALBOUNDARYREQUEST._serialized_start=11302 + _SETANIMALBOUNDARYREQUEST._serialized_end=11471 + _SETANIMALBOUNDARYRESPONSE._serialized_start=11473 + _SETANIMALBOUNDARYRESPONSE._serialized_end=11534 + _SETPACKAGEBOUNDARYREQUEST._serialized_start=11537 + _SETPACKAGEBOUNDARYREQUEST._serialized_end=11707 + _SETPACKAGEBOUNDARYRESPONSE._serialized_start=11709 + _SETPACKAGEBOUNDARYRESPONSE._serialized_end=11771 + _SETVEHICLEBOUNDARYREQUEST._serialized_start=11774 + _SETVEHICLEBOUNDARYREQUEST._serialized_end=11944 + _SETVEHICLEBOUNDARYRESPONSE._serialized_start=11946 + _SETVEHICLEBOUNDARYRESPONSE._serialized_end=12008 + _SETDETERBOUNDARYREQUEST._serialized_start=12011 + _SETDETERBOUNDARYREQUEST._serialized_end=12179 + _SETDETERBOUNDARYRESPONSE._serialized_start=12181 + _SETDETERBOUNDARYRESPONSE._serialized_end=12241 + _GETPANELLOGINREQUEST._serialized_start=12243 + _GETPANELLOGINREQUEST._serialized_end=12283 + _GETPANELLOGINRESPONSE._serialized_start=12285 + _GETPANELLOGINRESPONSE._serialized_end=12374 + _SETCAPTURECLIPONREQUEST._serialized_start=12376 + _SETCAPTURECLIPONREQUEST._serialized_end=12463 + _SETCAPTURECLIPONRESPONSE._serialized_start=12465 + _SETCAPTURECLIPONRESPONSE._serialized_end=12525 + _SETRECORDONDETERREQUEST._serialized_start=12527 + _SETRECORDONDETERREQUEST._serialized_end=12614 + _SETRECORDONDETERRESPONSE._serialized_start=12616 + _SETRECORDONDETERRESPONSE._serialized_end=12676 + _SETRECORDONPERSONDETECTEDREQUEST._serialized_start=12678 + _SETRECORDONPERSONDETECTEDREQUEST._serialized_end=12775 + _SETRECORDONPERSONDETECTEDRESPONSE._serialized_start=12777 + _SETRECORDONPERSONDETECTEDRESPONSE._serialized_end=12846 + _SETRECORDONPACKAGEDETECTEDREQUEST._serialized_start=12848 + _SETRECORDONPACKAGEDETECTEDREQUEST._serialized_end=12947 + _SETRECORDONPACKAGEDETECTEDRESPONSE._serialized_start=12949 + _SETRECORDONPACKAGEDETECTEDRESPONSE._serialized_end=13019 + _SETRECORDONLURKERDETECTEDREQUEST._serialized_start=13021 + _SETRECORDONLURKERDETECTEDREQUEST._serialized_end=13118 + _SETRECORDONLURKERDETECTEDRESPONSE._serialized_start=13120 + _SETRECORDONLURKERDETECTEDRESPONSE._serialized_end=13189 + _SETRECORDONANIMALDETECTEDREQUEST._serialized_start=13191 + _SETRECORDONANIMALDETECTEDREQUEST._serialized_end=13288 + _SETRECORDONANIMALDETECTEDRESPONSE._serialized_start=13290 + _SETRECORDONANIMALDETECTEDRESPONSE._serialized_end=13359 + _SETRECORDONVEHICLEDETECTEDREQUEST._serialized_start=13361 + _SETRECORDONVEHICLEDETECTEDREQUEST._serialized_end=13460 + _SETRECORDONVEHICLEDETECTEDRESPONSE._serialized_start=13462 + _SETRECORDONVEHICLEDETECTEDRESPONSE._serialized_end=13532 + _SETRECORDFORREGIONSREQUEST._serialized_start=13534 + _SETRECORDFORREGIONSREQUEST._serialized_end=13650 + _SETRECORDFORREGIONSRESPONSE._serialized_start=13652 + _SETRECORDFORREGIONSRESPONSE._serialized_end=13715 + _SETANALYTICSSENSITIVITYREQUEST._serialized_start=13717 + _SETANALYTICSSENSITIVITYREQUEST._serialized_end=13817 + _SETANALYTICSSENSITIVITYRESPONSE._serialized_start=13819 + _SETANALYTICSSENSITIVITYRESPONSE._serialized_end=13886 + _PREVIEWCHIMEREQUEST._serialized_start=13888 + _PREVIEWCHIMEREQUEST._serialized_end=13983 + _SETPACKAGEDELIVERYLOCATIONSRESPONSE._serialized_start=13985 + _SETPACKAGEDELIVERYLOCATIONSRESPONSE._serialized_end=14056 + _SETPACKAGEDELIVERYLOCATIONSREQUEST._serialized_start=14059 + _SETPACKAGEDELIVERYLOCATIONSREQUEST._serialized_end=14250 + _PREVIEWCHIMERESPONSE._serialized_start=14252 + _PREVIEWCHIMERESPONSE._serialized_end=14308 + _GETDEVICEONBOARDINGREQUEST._serialized_start=14310 + _GETDEVICEONBOARDINGREQUEST._serialized_end=14428 + _GETDEVICEONBOARDINGRESPONSE._serialized_start=14431 + _GETDEVICEONBOARDINGRESPONSE._serialized_end=15036 + _SETDEVICEONBOARDINGREQUEST._serialized_start=15039 + _SETDEVICEONBOARDINGREQUEST._serialized_end=15749 + _SETDEVICEONBOARDINGRESPONSE._serialized_start=15751 + _SETDEVICEONBOARDINGRESPONSE._serialized_end=15814 + _SETDOORBELLPOSITIONREQUEST._serialized_start=15817 + _SETDOORBELLPOSITIONREQUEST._serialized_end=15986 + _SETDOORBELLPOSITIONRESPONSE._serialized_start=15988 + _SETDOORBELLPOSITIONRESPONSE._serialized_end=16051 + _SETPACKAGEWATCHSTATEREQUEST._serialized_start=16053 + _SETPACKAGEWATCHSTATEREQUEST._serialized_end=16163 + _SETPACKAGEWATCHSTATERESPONSE._serialized_start=16165 + _SETPACKAGEWATCHSTATERESPONSE._serialized_end=16233 + _DYNAMICCHIMEINFO._serialized_start=16235 + _DYNAMICCHIMEINFO._serialized_end=16312 + _DYNAMICCHIMEBANNERINFO._serialized_start=16314 + _DYNAMICCHIMEBANNERINFO._serialized_end=16425 + _DYNAMICCHIMESPLASHPAGEINFO._serialized_start=16428 + _DYNAMICCHIMESPLASHPAGEINFO._serialized_end=16600 + _DYNAMICCHIMESPLASHPAGEBULLETINFO._serialized_start=16602 + _DYNAMICCHIMESPLASHPAGEBULLETINFO._serialized_end=16668 + _DYNAMICCHIMECATEGORY._serialized_start=16671 + _DYNAMICCHIMECATEGORY._serialized_end=17050 + _GETDYNAMICCHIMESREQUEST._serialized_start=17053 + _GETDYNAMICCHIMESREQUEST._serialized_end=17181 + _GETDYNAMICCHIMESRESPONSE._serialized_start=17183 + _GETDYNAMICCHIMESRESPONSE._serialized_end=17295 + _SETDYNAMICCHIMEREQUEST._serialized_start=17298 + _SETDYNAMICCHIMEREQUEST._serialized_end=17441 + _SETDYNAMICCHIMERESPONSE._serialized_start=17443 + _SETDYNAMICCHIMERESPONSE._serialized_end=17502 + _SETUSERROLEREQUEST._serialized_start=17505 + _SETUSERROLEREQUEST._serialized_end=17706 + _SETUSERROLEREQUEST_USERROLE._serialized_start=17646 + _SETUSERROLEREQUEST_USERROLE._serialized_end=17706 + _SETUSERROLERESPONSE._serialized_start=17708 + _SETUSERROLERESPONSE._serialized_end=17763 + _DATE._serialized_start=17765 + _DATE._serialized_end=17813 + _GETCLIPSHARINGLINKREQUEST._serialized_start=17816 + _GETCLIPSHARINGLINKREQUEST._serialized_end=17949 + _GETCLIPSHARINGLINKRESPONSE._serialized_start=17951 + _GETCLIPSHARINGLINKRESPONSE._serialized_end=18040 + _REPORTVIDEOFAILEDREQUEST._serialized_start=18043 + _REPORTVIDEOFAILEDREQUEST._serialized_end=18354 + _REPORTVIDEOFAILEDRESPONSE._serialized_start=18356 + _REPORTVIDEOFAILEDRESPONSE._serialized_end=18437 + _PANELKILLWIFINETWORKREQUEST._serialized_start=18439 + _PANELKILLWIFINETWORKREQUEST._serialized_end=18486 + _PANELREFRESHSSIDLISTREQUEST._serialized_start=18488 + _PANELREFRESHSSIDLISTREQUEST._serialized_end=18559 + _STARTCAMERAWIFICONNECTRESPONSE._serialized_start=18561 + _STARTCAMERAWIFICONNECTRESPONSE._serialized_end=18627 + _STARTCAMERAWIFICONNECTREQUEST._serialized_start=18629 + _STARTCAMERAWIFICONNECTREQUEST._serialized_end=18703 + _ADDCAMERATOHUBREQUEST._serialized_start=18705 + _ADDCAMERATOHUBREQUEST._serialized_end=18814 + _ACCESSPOINTINFO._serialized_start=18817 + _ACCESSPOINTINFO._serialized_end=18950 + _RESPONSE._serialized_start=18952 + _RESPONSE._serialized_end=19009 + _SOFTWAREVERSION._serialized_start=19011 + _SOFTWAREVERSION._serialized_end=19094 + _TYPECAPABILITIES._serialized_start=19096 + _TYPECAPABILITIES._serialized_end=19150 + _CAPABILITIES._serialized_start=19152 + _CAPABILITIES._serialized_end=19215 + _TECHNICALINFO._serialized_start=19218 + _TECHNICALINFO._serialized_end=19541 + _TECHNICALINFO_AUDIOCODEC._serialized_start=19488 + _TECHNICALINFO_AUDIOCODEC._serialized_end=19541 + _DETECTIONWINDOW._serialized_start=19544 + _DETECTIONWINDOW._serialized_end=19685 + _PROPERTYBOUNDARYPOINTLIST._serialized_start=19687 + _PROPERTYBOUNDARYPOINTLIST._serialized_end=19759 + _PROPERTYBOUNDARYPOINT._serialized_start=19761 + _PROPERTYBOUNDARYPOINT._serialized_end=19806 + _DETERSCHEDULE._serialized_start=19809 + _DETERSCHEDULE._serialized_end=19971 + _CAMERATHUMBNAILREQUEST._serialized_start=19973 + _CAMERATHUMBNAILREQUEST._serialized_end=20056 + _CAMERATHUMBNAILRESPONSE._serialized_start=20058 + _CAMERATHUMBNAILRESPONSE._serialized_end=20117 + _SYSTEMREQUESTHEADER._serialized_start=20119 + _SYSTEMREQUESTHEADER._serialized_end=20188 + _GETHISTORYCLIPURLREQUEST._serialized_start=20191 + _GETHISTORYCLIPURLREQUEST._serialized_end=20339 + _GETLEGACYHISTORYCLIPURLREQUEST._serialized_start=20341 + _GETLEGACYHISTORYCLIPURLREQUEST._serialized_end=20400 + _GETHISTORYCLIPURLRESPONSE._serialized_start=20402 + _GETHISTORYCLIPURLRESPONSE._serialized_end=20481 + _ASSOCIATEDVRREQUEST._serialized_start=20483 + _ASSOCIATEDVRREQUEST._serialized_end=20556 + _ASSOCIATEDVRRESPONSE._serialized_start=20558 + _ASSOCIATEDVRRESPONSE._serialized_end=20604 + _SPOTLIGHTCALIBRATIONDATA._serialized_start=20607 + _SPOTLIGHTCALIBRATIONDATA._serialized_end=20905 + _SPOTLIGHTCALIBRATIONDATA_ZONEDATA._serialized_start=20765 + _SPOTLIGHTCALIBRATIONDATA_ZONEDATA._serialized_end=20830 + _SPOTLIGHTCALIBRATIONDATA_CALIBRATIONTYPE._serialized_start=20832 + _SPOTLIGHTCALIBRATIONDATA_CALIBRATIONTYPE._serialized_end=20905 + _SETSPOTLIGHTCALIBRATIONREQUEST._serialized_start=20908 + _SETSPOTLIGHTCALIBRATIONREQUEST._serialized_end=21043 + _SETSPOTLIGHTCALIBRATIONRESPONSE._serialized_start=21045 + _SETSPOTLIGHTCALIBRATIONRESPONSE._serialized_end=21112 + _SETSPOTLIGHTZONESREQUEST._serialized_start=21114 + _SETSPOTLIGHTZONESREQUEST._serialized_end=21217 + _SETSPOTLIGHTZONESRESPONSE._serialized_start=21219 + _SETSPOTLIGHTZONESRESPONSE._serialized_end=21280 + _SETSPOTLIGHTLIGHTONPERSONDETECTEDREQUEST._serialized_start=21282 + _SETSPOTLIGHTLIGHTONPERSONDETECTEDREQUEST._serialized_end=21400 + _SETSPOTLIGHTLIGHTONPERSONDETECTEDRESPONSE._serialized_start=21402 + _SETSPOTLIGHTLIGHTONPERSONDETECTEDRESPONSE._serialized_end=21479 + _SETSPOTLIGHTBRIGHTNESSREQUEST._serialized_start=21481 + _SETSPOTLIGHTBRIGHTNESSREQUEST._serialized_end=21585 + _SETSPOTLIGHTBRIGHTNESSRESPONSE._serialized_start=21587 + _SETSPOTLIGHTBRIGHTNESSRESPONSE._serialized_end=21653 + _TOGGLEFLOODLIGHTREQUEST._serialized_start=21655 + _TOGGLEFLOODLIGHTREQUEST._serialized_end=21748 + _TOGGLEFLOODLIGHTRESPONSE._serialized_start=21750 + _TOGGLEFLOODLIGHTRESPONSE._serialized_end=21810 + _SETSPOTLIGHTONSUNSETTOSUNRISEREQUEST._serialized_start=21812 + _SETSPOTLIGHTONSUNSETTOSUNRISEREQUEST._serialized_end=21916 + _SETSPOTLIGHTONSUNSETTOSUNRISERESPONSE._serialized_start=21918 + _SETSPOTLIGHTONSUNSETTOSUNRISERESPONSE._serialized_end=21995 + _SETSPOTLIGHTNIGHTLIGHTREQUEST._serialized_start=21997 + _SETSPOTLIGHTNIGHTLIGHTREQUEST._serialized_end=22090 + _SETSPOTLIGHTNIGHTLIGHTRESPONSE._serialized_start=22092 + _SETSPOTLIGHTNIGHTLIGHTRESPONSE._serialized_end=22158 + _BEAMPORTALCOMMAND._serialized_start=22160 + _BEAMPORTALCOMMAND._serialized_end=22248 + _LIGHTINGBEHAVIOR._serialized_start=22251 + _LIGHTINGBEHAVIOR._serialized_end=22397 + _LIGHTINGBEHAVIOR_BEHAVIOR._serialized_start=22322 + _LIGHTINGBEHAVIOR_BEHAVIOR._serialized_end=22397 + _SETDETERLIGHTINGBEHAVIORREQUEST._serialized_start=22400 + _SETDETERLIGHTINGBEHAVIORREQUEST._serialized_end=22528 + _SETDETERLIGHTINGBEHAVIORRESPONSE._serialized_start=22530 + _SETDETERLIGHTINGBEHAVIORRESPONSE._serialized_end=22598 + _SETSPOTLIGHTFOLLOWREQUEST._serialized_start=22600 + _SETSPOTLIGHTFOLLOWREQUEST._serialized_end=22688 + _SETSPOTLIGHTFOLLOWRESPONSE._serialized_start=22690 + _SETSPOTLIGHTFOLLOWRESPONSE._serialized_end=22752 + _BEAM._serialized_start=24688 + _BEAM._serialized_end=33355 +# @@protoc_insertion_point(module_scope) diff --git a/vivintpy/proto/beam_pb2.pyi b/vivintpy/proto/beam_pb2.pyi new file mode 100644 index 0000000..78ee867 --- /dev/null +++ b/vivintpy/proto/beam_pb2.pyi @@ -0,0 +1,2116 @@ +from google.protobuf import timestamp_pb2 as _timestamp_pb2 +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +AGGLEVELNONE: DeterAggressionLevel +ALERT: PackageChime +ALWAYS: DeterScheduleType +ANIMAL_DETER: DeterScheduleType +ARMED: DeterScheduleType +BELLS: DoorbellChime +BREATH: DeterLightPattern +CUSTOM_ACTION: DeterScheduleType +DC_NONE: DoorbellChime +DESCRIPTOR: _descriptor.FileDescriptor +DINGALING: VisitorChime +DOORBELL: ChimeType +DOORBELL_DYNAMIC: DoorbellChime +DROPS: VisitorChime +ELEVATOR: DoorbellChime +ELEVATOR2: DoorbellChime +FAIR: VideoQuality +FIVE: DeterAggressionLevel +FLASH: DeterLightPattern +FOUR: DeterAggressionLevel +FRIENDLY: PackageChime +GOOD: VideoQuality +GREAT: VideoQuality +HELLO: PackageChime +HI: VisitorChime +HIGH_DOUBLE: VisitorChime +INSIGHT: VisitorChime +INVALID_CHIME_TYPE: ChimeType +LEFT_SIDE: DoorbellPosition +LEFT_WALL: DoorbellPosition +LIGHT_ONLY: PackageChime +LOW: VideoQuality +LOW_DOUBLE: VisitorChime +LURKER_DETER: DeterScheduleType +MEDIUM: VideoQuality +MELODY: DoorbellChime +MELODY2: DoorbellChime +MODERN: DoorbellChime +NEVER: DeterScheduleType +ONE: DeterAggressionLevel +PACKAGE: ChimeType +PACKAGE_APPROACHED_DETER: DeterScheduleType +PACKAGE_DETER: DeterScheduleType +PACKAGE_DYNAMIC: PackageChime +PACKAGE_MOVED_DETER: DeterScheduleType +PC_10: PackageChime +PC_11: PackageChime +PC_12: PackageChime +PC_13: PackageChime +PC_14: PackageChime +PC_15: PackageChime +PC_8: PackageChime +PC_9: PackageChime +PC_NONE: PackageChime +PERSON_DETER: DeterScheduleType +PIANO: VisitorChime +RECORDING: PackageChime +RECORD_FOR_EVERYWHERE: RecordForRegions +RECORD_FOR_PROPERTY: RecordForRegions +RECORD_FOR_REGIONS_NOTSET: RecordForRegions +RED: DeterLightColor +RIGHT_SIDE: DoorbellPosition +RIGHT_WALL: DoorbellPosition +SCALE: PackageChime +SCHEDULED: DeterScheduleType +SCHTYPENONE: DeterScheduleType +SEVEN: DeterAggressionLevel +SIX: DeterAggressionLevel +SNOOZE: DeterScheduleType +SOLID: DeterLightPattern +SPOTLIGHT_MODE_CALIBRATE: SpotlightMode +SPOTLIGHT_MODE_DETER: SpotlightMode +SPOTLIGHT_MODE_FLOOD: SpotlightMode +SPOTLIGHT_MODE_OFF: SpotlightMode +SPOTLIGHT_MODE_STARTUP: SpotlightMode +SPOTLIGHT_MODE_TRACK: SpotlightMode +SPOTLIGHT_STATUS_BAD_DEVICE: SpotlightStatus +SPOTLIGHT_STATUS_INVALID_COMMAND: SpotlightStatus +SPOTLIGHT_STATUS_NO_HARDWARE: SpotlightStatus +SPOTLIGHT_STATUS_NO_HW_VERSION: SpotlightStatus +SPOTLIGHT_STATUS_NO_LED_POWER: SpotlightStatus +SPOTLIGHT_STATUS_NO_TEMPERATURE: SpotlightStatus +SPOTLIGHT_STATUS_SUCCESS: SpotlightStatus +SPOTLIGHT_STATUS_UNKNOWN_ERROR: SpotlightStatus +SUCCESS: VisitorChime +THREE: DeterAggressionLevel +TRADITIONAL: DoorbellChime +TRADITIONAL2: DoorbellChime +TWO: DeterAggressionLevel +UNKNOWN_OBJECT_DETER: DeterScheduleType +UNSET: DoorbellPosition +USER_OVERRIDE: DeterScheduleType +VC_NONE: VisitorChime +VEHICLE_DETER: DeterScheduleType +VEHICLE_LEAVING_DETER: DeterScheduleType +VISITOR: ChimeType +VISITOR_DYNAMIC: VisitorChime +VQ_ZERO: VideoQuality +WAVE: VisitorChime +WHISTLE: PackageChime +YELLOW: DeterLightColor + +class AccessPointInfo(_message.Message): + __slots__ = ["channel", "encryption_types", "mac_addr", "signal_percent", "ssid", "unknown"] + CHANNEL_FIELD_NUMBER: _ClassVar[int] + ENCRYPTION_TYPES_FIELD_NUMBER: _ClassVar[int] + MAC_ADDR_FIELD_NUMBER: _ClassVar[int] + SIGNAL_PERCENT_FIELD_NUMBER: _ClassVar[int] + SSID_FIELD_NUMBER: _ClassVar[int] + UNKNOWN_FIELD_NUMBER: _ClassVar[int] + channel: int + encryption_types: str + mac_addr: str + signal_percent: int + ssid: str + unknown: int + def __init__(self, channel: _Optional[int] = ..., ssid: _Optional[str] = ..., mac_addr: _Optional[str] = ..., encryption_types: _Optional[str] = ..., signal_percent: _Optional[int] = ..., unknown: _Optional[int] = ...) -> None: ... + +class AddCameraToHubRequest(_message.Message): + __slots__ = ["camera_type", "ip_address", "panel_id", "urn", "uuid"] + CAMERA_TYPE_FIELD_NUMBER: _ClassVar[int] + IP_ADDRESS_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + URN_FIELD_NUMBER: _ClassVar[int] + UUID_FIELD_NUMBER: _ClassVar[int] + camera_type: str + ip_address: str + panel_id: int + urn: str + uuid: str + def __init__(self, panel_id: _Optional[int] = ..., camera_type: _Optional[str] = ..., uuid: _Optional[str] = ..., ip_address: _Optional[str] = ..., urn: _Optional[str] = ...) -> None: ... + +class AdjustCameraToXyzRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "stream_id", "x", "y", "z"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + STREAM_ID_FIELD_NUMBER: _ClassVar[int] + X_FIELD_NUMBER: _ClassVar[int] + Y_FIELD_NUMBER: _ClassVar[int] + Z_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + stream_id: str + x: int + y: int + z: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., stream_id: _Optional[str] = ..., x: _Optional[int] = ..., y: _Optional[int] = ..., z: _Optional[int] = ...) -> None: ... + +class AdjustCameraToXyzResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class AspectRatioTuple(_message.Message): + __slots__ = ["height", "width"] + HEIGHT_FIELD_NUMBER: _ClassVar[int] + WIDTH_FIELD_NUMBER: _ClassVar[int] + height: int + width: int + def __init__(self, width: _Optional[int] = ..., height: _Optional[int] = ...) -> None: ... + +class AssociateDvrRequest(_message.Message): + __slots__ = ["panel_id", "space_monkey_hardware_id"] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + SPACE_MONKEY_HARDWARE_ID_FIELD_NUMBER: _ClassVar[int] + panel_id: int + space_monkey_hardware_id: str + def __init__(self, panel_id: _Optional[int] = ..., space_monkey_hardware_id: _Optional[str] = ...) -> None: ... + +class AssociateDvrResponse(_message.Message): + __slots__ = ["dvr_service_id"] + DVR_SERVICE_ID_FIELD_NUMBER: _ClassVar[int] + dvr_service_id: str + def __init__(self, dvr_service_id: _Optional[str] = ...) -> None: ... + +class BeamPortalCommand(_message.Message): + __slots__ = ["setEnabledSpotlightZonesBitfield", "uuid"] + SETENABLEDSPOTLIGHTZONESBITFIELD_FIELD_NUMBER: _ClassVar[int] + UUID_FIELD_NUMBER: _ClassVar[int] + setEnabledSpotlightZonesBitfield: int + uuid: str + def __init__(self, uuid: _Optional[str] = ..., setEnabledSpotlightZonesBitfield: _Optional[int] = ...) -> None: ... + +class CameraThumbnailRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "partition_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + PARTITION_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + partition_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., partition_id: _Optional[int] = ...) -> None: ... + +class CameraThumbnailResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class Capabilities(_message.Message): + __slots__ = ["type_capability"] + TYPE_CAPABILITY_FIELD_NUMBER: _ClassVar[int] + type_capability: _containers.RepeatedCompositeFieldContainer[TypeCapabilities] + def __init__(self, type_capability: _Optional[_Iterable[_Union[TypeCapabilities, _Mapping]]] = ...) -> None: ... + +class Date(_message.Message): + __slots__ = ["day", "month", "year"] + DAY_FIELD_NUMBER: _ClassVar[int] + MONTH_FIELD_NUMBER: _ClassVar[int] + YEAR_FIELD_NUMBER: _ClassVar[int] + day: int + month: int + year: int + def __init__(self, year: _Optional[int] = ..., month: _Optional[int] = ..., day: _Optional[int] = ...) -> None: ... + +class DeleteAllEventsRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class DeleteAllEventsResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class DeleteCameraRequest(_message.Message): + __slots__ = ["device_id", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ...) -> None: ... + +class DeleteCameraResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class DetectionWindow(_message.Message): + __slots__ = ["height", "index", "object_size", "origin_x", "origin_y", "sensitivity", "width"] + HEIGHT_FIELD_NUMBER: _ClassVar[int] + INDEX_FIELD_NUMBER: _ClassVar[int] + OBJECT_SIZE_FIELD_NUMBER: _ClassVar[int] + ORIGIN_X_FIELD_NUMBER: _ClassVar[int] + ORIGIN_Y_FIELD_NUMBER: _ClassVar[int] + SENSITIVITY_FIELD_NUMBER: _ClassVar[int] + WIDTH_FIELD_NUMBER: _ClassVar[int] + height: float + index: int + object_size: float + origin_x: float + origin_y: float + sensitivity: float + width: float + def __init__(self, origin_x: _Optional[float] = ..., origin_y: _Optional[float] = ..., width: _Optional[float] = ..., height: _Optional[float] = ..., sensitivity: _Optional[float] = ..., object_size: _Optional[float] = ..., index: _Optional[int] = ...) -> None: ... + +class DeterSchedule(_message.Message): + __slots__ = ["fri", "local_end_minutes", "local_start_minutes", "mon", "sat", "sun", "thu", "tue", "wed"] + FRI_FIELD_NUMBER: _ClassVar[int] + LOCAL_END_MINUTES_FIELD_NUMBER: _ClassVar[int] + LOCAL_START_MINUTES_FIELD_NUMBER: _ClassVar[int] + MON_FIELD_NUMBER: _ClassVar[int] + SAT_FIELD_NUMBER: _ClassVar[int] + SUN_FIELD_NUMBER: _ClassVar[int] + THU_FIELD_NUMBER: _ClassVar[int] + TUE_FIELD_NUMBER: _ClassVar[int] + WED_FIELD_NUMBER: _ClassVar[int] + fri: bool + local_end_minutes: int + local_start_minutes: int + mon: bool + sat: bool + sun: bool + thu: bool + tue: bool + wed: bool + def __init__(self, sun: bool = ..., mon: bool = ..., tue: bool = ..., wed: bool = ..., thu: bool = ..., fri: bool = ..., sat: bool = ..., local_start_minutes: _Optional[int] = ..., local_end_minutes: _Optional[int] = ...) -> None: ... + +class DeterScheduleSettingsV2(_message.Message): + __slots__ = ["deter_schedule_types", "schedule"] + DETER_SCHEDULE_TYPES_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_FIELD_NUMBER: _ClassVar[int] + deter_schedule_types: _containers.RepeatedScalarFieldContainer[DeterScheduleType] + schedule: DeterSchedule + def __init__(self, deter_schedule_types: _Optional[_Iterable[_Union[DeterScheduleType, str]]] = ..., schedule: _Optional[_Union[DeterSchedule, _Mapping]] = ...) -> None: ... + +class DynamicChimeBannerInfo(_message.Message): + __slots__ = ["BackgroundAnimation", "MainAnimation", "headline", "subhead"] + BACKGROUNDANIMATION_FIELD_NUMBER: _ClassVar[int] + BackgroundAnimation: str + HEADLINE_FIELD_NUMBER: _ClassVar[int] + MAINANIMATION_FIELD_NUMBER: _ClassVar[int] + MainAnimation: str + SUBHEAD_FIELD_NUMBER: _ClassVar[int] + headline: str + subhead: str + def __init__(self, headline: _Optional[str] = ..., subhead: _Optional[str] = ..., MainAnimation: _Optional[str] = ..., BackgroundAnimation: _Optional[str] = ...) -> None: ... + +class DynamicChimeCategory(_message.Message): + __slots__ = ["availability_end", "availability_start", "dynamic_chime_banner_info", "dynamic_chime_info", "dynamic_chime_splash_page_info", "id", "name", "ui_availability_copy"] + AVAILABILITY_END_FIELD_NUMBER: _ClassVar[int] + AVAILABILITY_START_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_CHIME_BANNER_INFO_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_CHIME_INFO_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_CHIME_SPLASH_PAGE_INFO_FIELD_NUMBER: _ClassVar[int] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + UI_AVAILABILITY_COPY_FIELD_NUMBER: _ClassVar[int] + availability_end: _timestamp_pb2.Timestamp + availability_start: _timestamp_pb2.Timestamp + dynamic_chime_banner_info: DynamicChimeBannerInfo + dynamic_chime_info: _containers.RepeatedCompositeFieldContainer[DynamicChimeInfo] + dynamic_chime_splash_page_info: DynamicChimeSplashPageInfo + id: str + name: str + ui_availability_copy: str + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., availability_start: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., availability_end: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., ui_availability_copy: _Optional[str] = ..., dynamic_chime_info: _Optional[_Iterable[_Union[DynamicChimeInfo, _Mapping]]] = ..., dynamic_chime_banner_info: _Optional[_Union[DynamicChimeBannerInfo, _Mapping]] = ..., dynamic_chime_splash_page_info: _Optional[_Union[DynamicChimeSplashPageInfo, _Mapping]] = ...) -> None: ... + +class DynamicChimeInfo(_message.Message): + __slots__ = ["id", "name", "sha256hash", "url"] + ID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + SHA256HASH_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + id: str + name: str + sha256hash: str + url: str + def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., url: _Optional[str] = ..., sha256hash: _Optional[str] = ...) -> None: ... + +class DynamicChimeSplashPageBulletInfo(_message.Message): + __slots__ = ["body", "headline"] + BODY_FIELD_NUMBER: _ClassVar[int] + HEADLINE_FIELD_NUMBER: _ClassVar[int] + body: str + headline: str + def __init__(self, headline: _Optional[str] = ..., body: _Optional[str] = ...) -> None: ... + +class DynamicChimeSplashPageInfo(_message.Message): + __slots__ = ["Bullets", "Image_Android", "Image_iOS", "PrimaryButtonCopy", "headline"] + BULLETS_FIELD_NUMBER: _ClassVar[int] + Bullets: _containers.RepeatedCompositeFieldContainer[DynamicChimeSplashPageBulletInfo] + HEADLINE_FIELD_NUMBER: _ClassVar[int] + IMAGE_ANDROID_FIELD_NUMBER: _ClassVar[int] + IMAGE_IOS_FIELD_NUMBER: _ClassVar[int] + Image_Android: str + Image_iOS: str + PRIMARYBUTTONCOPY_FIELD_NUMBER: _ClassVar[int] + PrimaryButtonCopy: str + headline: str + def __init__(self, Image_iOS: _Optional[str] = ..., Image_Android: _Optional[str] = ..., headline: _Optional[str] = ..., Bullets: _Optional[_Iterable[_Union[DynamicChimeSplashPageBulletInfo, _Mapping]]] = ..., PrimaryButtonCopy: _Optional[str] = ...) -> None: ... + +class GetAnalyticsOptInRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class GetAnalyticsOptInResponse(_message.Message): + __slots__ = ["opt_in", "response"] + OPT_IN_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + opt_in: bool + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., opt_in: bool = ...) -> None: ... + +class GetCameraSettingsRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class GetCameraSettingsResponse(_message.Message): + __slots__ = ["DeterScheduleV2", "aggression_level", "analytics_opt_in", "analytics_sensitivity", "animal_boundary_points", "aspect_ratio_tuple", "camera_connection_type", "capabilities", "chime_volume", "command_control_availability_state", "connected_to", "detection_windows", "deter_boundary_points", "deter_light_color", "deter_light_pattern", "deter_on_duty", "deter_override", "deter_override_end_timestamp", "deter_reason", "deter_schedule", "deter_schedule_version", "deter_timestamp", "deter_type", "deter_user_info", "deter_valid_schedule_types", "doorbell_chime", "doorbell_position", "dynamic_doorbell_chime_category_id", "dynamic_doorbell_chime_id", "dynamic_doorbell_chime_sha256hash", "dynamic_doorbell_chime_url", "enabled_spotlight_zones_bitfield", "extend_chime", "extend_siren", "features", "flip", "info", "ir_led_on", "led_on", "linger_duration", "lurker_deter", "mute_chime", "name", "network_availability_state", "night_vision", "notification_availability_state", "notify_on_animal_seen", "notify_on_deter", "notify_on_doorbell_press", "notify_on_lurker_detected", "notify_on_package_moved", "notify_on_package_seen", "notify_on_person_detected", "notify_on_vehicle_leaving", "notify_on_vehicle_seen", "package_boundary_points", "package_chime", "package_delivery_locations", "package_watch", "package_watch_state", "playback_enabled", "privacy_mode", "property_boundary_points", "quiet_mode", "record_audio", "record_for_regions", "record_on_deter", "record_on_doorbell_press", "record_on_lurker_detected", "record_on_package_detected", "record_on_person_detected", "record_on_vehicle_seen", "response", "smart_sentry_snooze_until", "smart_sentry_snooze_user_info", "spotlight_brightness", "spotlight_calibration", "spotlight_deter_lighting_behavior", "spotlight_driver_version", "spotlight_flood_state", "spotlight_follow", "spotlight_hardware_version", "spotlight_installed", "spotlight_light_on_person_detected", "spotlight_mode", "spotlight_night_light", "spotlight_night_mode", "spotlight_num_zones", "spotlight_status", "spotlight_temperature", "stream_availability_state", "vehicle_boundary_points", "video_clip_analytics_allowed", "video_quality", "visitor_chime", "zoom_lock"] + AGGRESSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + ANALYTICS_OPT_IN_FIELD_NUMBER: _ClassVar[int] + ANALYTICS_SENSITIVITY_FIELD_NUMBER: _ClassVar[int] + ANIMAL_BOUNDARY_POINTS_FIELD_NUMBER: _ClassVar[int] + ASPECT_RATIO_TUPLE_FIELD_NUMBER: _ClassVar[int] + CAMERA_CONNECTION_TYPE_FIELD_NUMBER: _ClassVar[int] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + CHIME_VOLUME_FIELD_NUMBER: _ClassVar[int] + COMMAND_CONTROL_AVAILABILITY_STATE_FIELD_NUMBER: _ClassVar[int] + CONNECTED_TO_FIELD_NUMBER: _ClassVar[int] + DETECTION_WINDOWS_FIELD_NUMBER: _ClassVar[int] + DETERSCHEDULEV2_FIELD_NUMBER: _ClassVar[int] + DETER_BOUNDARY_POINTS_FIELD_NUMBER: _ClassVar[int] + DETER_LIGHT_COLOR_FIELD_NUMBER: _ClassVar[int] + DETER_LIGHT_PATTERN_FIELD_NUMBER: _ClassVar[int] + DETER_ON_DUTY_FIELD_NUMBER: _ClassVar[int] + DETER_OVERRIDE_END_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + DETER_OVERRIDE_FIELD_NUMBER: _ClassVar[int] + DETER_REASON_FIELD_NUMBER: _ClassVar[int] + DETER_SCHEDULE_FIELD_NUMBER: _ClassVar[int] + DETER_SCHEDULE_VERSION_FIELD_NUMBER: _ClassVar[int] + DETER_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + DETER_TYPE_FIELD_NUMBER: _ClassVar[int] + DETER_USER_INFO_FIELD_NUMBER: _ClassVar[int] + DETER_VALID_SCHEDULE_TYPES_FIELD_NUMBER: _ClassVar[int] + DOORBELL_CHIME_FIELD_NUMBER: _ClassVar[int] + DOORBELL_POSITION_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_DOORBELL_CHIME_CATEGORY_ID_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_DOORBELL_CHIME_ID_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_DOORBELL_CHIME_SHA256HASH_FIELD_NUMBER: _ClassVar[int] + DYNAMIC_DOORBELL_CHIME_URL_FIELD_NUMBER: _ClassVar[int] + DeterScheduleV2: DeterScheduleSettingsV2 + ENABLED_SPOTLIGHT_ZONES_BITFIELD_FIELD_NUMBER: _ClassVar[int] + EXTEND_CHIME_FIELD_NUMBER: _ClassVar[int] + EXTEND_SIREN_FIELD_NUMBER: _ClassVar[int] + FEATURES_FIELD_NUMBER: _ClassVar[int] + FLIP_FIELD_NUMBER: _ClassVar[int] + INFO_FIELD_NUMBER: _ClassVar[int] + IR_LED_ON_FIELD_NUMBER: _ClassVar[int] + LED_ON_FIELD_NUMBER: _ClassVar[int] + LINGER_DURATION_FIELD_NUMBER: _ClassVar[int] + LURKER_DETER_FIELD_NUMBER: _ClassVar[int] + MUTE_CHIME_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + NETWORK_AVAILABILITY_STATE_FIELD_NUMBER: _ClassVar[int] + NIGHT_VISION_FIELD_NUMBER: _ClassVar[int] + NOTIFICATION_AVAILABILITY_STATE_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_ANIMAL_SEEN_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_DETER_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_DOORBELL_PRESS_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_LURKER_DETECTED_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_PACKAGE_MOVED_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_PACKAGE_SEEN_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_PERSON_DETECTED_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_VEHICLE_LEAVING_FIELD_NUMBER: _ClassVar[int] + NOTIFY_ON_VEHICLE_SEEN_FIELD_NUMBER: _ClassVar[int] + PACKAGE_BOUNDARY_POINTS_FIELD_NUMBER: _ClassVar[int] + PACKAGE_CHIME_FIELD_NUMBER: _ClassVar[int] + PACKAGE_DELIVERY_LOCATIONS_FIELD_NUMBER: _ClassVar[int] + PACKAGE_WATCH_FIELD_NUMBER: _ClassVar[int] + PACKAGE_WATCH_STATE_FIELD_NUMBER: _ClassVar[int] + PLAYBACK_ENABLED_FIELD_NUMBER: _ClassVar[int] + PRIVACY_MODE_FIELD_NUMBER: _ClassVar[int] + PROPERTY_BOUNDARY_POINTS_FIELD_NUMBER: _ClassVar[int] + QUIET_MODE_FIELD_NUMBER: _ClassVar[int] + RECORD_AUDIO_FIELD_NUMBER: _ClassVar[int] + RECORD_FOR_REGIONS_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_DETER_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_DOORBELL_PRESS_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_LURKER_DETECTED_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_PACKAGE_DETECTED_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_PERSON_DETECTED_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_VEHICLE_SEEN_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + SMART_SENTRY_SNOOZE_UNTIL_FIELD_NUMBER: _ClassVar[int] + SMART_SENTRY_SNOOZE_USER_INFO_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_BRIGHTNESS_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_CALIBRATION_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DETER_LIGHTING_BEHAVIOR_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DRIVER_VERSION_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_FLOOD_STATE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_FOLLOW_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_HARDWARE_VERSION_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_INSTALLED_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_LIGHT_ON_PERSON_DETECTED_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_MODE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_NIGHT_LIGHT_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_NIGHT_MODE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_NUM_ZONES_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_STATUS_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_TEMPERATURE_FIELD_NUMBER: _ClassVar[int] + STREAM_AVAILABILITY_STATE_FIELD_NUMBER: _ClassVar[int] + VEHICLE_BOUNDARY_POINTS_FIELD_NUMBER: _ClassVar[int] + VIDEO_CLIP_ANALYTICS_ALLOWED_FIELD_NUMBER: _ClassVar[int] + VIDEO_QUALITY_FIELD_NUMBER: _ClassVar[int] + VISITOR_CHIME_FIELD_NUMBER: _ClassVar[int] + ZOOM_LOCK_FIELD_NUMBER: _ClassVar[int] + aggression_level: DeterAggressionLevel + analytics_opt_in: bool + analytics_sensitivity: int + animal_boundary_points: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + aspect_ratio_tuple: AspectRatioTuple + camera_connection_type: str + capabilities: Capabilities + chime_volume: int + command_control_availability_state: int + connected_to: str + detection_windows: _containers.RepeatedCompositeFieldContainer[DetectionWindow] + deter_boundary_points: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + deter_light_color: DeterLightColor + deter_light_pattern: DeterLightPattern + deter_on_duty: bool + deter_override: bool + deter_override_end_timestamp: int + deter_reason: DeterScheduleType + deter_schedule: DeterSchedule + deter_schedule_version: int + deter_timestamp: int + deter_type: DeterScheduleType + deter_user_info: str + deter_valid_schedule_types: _containers.RepeatedScalarFieldContainer[DeterScheduleType] + doorbell_chime: DoorbellChime + doorbell_position: DoorbellPosition + dynamic_doorbell_chime_category_id: str + dynamic_doorbell_chime_id: str + dynamic_doorbell_chime_sha256hash: str + dynamic_doorbell_chime_url: str + enabled_spotlight_zones_bitfield: int + extend_chime: bool + extend_siren: bool + features: _containers.RepeatedScalarFieldContainer[str] + flip: bool + info: TechnicalInfo + ir_led_on: bool + led_on: bool + linger_duration: int + lurker_deter: bool + mute_chime: bool + name: str + network_availability_state: int + night_vision: bool + notification_availability_state: int + notify_on_animal_seen: bool + notify_on_deter: bool + notify_on_doorbell_press: bool + notify_on_lurker_detected: bool + notify_on_package_moved: bool + notify_on_package_seen: bool + notify_on_person_detected: bool + notify_on_vehicle_leaving: bool + notify_on_vehicle_seen: bool + package_boundary_points: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + package_chime: PackageChime + package_delivery_locations: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPoint] + package_watch: bool + package_watch_state: bool + playback_enabled: bool + privacy_mode: bool + property_boundary_points: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + quiet_mode: bool + record_audio: bool + record_for_regions: RecordForRegions + record_on_deter: bool + record_on_doorbell_press: bool + record_on_lurker_detected: bool + record_on_package_detected: bool + record_on_person_detected: bool + record_on_vehicle_seen: bool + response: Response + smart_sentry_snooze_until: int + smart_sentry_snooze_user_info: str + spotlight_brightness: float + spotlight_calibration: SpotlightCalibrationData + spotlight_deter_lighting_behavior: LightingBehavior + spotlight_driver_version: str + spotlight_flood_state: bool + spotlight_follow: bool + spotlight_hardware_version: str + spotlight_installed: bool + spotlight_light_on_person_detected: bool + spotlight_mode: SpotlightMode + spotlight_night_light: bool + spotlight_night_mode: bool + spotlight_num_zones: int + spotlight_status: SpotlightStatus + spotlight_temperature: float + stream_availability_state: int + vehicle_boundary_points: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + video_clip_analytics_allowed: bool + video_quality: VideoQuality + visitor_chime: VisitorChime + zoom_lock: bool + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., privacy_mode: bool = ..., playback_enabled: bool = ..., detection_windows: _Optional[_Iterable[_Union[DetectionWindow, _Mapping]]] = ..., chime_volume: _Optional[int] = ..., mute_chime: bool = ..., video_quality: _Optional[_Union[VideoQuality, str]] = ..., night_vision: bool = ..., flip: bool = ..., zoom_lock: bool = ..., led_on: bool = ..., record_audio: bool = ..., doorbell_chime: _Optional[_Union[DoorbellChime, str]] = ..., visitor_chime: _Optional[_Union[VisitorChime, str]] = ..., extend_chime: bool = ..., quiet_mode: bool = ..., name: _Optional[str] = ..., info: _Optional[_Union[TechnicalInfo, _Mapping]] = ..., ir_led_on: bool = ..., capabilities: _Optional[_Union[Capabilities, _Mapping]] = ..., aggression_level: _Optional[_Union[DeterAggressionLevel, str]] = ..., deter_type: _Optional[_Union[DeterScheduleType, str]] = ..., deter_schedule: _Optional[_Union[DeterSchedule, _Mapping]] = ..., property_boundary_points: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., deter_boundary_points: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., deter_light_color: _Optional[_Union[DeterLightColor, str]] = ..., deter_light_pattern: _Optional[_Union[DeterLightPattern, str]] = ..., linger_duration: _Optional[int] = ..., extend_siren: bool = ..., lurker_deter: bool = ..., record_for_regions: _Optional[_Union[RecordForRegions, str]] = ..., record_on_lurker_detected: bool = ..., record_on_package_detected: bool = ..., record_on_person_detected: bool = ..., analytics_sensitivity: _Optional[int] = ..., package_chime: _Optional[_Union[PackageChime, str]] = ..., connected_to: _Optional[str] = ..., camera_connection_type: _Optional[str] = ..., video_clip_analytics_allowed: bool = ..., package_watch: bool = ..., notify_on_person_detected: bool = ..., notify_on_lurker_detected: bool = ..., doorbell_position: _Optional[_Union[DoorbellPosition, str]] = ..., notify_on_package_seen: bool = ..., notify_on_package_moved: bool = ..., notify_on_vehicle_seen: bool = ..., notify_on_animal_seen: bool = ..., package_delivery_locations: _Optional[_Iterable[_Union[PropertyBoundaryPoint, _Mapping]]] = ..., smart_sentry_snooze_until: _Optional[int] = ..., package_watch_state: bool = ..., deter_schedule_version: _Optional[int] = ..., deter_on_duty: bool = ..., deter_reason: _Optional[_Union[DeterScheduleType, str]] = ..., deter_timestamp: _Optional[int] = ..., deter_user_info: _Optional[str] = ..., deter_override: bool = ..., deter_override_end_timestamp: _Optional[int] = ..., deter_valid_schedule_types: _Optional[_Iterable[_Union[DeterScheduleType, str]]] = ..., smart_sentry_snooze_user_info: _Optional[str] = ..., record_on_deter: bool = ..., notify_on_deter: bool = ..., features: _Optional[_Iterable[str]] = ..., DeterScheduleV2: _Optional[_Union[DeterScheduleSettingsV2, _Mapping]] = ..., analytics_opt_in: bool = ..., dynamic_doorbell_chime_category_id: _Optional[str] = ..., dynamic_doorbell_chime_id: _Optional[str] = ..., dynamic_doorbell_chime_url: _Optional[str] = ..., dynamic_doorbell_chime_sha256hash: _Optional[str] = ..., record_on_vehicle_seen: bool = ..., notify_on_doorbell_press: bool = ..., record_on_doorbell_press: bool = ..., aspect_ratio_tuple: _Optional[_Union[AspectRatioTuple, _Mapping]] = ..., animal_boundary_points: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., vehicle_boundary_points: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., package_boundary_points: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., command_control_availability_state: _Optional[int] = ..., notification_availability_state: _Optional[int] = ..., network_availability_state: _Optional[int] = ..., stream_availability_state: _Optional[int] = ..., notify_on_vehicle_leaving: bool = ..., spotlight_installed: bool = ..., spotlight_mode: _Optional[_Union[SpotlightMode, str]] = ..., spotlight_brightness: _Optional[float] = ..., spotlight_num_zones: _Optional[int] = ..., enabled_spotlight_zones_bitfield: _Optional[int] = ..., spotlight_follow: bool = ..., spotlight_deter_lighting_behavior: _Optional[_Union[LightingBehavior, _Mapping]] = ..., spotlight_status: _Optional[_Union[SpotlightStatus, str]] = ..., spotlight_temperature: _Optional[float] = ..., spotlight_driver_version: _Optional[str] = ..., spotlight_hardware_version: _Optional[str] = ..., spotlight_light_on_person_detected: bool = ..., spotlight_calibration: _Optional[_Union[SpotlightCalibrationData, _Mapping]] = ..., spotlight_night_mode: bool = ..., spotlight_night_light: bool = ..., spotlight_flood_state: bool = ...) -> None: ... + +class GetCameraTechnicalInfoRequest(_message.Message): + __slots__ = ["device_id", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ...) -> None: ... + +class GetCameraTechnicalInfoResponse(_message.Message): + __slots__ = ["info", "response"] + INFO_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + info: TechnicalInfo + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., info: _Optional[_Union[TechnicalInfo, _Mapping]] = ...) -> None: ... + +class GetClipSharingLinkRequest(_message.Message): + __slots__ = ["header", "history_date", "history_record_id"] + HEADER_FIELD_NUMBER: _ClassVar[int] + HISTORY_DATE_FIELD_NUMBER: _ClassVar[int] + HISTORY_RECORD_ID_FIELD_NUMBER: _ClassVar[int] + header: SettingsRequestHeader + history_date: Date + history_record_id: str + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., history_date: _Optional[_Union[Date, _Mapping]] = ..., history_record_id: _Optional[str] = ...) -> None: ... + +class GetClipSharingLinkResponse(_message.Message): + __slots__ = ["clip_sharing_link", "response"] + CLIP_SHARING_LINK_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + clip_sharing_link: str + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., clip_sharing_link: _Optional[str] = ...) -> None: ... + +class GetDeviceOnboardingRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class GetDeviceOnboardingResponse(_message.Message): + __slots__ = ["analytics_opt_in", "camera_name", "camera_rotate", "deter_aggression_level", "deter_intro", "deter_schedule", "doorbell_position", "notifications", "package_delivery_locations", "package_watch", "property_boundary", "property_boundary_v2", "response", "spotlight_analytics_opt_in", "spotlight_camera_name", "spotlight_default_settings", "spotlight_deter_intro", "spotlight_deter_schedule", "spotlight_onboarding_done", "spotlight_splash"] + ANALYTICS_OPT_IN_FIELD_NUMBER: _ClassVar[int] + CAMERA_NAME_FIELD_NUMBER: _ClassVar[int] + CAMERA_ROTATE_FIELD_NUMBER: _ClassVar[int] + DETER_AGGRESSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + DETER_INTRO_FIELD_NUMBER: _ClassVar[int] + DETER_SCHEDULE_FIELD_NUMBER: _ClassVar[int] + DOORBELL_POSITION_FIELD_NUMBER: _ClassVar[int] + NOTIFICATIONS_FIELD_NUMBER: _ClassVar[int] + PACKAGE_DELIVERY_LOCATIONS_FIELD_NUMBER: _ClassVar[int] + PACKAGE_WATCH_FIELD_NUMBER: _ClassVar[int] + PROPERTY_BOUNDARY_FIELD_NUMBER: _ClassVar[int] + PROPERTY_BOUNDARY_V2_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_ANALYTICS_OPT_IN_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_CAMERA_NAME_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DEFAULT_SETTINGS_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DETER_INTRO_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DETER_SCHEDULE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_ONBOARDING_DONE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_SPLASH_FIELD_NUMBER: _ClassVar[int] + analytics_opt_in: bool + camera_name: bool + camera_rotate: bool + deter_aggression_level: bool + deter_intro: bool + deter_schedule: bool + doorbell_position: bool + notifications: bool + package_delivery_locations: bool + package_watch: bool + property_boundary: bool + property_boundary_v2: bool + response: Response + spotlight_analytics_opt_in: bool + spotlight_camera_name: bool + spotlight_default_settings: bool + spotlight_deter_intro: bool + spotlight_deter_schedule: bool + spotlight_onboarding_done: bool + spotlight_splash: bool + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., property_boundary: bool = ..., notifications: bool = ..., deter_intro: bool = ..., deter_schedule: bool = ..., deter_aggression_level: bool = ..., camera_name: bool = ..., camera_rotate: bool = ..., analytics_opt_in: bool = ..., doorbell_position: bool = ..., package_delivery_locations: bool = ..., package_watch: bool = ..., property_boundary_v2: bool = ..., spotlight_splash: bool = ..., spotlight_deter_intro: bool = ..., spotlight_default_settings: bool = ..., spotlight_deter_schedule: bool = ..., spotlight_camera_name: bool = ..., spotlight_analytics_opt_in: bool = ..., spotlight_onboarding_done: bool = ...) -> None: ... + +class GetDynamicChimesRequest(_message.Message): + __slots__ = ["chime_category_id", "chime_id", "ignore_active_check", "panel_id"] + CHIME_CATEGORY_ID_FIELD_NUMBER: _ClassVar[int] + CHIME_ID_FIELD_NUMBER: _ClassVar[int] + IGNORE_ACTIVE_CHECK_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + chime_category_id: str + chime_id: str + ignore_active_check: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., chime_id: _Optional[str] = ..., chime_category_id: _Optional[str] = ..., ignore_active_check: bool = ...) -> None: ... + +class GetDynamicChimesResponse(_message.Message): + __slots__ = ["dynamic_chimes", "response"] + DYNAMIC_CHIMES_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + dynamic_chimes: _containers.RepeatedCompositeFieldContainer[DynamicChimeCategory] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., dynamic_chimes: _Optional[_Iterable[_Union[DynamicChimeCategory, _Mapping]]] = ...) -> None: ... + +class GetHistoryClipURLRequest(_message.Message): + __slots__ = ["download", "header", "history_date", "history_record_id"] + DOWNLOAD_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + HISTORY_DATE_FIELD_NUMBER: _ClassVar[int] + HISTORY_RECORD_ID_FIELD_NUMBER: _ClassVar[int] + download: bool + header: SystemRequestHeader + history_date: Date + history_record_id: str + def __init__(self, header: _Optional[_Union[SystemRequestHeader, _Mapping]] = ..., history_record_id: _Optional[str] = ..., history_date: _Optional[_Union[Date, _Mapping]] = ..., download: bool = ...) -> None: ... + +class GetHistoryClipURLResponse(_message.Message): + __slots__ = ["clip_url", "response"] + CLIP_URL_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + clip_url: str + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., clip_url: _Optional[str] = ...) -> None: ... + +class GetLegacyHistoryClipURLRequest(_message.Message): + __slots__ = ["history_record_id"] + HISTORY_RECORD_ID_FIELD_NUMBER: _ClassVar[int] + history_record_id: str + def __init__(self, history_record_id: _Optional[str] = ...) -> None: ... + +class GetPanelLoginRequest(_message.Message): + __slots__ = ["panel_id"] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + panel_id: int + def __init__(self, panel_id: _Optional[int] = ...) -> None: ... + +class GetPanelLoginResponse(_message.Message): + __slots__ = ["password", "response", "user"] + PASSWORD_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + USER_FIELD_NUMBER: _ClassVar[int] + password: str + response: Response + user: str + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., user: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ... + +class GetPanelSettingsRequest(_message.Message): + __slots__ = ["device_id", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ...) -> None: ... + +class GetPanelSettingsResponse(_message.Message): + __slots__ = ["doorbell_muted", "response"] + DOORBELL_MUTED_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + doorbell_muted: bool + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., doorbell_muted: bool = ...) -> None: ... + +class LightingBehavior(_message.Message): + __slots__ = ["behavior"] + class Behavior(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + BEHAVIOR_FIELD_NUMBER: _ClassVar[int] + CIRCLE: LightingBehavior.Behavior + FLOOD: LightingBehavior.Behavior + OFF: LightingBehavior.Behavior + STROBE: LightingBehavior.Behavior + TRACK: LightingBehavior.Behavior + WAVE: LightingBehavior.Behavior + behavior: LightingBehavior.Behavior + def __init__(self, behavior: _Optional[_Union[LightingBehavior.Behavior, str]] = ...) -> None: ... + +class PanelDeviceIds(_message.Message): + __slots__ = ["device_id", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ...) -> None: ... + +class PanelKillWiFiNetworkRequest(_message.Message): + __slots__ = ["panel_id"] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + panel_id: int + def __init__(self, panel_id: _Optional[int] = ...) -> None: ... + +class PanelRefreshSSIDListRequest(_message.Message): + __slots__ = ["forWiFiConnect", "panel_id"] + FORWIFICONNECT_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + forWiFiConnect: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., forWiFiConnect: bool = ...) -> None: ... + +class PreviewChimeRequest(_message.Message): + __slots__ = ["chime_type", "device_id", "panel_id"] + CHIME_TYPE_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + chime_type: ChimeType + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., chime_type: _Optional[_Union[ChimeType, str]] = ...) -> None: ... + +class PreviewChimeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class PropertyBoundaryPoint(_message.Message): + __slots__ = ["x", "y"] + X_FIELD_NUMBER: _ClassVar[int] + Y_FIELD_NUMBER: _ClassVar[int] + x: float + y: float + def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ...) -> None: ... + +class PropertyBoundaryPointList(_message.Message): + __slots__ = ["points"] + POINTS_FIELD_NUMBER: _ClassVar[int] + points: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPoint] + def __init__(self, points: _Optional[_Iterable[_Union[PropertyBoundaryPoint, _Mapping]]] = ...) -> None: ... + +class RebootCameraRequest(_message.Message): + __slots__ = ["device_id", "device_type", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DEVICE_TYPE_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + device_type: str + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., device_type: _Optional[str] = ...) -> None: ... + +class RebootCameraResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class ReportVideoFailedRequest(_message.Message): + __slots__ = ["app", "app_version", "camera_name", "count", "date", "device_id", "device_type", "interface", "mobile_device_id", "panel_id", "previous_stream_array", "reason", "session", "stream_name", "url"] + APP_FIELD_NUMBER: _ClassVar[int] + APP_VERSION_FIELD_NUMBER: _ClassVar[int] + CAMERA_NAME_FIELD_NUMBER: _ClassVar[int] + COUNT_FIELD_NUMBER: _ClassVar[int] + DATE_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DEVICE_TYPE_FIELD_NUMBER: _ClassVar[int] + INTERFACE_FIELD_NUMBER: _ClassVar[int] + MOBILE_DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + PREVIOUS_STREAM_ARRAY_FIELD_NUMBER: _ClassVar[int] + REASON_FIELD_NUMBER: _ClassVar[int] + SESSION_FIELD_NUMBER: _ClassVar[int] + STREAM_NAME_FIELD_NUMBER: _ClassVar[int] + URL_FIELD_NUMBER: _ClassVar[int] + app: str + app_version: str + camera_name: str + count: int + date: str + device_id: int + device_type: str + interface: str + mobile_device_id: str + panel_id: int + previous_stream_array: str + reason: str + session: str + stream_name: str + url: str + def __init__(self, camera_name: _Optional[str] = ..., count: _Optional[int] = ..., date: _Optional[str] = ..., device_id: _Optional[int] = ..., device_type: _Optional[str] = ..., interface: _Optional[str] = ..., mobile_device_id: _Optional[str] = ..., panel_id: _Optional[int] = ..., previous_stream_array: _Optional[str] = ..., reason: _Optional[str] = ..., session: _Optional[str] = ..., url: _Optional[str] = ..., app: _Optional[str] = ..., stream_name: _Optional[str] = ..., app_version: _Optional[str] = ...) -> None: ... + +class ReportVideoFailedResponse(_message.Message): + __slots__ = ["request_id", "response"] + REQUEST_ID_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + request_id: str + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ..., request_id: _Optional[str] = ...) -> None: ... + +class Response(_message.Message): + __slots__ = ["timestamp"] + TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + timestamp: _timestamp_pb2.Timestamp + def __init__(self, timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class RestoreDefaultsRequest(_message.Message): + __slots__ = ["device_id", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ...) -> None: ... + +class RestoreDefaultsResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetAnalyticsOptInRequest(_message.Message): + __slots__ = ["device_id", "header", "opt_in", "panel_id", "version"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + OPT_IN_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + VERSION_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + opt_in: bool + panel_id: int + version: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., opt_in: bool = ..., version: _Optional[int] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetAnalyticsOptInResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetAnalyticsSensitivityRequest(_message.Message): + __slots__ = ["analytics_sensitivity", "device_id", "panel_id"] + ANALYTICS_SENSITIVITY_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + analytics_sensitivity: int + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., analytics_sensitivity: _Optional[int] = ...) -> None: ... + +class SetAnalyticsSensitivityResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetAnimalBoundaryRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id", "point_list"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + POINT_LIST_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + point_list: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., point_list: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetAnimalBoundaryResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetAudioRecordingRequest(_message.Message): + __slots__ = ["audio_recording", "device_id", "header", "panel_id"] + AUDIO_RECORDING_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + audio_recording: bool + device_id: int + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., audio_recording: bool = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetAudioRecordingResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetCameraListOrderRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "user_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + USER_ID_FIELD_NUMBER: _ClassVar[int] + device_id: _containers.RepeatedScalarFieldContainer[int] + panel_id: int + user_id: str + def __init__(self, panel_id: _Optional[int] = ..., user_id: _Optional[str] = ..., device_id: _Optional[_Iterable[int]] = ...) -> None: ... + +class SetCameraListOrderResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetCameraPlaybackEnabledRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "playback_enabled"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + PLAYBACK_ENABLED_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + playback_enabled: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., playback_enabled: bool = ...) -> None: ... + +class SetCameraPlaybackEnabledResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetCameraPrivacyModeRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "privacy_mode"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + PRIVACY_MODE_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + privacy_mode: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., privacy_mode: bool = ...) -> None: ... + +class SetCameraPrivacyModeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetCaptureClipOnRequest(_message.Message): + __slots__ = ["enabled", "header"] + ENABLED_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + enabled: bool + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., enabled: bool = ...) -> None: ... + +class SetCaptureClipOnResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetChimeMuteRequest(_message.Message): + __slots__ = ["device_id", "mute", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + MUTE_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + mute: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., mute: bool = ...) -> None: ... + +class SetChimeMuteResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetChimeVolumeRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "volume"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + VOLUME_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + volume: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., volume: _Optional[int] = ...) -> None: ... + +class SetChimeVolumeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDetectionWindowsRequest(_message.Message): + __slots__ = ["detection_windows", "device_id", "panel_id"] + DETECTION_WINDOWS_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + detection_windows: _containers.RepeatedCompositeFieldContainer[DetectionWindow] + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., detection_windows: _Optional[_Iterable[_Union[DetectionWindow, _Mapping]]] = ...) -> None: ... + +class SetDetectionWindowsResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterAggressionLevelRequest(_message.Message): + __slots__ = ["device_id", "level", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + LEVEL_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + level: DeterAggressionLevel + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., level: _Optional[_Union[DeterAggressionLevel, str]] = ...) -> None: ... + +class SetDeterAggressionLevelResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterBoundaryRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id", "point_list"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + POINT_LIST_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + point_list: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., point_list: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetDeterBoundaryResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterLightColorRequest(_message.Message): + __slots__ = ["color", "device_id", "panel_id"] + COLOR_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + color: DeterLightColor + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., color: _Optional[_Union[DeterLightColor, str]] = ...) -> None: ... + +class SetDeterLightColorResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterLightPatternRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "pattern"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + PATTERN_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + pattern: DeterLightPattern + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., pattern: _Optional[_Union[DeterLightPattern, str]] = ...) -> None: ... + +class SetDeterLightPatternResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterLightingBehaviorRequest(_message.Message): + __slots__ = ["header", "lightingBehavior"] + HEADER_FIELD_NUMBER: _ClassVar[int] + LIGHTINGBEHAVIOR_FIELD_NUMBER: _ClassVar[int] + header: SettingsRequestHeader + lightingBehavior: LightingBehavior + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., lightingBehavior: _Optional[_Union[LightingBehavior, _Mapping]] = ...) -> None: ... + +class SetDeterLightingBehaviorResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterOverrideRequest(_message.Message): + __slots__ = ["device_id", "enabled", "end_timestamp", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + END_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + enabled: bool + end_timestamp: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., enabled: bool = ..., end_timestamp: _Optional[int] = ...) -> None: ... + +class SetDeterOverrideResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterScheduleRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "schedule", "type"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + schedule: DeterSchedule + type: DeterScheduleType + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., type: _Optional[_Union[DeterScheduleType, str]] = ..., schedule: _Optional[_Union[DeterSchedule, _Mapping]] = ...) -> None: ... + +class SetDeterScheduleResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeterScheduleV2Request(_message.Message): + __slots__ = ["device_id", "panel_id", "schedule_settings"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + SCHEDULE_SETTINGS_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + schedule_settings: DeterScheduleSettingsV2 + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., schedule_settings: _Optional[_Union[DeterScheduleSettingsV2, _Mapping]] = ...) -> None: ... + +class SetDeterScheduleV2Response(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeviceNameRequest(_message.Message): + __slots__ = ["device_id", "header", "name", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + name: str + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., name: _Optional[str] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetDeviceNameResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDeviceOnboardingRequest(_message.Message): + __slots__ = ["analytics_opt_in", "camera_name", "camera_rotate", "deter_aggression_level", "deter_intro", "deter_schedule", "device_id", "doorbell_position", "header", "notifications", "package_delivery_locations", "package_watch", "panel_id", "property_boundary", "property_boundary_v2", "spotlight_analytics_opt_in", "spotlight_camera_name", "spotlight_default_settings", "spotlight_deter_intro", "spotlight_deter_schedule", "spotlight_onboarding_done", "spotlight_splash"] + ANALYTICS_OPT_IN_FIELD_NUMBER: _ClassVar[int] + CAMERA_NAME_FIELD_NUMBER: _ClassVar[int] + CAMERA_ROTATE_FIELD_NUMBER: _ClassVar[int] + DETER_AGGRESSION_LEVEL_FIELD_NUMBER: _ClassVar[int] + DETER_INTRO_FIELD_NUMBER: _ClassVar[int] + DETER_SCHEDULE_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DOORBELL_POSITION_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + NOTIFICATIONS_FIELD_NUMBER: _ClassVar[int] + PACKAGE_DELIVERY_LOCATIONS_FIELD_NUMBER: _ClassVar[int] + PACKAGE_WATCH_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + PROPERTY_BOUNDARY_FIELD_NUMBER: _ClassVar[int] + PROPERTY_BOUNDARY_V2_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_ANALYTICS_OPT_IN_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_CAMERA_NAME_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DEFAULT_SETTINGS_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DETER_INTRO_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_DETER_SCHEDULE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_ONBOARDING_DONE_FIELD_NUMBER: _ClassVar[int] + SPOTLIGHT_SPLASH_FIELD_NUMBER: _ClassVar[int] + analytics_opt_in: bool + camera_name: bool + camera_rotate: bool + deter_aggression_level: bool + deter_intro: bool + deter_schedule: bool + device_id: int + doorbell_position: bool + header: SettingsRequestHeader + notifications: bool + package_delivery_locations: bool + package_watch: bool + panel_id: int + property_boundary: bool + property_boundary_v2: bool + spotlight_analytics_opt_in: bool + spotlight_camera_name: bool + spotlight_default_settings: bool + spotlight_deter_intro: bool + spotlight_deter_schedule: bool + spotlight_onboarding_done: bool + spotlight_splash: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., property_boundary: bool = ..., notifications: bool = ..., deter_intro: bool = ..., deter_schedule: bool = ..., deter_aggression_level: bool = ..., camera_name: bool = ..., camera_rotate: bool = ..., analytics_opt_in: bool = ..., doorbell_position: bool = ..., package_delivery_locations: bool = ..., package_watch: bool = ..., property_boundary_v2: bool = ..., spotlight_splash: bool = ..., spotlight_deter_intro: bool = ..., spotlight_default_settings: bool = ..., spotlight_deter_schedule: bool = ..., spotlight_camera_name: bool = ..., spotlight_analytics_opt_in: bool = ..., spotlight_onboarding_done: bool = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetDeviceOnboardingResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDoorbellChimeRequest(_message.Message): + __slots__ = ["chime", "device_id", "device_uuid", "header", "panel_id", "standalone_enabled"] + CHIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DEVICE_UUID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + STANDALONE_ENABLED_FIELD_NUMBER: _ClassVar[int] + chime: DoorbellChime + device_id: int + device_uuid: str + header: SettingsRequestHeader + panel_id: int + standalone_enabled: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., chime: _Optional[_Union[DoorbellChime, str]] = ..., standalone_enabled: bool = ..., device_uuid: _Optional[str] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetDoorbellChimeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDoorbellMutedRequest(_message.Message): + __slots__ = ["device_id", "muted", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + MUTED_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + muted: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., muted: bool = ...) -> None: ... + +class SetDoorbellMutedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDoorbellPositionRequest(_message.Message): + __slots__ = ["device_id", "doorbell_position", "header", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DOORBELL_POSITION_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + doorbell_position: DoorbellPosition + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., doorbell_position: _Optional[_Union[DoorbellPosition, str]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetDoorbellPositionResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetDynamicChimeRequest(_message.Message): + __slots__ = ["chime_category_id", "chime_id", "chime_type", "device_id", "panel_id"] + CHIME_CATEGORY_ID_FIELD_NUMBER: _ClassVar[int] + CHIME_ID_FIELD_NUMBER: _ClassVar[int] + CHIME_TYPE_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + chime_category_id: str + chime_id: str + chime_type: ChimeType + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., chime_category_id: _Optional[str] = ..., chime_id: _Optional[str] = ..., chime_type: _Optional[_Union[ChimeType, str]] = ...) -> None: ... + +class SetDynamicChimeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetExtendSirenRequest(_message.Message): + __slots__ = ["device_id", "extend_siren", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + EXTEND_SIREN_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + extend_siren: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., extend_siren: bool = ...) -> None: ... + +class SetExtendSirenResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetIRLEDRequest(_message.Message): + __slots__ = ["device_id", "ir_led_on", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + IR_LED_ON_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + ir_led_on: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., ir_led_on: bool = ...) -> None: ... + +class SetIRLEDResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetLingerDurationRequest(_message.Message): + __slots__ = ["device_id", "duration", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DURATION_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + duration: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., duration: _Optional[int] = ...) -> None: ... + +class SetLingerDurationResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetLurkerDeterRequest(_message.Message): + __slots__ = ["device_id", "lurker_deter", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + LURKER_DETER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + lurker_deter: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., lurker_deter: bool = ...) -> None: ... + +class SetLurkerDeterResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetMaintainZoomRequest(_message.Message): + __slots__ = ["device_id", "maintain_zoom", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + MAINTAIN_ZOOM_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + maintain_zoom: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., maintain_zoom: bool = ...) -> None: ... + +class SetMaintainZoomResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetNightVisionRequest(_message.Message): + __slots__ = ["device_id", "night_vision", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + NIGHT_VISION_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + night_vision: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., night_vision: bool = ...) -> None: ... + +class SetNightVisionResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetNotifyOnRequest(_message.Message): + __slots__ = ["device_id", "enabled", "header", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + ENABLED_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + enabled: bool + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., enabled: bool = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetNotifyOnResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetPackageBoundaryRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id", "point_list"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + POINT_LIST_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + point_list: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., point_list: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetPackageBoundaryResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetPackageChimeRequest(_message.Message): + __slots__ = ["chime", "device_id", "header", "panel_id"] + CHIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + chime: PackageChime + device_id: int + header: SettingsRequestHeader + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., chime: _Optional[_Union[PackageChime, str]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetPackageChimeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetPackageDeliveryLocationsRequest(_message.Message): + __slots__ = ["device_id", "header", "package_delivery_locations", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PACKAGE_DELIVERY_LOCATIONS_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + package_delivery_locations: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPoint] + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., package_delivery_locations: _Optional[_Iterable[_Union[PropertyBoundaryPoint, _Mapping]]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetPackageDeliveryLocationsResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetPackageWatchRequest(_message.Message): + __slots__ = ["device_id", "package_watch", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PACKAGE_WATCH_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + package_watch: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., package_watch: bool = ...) -> None: ... + +class SetPackageWatchResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetPackageWatchStateRequest(_message.Message): + __slots__ = ["device_id", "end_timestamp", "on_duty", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + END_TIMESTAMP_FIELD_NUMBER: _ClassVar[int] + ON_DUTY_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + end_timestamp: int + on_duty: bool + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., on_duty: bool = ..., end_timestamp: _Optional[int] = ...) -> None: ... + +class SetPackageWatchStateResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetPropertyBoundaryRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id", "point_list"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + POINT_LIST_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + point_list: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., point_list: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetPropertyBoundaryResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetQuietModeRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "quiet_mode"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + QUIET_MODE_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + quiet_mode: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., quiet_mode: bool = ...) -> None: ... + +class SetQuietModeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordForRegionsRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_for_region"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_FOR_REGION_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_for_region: RecordForRegions + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_for_region: _Optional[_Union[RecordForRegions, str]] = ...) -> None: ... + +class SetRecordForRegionsResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordOnAnimalDetectedRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_on_animal"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_ANIMAL_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_on_animal: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_on_animal: bool = ...) -> None: ... + +class SetRecordOnAnimalDetectedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordOnDeterRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_on_deter"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_DETER_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_on_deter: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_on_deter: bool = ...) -> None: ... + +class SetRecordOnDeterResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordOnLurkerDetectedRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_on_lurker"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_LURKER_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_on_lurker: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_on_lurker: bool = ...) -> None: ... + +class SetRecordOnLurkerDetectedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordOnPackageDetectedRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_on_package"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_PACKAGE_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_on_package: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_on_package: bool = ...) -> None: ... + +class SetRecordOnPackageDetectedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordOnPersonDetectedRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_on_person"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_PERSON_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_on_person: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_on_person: bool = ...) -> None: ... + +class SetRecordOnPersonDetectedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRecordOnVehicleDetectedRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "record_on_vehicle"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + RECORD_ON_VEHICLE_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + record_on_vehicle: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., record_on_vehicle: bool = ...) -> None: ... + +class SetRecordOnVehicleDetectedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetRotateImageRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "rotate_image"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + ROTATE_IMAGE_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + rotate_image: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., rotate_image: bool = ...) -> None: ... + +class SetRotateImageResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSmartSentrySnoozeRequest(_message.Message): + __slots__ = ["device_id", "duration", "panel_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DURATION_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + device_id: int + duration: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., duration: _Optional[int] = ...) -> None: ... + +class SetSmartSentrySnoozeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightBrightnessRequest(_message.Message): + __slots__ = ["brightness_percent", "header"] + BRIGHTNESS_PERCENT_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + brightness_percent: float + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., brightness_percent: _Optional[float] = ...) -> None: ... + +class SetSpotlightBrightnessResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightCalibrationRequest(_message.Message): + __slots__ = ["calibration_data", "header"] + CALIBRATION_DATA_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + calibration_data: SpotlightCalibrationData + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., calibration_data: _Optional[_Union[SpotlightCalibrationData, _Mapping]] = ...) -> None: ... + +class SetSpotlightCalibrationResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightFollowRequest(_message.Message): + __slots__ = ["follow", "header"] + FOLLOW_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + follow: bool + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., follow: bool = ...) -> None: ... + +class SetSpotlightFollowResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightLightOnPersonDetectedRequest(_message.Message): + __slots__ = ["LightOnPersonDetected", "header"] + HEADER_FIELD_NUMBER: _ClassVar[int] + LIGHTONPERSONDETECTED_FIELD_NUMBER: _ClassVar[int] + LightOnPersonDetected: bool + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., LightOnPersonDetected: bool = ...) -> None: ... + +class SetSpotlightLightOnPersonDetectedResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightNightLightRequest(_message.Message): + __slots__ = ["enabled", "header"] + ENABLED_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + enabled: bool + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., enabled: bool = ...) -> None: ... + +class SetSpotlightNightLightResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightOnSunsetToSunriseRequest(_message.Message): + __slots__ = ["enabled", "header"] + ENABLED_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + enabled: bool + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., enabled: bool = ...) -> None: ... + +class SetSpotlightOnSunsetToSunriseResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetSpotlightZonesRequest(_message.Message): + __slots__ = ["enabled_zones_bitfield", "header"] + ENABLED_ZONES_BITFIELD_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + enabled_zones_bitfield: int + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., enabled_zones_bitfield: _Optional[int] = ...) -> None: ... + +class SetSpotlightZonesResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetStatusLightRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "status_light"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + STATUS_LIGHT_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + status_light: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., status_light: bool = ...) -> None: ... + +class SetStatusLightResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetUseAsDoorbellChimeExtenderRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "use_as_doorbell_chime_extender"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + USE_AS_DOORBELL_CHIME_EXTENDER_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + use_as_doorbell_chime_extender: bool + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., use_as_doorbell_chime_extender: bool = ...) -> None: ... + +class SetUseAsDoorbellChimeExtenderResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetUserRoleRequest(_message.Message): + __slots__ = ["header", "newRole", "targetUserId"] + class UserRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + ADMIN: SetUserRoleRequest.UserRole + HEADER_FIELD_NUMBER: _ClassVar[int] + NEWROLE_FIELD_NUMBER: _ClassVar[int] + NON_ADMIN: SetUserRoleRequest.UserRole + NO_ROLE: SetUserRoleRequest.UserRole + OWNER: SetUserRoleRequest.UserRole + TARGETUSERID_FIELD_NUMBER: _ClassVar[int] + header: SettingsRequestHeader + newRole: SetUserRoleRequest.UserRole + targetUserId: str + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., targetUserId: _Optional[str] = ..., newRole: _Optional[_Union[SetUserRoleRequest.UserRole, str]] = ...) -> None: ... + +class SetUserRoleResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetVehicleBoundaryRequest(_message.Message): + __slots__ = ["device_id", "header", "panel_id", "point_list"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + POINT_LIST_FIELD_NUMBER: _ClassVar[int] + device_id: int + header: SettingsRequestHeader + panel_id: int + point_list: _containers.RepeatedCompositeFieldContainer[PropertyBoundaryPointList] + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., point_list: _Optional[_Iterable[_Union[PropertyBoundaryPointList, _Mapping]]] = ..., header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ...) -> None: ... + +class SetVehicleBoundaryResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetVideoQualityRequest(_message.Message): + __slots__ = ["device_id", "panel_id", "quality"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + QUALITY_FIELD_NUMBER: _ClassVar[int] + device_id: int + panel_id: int + quality: VideoQuality + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., quality: _Optional[_Union[VideoQuality, str]] = ...) -> None: ... + +class SetVideoQualityResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SetVisitorChimeRequest(_message.Message): + __slots__ = ["chime", "device_id", "panel_id"] + CHIME_FIELD_NUMBER: _ClassVar[int] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + chime: VisitorChime + device_id: int + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., device_id: _Optional[int] = ..., chime: _Optional[_Union[VisitorChime, str]] = ...) -> None: ... + +class SetVisitorChimeResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SettingsRequestHeader(_message.Message): + __slots__ = ["device_type", "device_uuid", "panel_device_id", "standalone_camera_id", "standalone_enabled"] + DEVICE_TYPE_FIELD_NUMBER: _ClassVar[int] + DEVICE_UUID_FIELD_NUMBER: _ClassVar[int] + PANEL_DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + STANDALONE_CAMERA_ID_FIELD_NUMBER: _ClassVar[int] + STANDALONE_ENABLED_FIELD_NUMBER: _ClassVar[int] + device_type: str + device_uuid: str + panel_device_id: PanelDeviceIds + standalone_camera_id: StandaloneCameraIds + standalone_enabled: bool + def __init__(self, panel_device_id: _Optional[_Union[PanelDeviceIds, _Mapping]] = ..., device_uuid: _Optional[str] = ..., standalone_camera_id: _Optional[_Union[StandaloneCameraIds, _Mapping]] = ..., device_type: _Optional[str] = ..., standalone_enabled: bool = ...) -> None: ... + +class SoftwareVersion(_message.Message): + __slots__ = ["build", "maintenance", "major", "minor"] + BUILD_FIELD_NUMBER: _ClassVar[int] + MAINTENANCE_FIELD_NUMBER: _ClassVar[int] + MAJOR_FIELD_NUMBER: _ClassVar[int] + MINOR_FIELD_NUMBER: _ClassVar[int] + build: int + maintenance: int + major: int + minor: int + def __init__(self, major: _Optional[int] = ..., minor: _Optional[int] = ..., maintenance: _Optional[int] = ..., build: _Optional[int] = ...) -> None: ... + +class SpotlightCalibrationData(_message.Message): + __slots__ = ["calibration_type", "zones"] + class CalibrationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + class ZoneData(_message.Message): + __slots__ = ["in_fov", "x", "y", "zone_id"] + IN_FOV_FIELD_NUMBER: _ClassVar[int] + X_FIELD_NUMBER: _ClassVar[int] + Y_FIELD_NUMBER: _ClassVar[int] + ZONE_ID_FIELD_NUMBER: _ClassVar[int] + in_fov: bool + x: float + y: float + zone_id: int + def __init__(self, zone_id: _Optional[int] = ..., x: _Optional[float] = ..., y: _Optional[float] = ..., in_fov: bool = ...) -> None: ... + CALIBRATION_TYPE_AUTO: SpotlightCalibrationData.CalibrationType + CALIBRATION_TYPE_FIELD_NUMBER: _ClassVar[int] + CALIBRATION_TYPE_MANUAL: SpotlightCalibrationData.CalibrationType + ZONES_FIELD_NUMBER: _ClassVar[int] + calibration_type: SpotlightCalibrationData.CalibrationType + zones: _containers.RepeatedCompositeFieldContainer[SpotlightCalibrationData.ZoneData] + def __init__(self, calibration_type: _Optional[_Union[SpotlightCalibrationData.CalibrationType, str]] = ..., zones: _Optional[_Iterable[_Union[SpotlightCalibrationData.ZoneData, _Mapping]]] = ...) -> None: ... + +class StandaloneCameraIds(_message.Message): + __slots__ = ["device_id", "device_uuid", "smarthomesystem_id"] + DEVICE_ID_FIELD_NUMBER: _ClassVar[int] + DEVICE_UUID_FIELD_NUMBER: _ClassVar[int] + SMARTHOMESYSTEM_ID_FIELD_NUMBER: _ClassVar[int] + device_id: str + device_uuid: str + smarthomesystem_id: int + def __init__(self, smarthomesystem_id: _Optional[int] = ..., device_uuid: _Optional[str] = ..., device_id: _Optional[str] = ...) -> None: ... + +class StartCameraWifiConnectRequest(_message.Message): + __slots__ = ["camera_ap_ssids", "panel_id"] + CAMERA_AP_SSIDS_FIELD_NUMBER: _ClassVar[int] + PANEL_ID_FIELD_NUMBER: _ClassVar[int] + camera_ap_ssids: _containers.RepeatedScalarFieldContainer[str] + panel_id: int + def __init__(self, panel_id: _Optional[int] = ..., camera_ap_ssids: _Optional[_Iterable[str]] = ...) -> None: ... + +class StartCameraWifiConnectResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class SystemRequestHeader(_message.Message): + __slots__ = ["is_smarthome_system", "system_id"] + IS_SMARTHOME_SYSTEM_FIELD_NUMBER: _ClassVar[int] + SYSTEM_ID_FIELD_NUMBER: _ClassVar[int] + is_smarthome_system: bool + system_id: int + def __init__(self, system_id: _Optional[int] = ..., is_smarthome_system: bool = ...) -> None: ... + +class TechnicalInfo(_message.Message): + __slots__ = ["AP_SSID", "actual_type", "analytics_version", "audio_codec", "audio_sample_rate", "ip_address", "mac_address", "signal_strength", "software_version", "status"] + class AudioCodec(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + ACTUAL_TYPE_FIELD_NUMBER: _ClassVar[int] + ANALYTICS_VERSION_FIELD_NUMBER: _ClassVar[int] + AP_SSID: str + AP_SSID_FIELD_NUMBER: _ClassVar[int] + AUDIO_CODEC_FIELD_NUMBER: _ClassVar[int] + AUDIO_SAMPLE_RATE_FIELD_NUMBER: _ClassVar[int] + INVALID: TechnicalInfo.AudioCodec + IP_ADDRESS_FIELD_NUMBER: _ClassVar[int] + MAC_ADDRESS_FIELD_NUMBER: _ClassVar[int] + MU_LAW_G_711: TechnicalInfo.AudioCodec + OPUS: TechnicalInfo.AudioCodec + SIGNAL_STRENGTH_FIELD_NUMBER: _ClassVar[int] + SOFTWARE_VERSION_FIELD_NUMBER: _ClassVar[int] + STATUS_FIELD_NUMBER: _ClassVar[int] + actual_type: str + analytics_version: str + audio_codec: TechnicalInfo.AudioCodec + audio_sample_rate: int + ip_address: str + mac_address: str + signal_strength: float + software_version: str + status: bool + def __init__(self, status: bool = ..., signal_strength: _Optional[float] = ..., ip_address: _Optional[str] = ..., AP_SSID: _Optional[str] = ..., software_version: _Optional[str] = ..., analytics_version: _Optional[str] = ..., actual_type: _Optional[str] = ..., mac_address: _Optional[str] = ..., audio_codec: _Optional[_Union[TechnicalInfo.AudioCodec, str]] = ..., audio_sample_rate: _Optional[int] = ...) -> None: ... + +class ToggleFloodlightRequest(_message.Message): + __slots__ = ["floodlight_on", "header"] + FLOODLIGHT_ON_FIELD_NUMBER: _ClassVar[int] + HEADER_FIELD_NUMBER: _ClassVar[int] + floodlight_on: bool + header: SettingsRequestHeader + def __init__(self, header: _Optional[_Union[SettingsRequestHeader, _Mapping]] = ..., floodlight_on: bool = ...) -> None: ... + +class ToggleFloodlightResponse(_message.Message): + __slots__ = ["response"] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + response: Response + def __init__(self, response: _Optional[_Union[Response, _Mapping]] = ...) -> None: ... + +class TypeCapabilities(_message.Message): + __slots__ = ["capabilities", "type"] + CAPABILITIES_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + capabilities: _containers.RepeatedScalarFieldContainer[int] + type: int + def __init__(self, type: _Optional[int] = ..., capabilities: _Optional[_Iterable[int]] = ...) -> None: ... + +class DeterScheduleType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class DeterAggressionLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class DeterLightColor(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class DeterLightPattern(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class VideoQuality(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class DoorbellChime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class VisitorChime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class PackageChime(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class RecordForRegions(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class ChimeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class DoorbellPosition(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class SpotlightMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] + +class SpotlightStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = [] diff --git a/vivintpy/proto/beam_pb2_grpc.py b/vivintpy/proto/beam_pb2_grpc.py new file mode 100644 index 0000000..1001bce --- /dev/null +++ b/vivintpy/proto/beam_pb2_grpc.py @@ -0,0 +1,3330 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from vivintpy.proto import beam_pb2 as vivintpy_dot_proto_dot_beam__pb2 + + +class BeamStub(object): + """usage: + Compiled by 'protoc -I=. --go_out=plugins=grpc:. --python_out=. --cpp_out=./cpp beam.proto' + for ios: + protoc -I=. --plugin=protoc-gen-grpc=/usr/local/bin/grpc_objective_c_plugin --objc_out=objc --grpc_out=objc beam.proto + + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Ping = channel.unary_unary( + '/beam.Beam/Ping', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + ) + self.SetDeviceName = channel.unary_unary( + '/beam.Beam/SetDeviceName', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceNameRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceNameResponse.FromString, + ) + self.GetCameraTechnicalInfo = channel.unary_unary( + '/beam.Beam/GetCameraTechnicalInfo', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraTechnicalInfoRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraTechnicalInfoResponse.FromString, + ) + self.GetCameraSettings = channel.unary_unary( + '/beam.Beam/GetCameraSettings', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraSettingsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraSettingsResponse.FromString, + ) + self.GetPanelSettings = channel.unary_unary( + '/beam.Beam/GetPanelSettings', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelSettingsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelSettingsResponse.FromString, + ) + self.SetCameraPrivacyMode = channel.unary_unary( + '/beam.Beam/SetCameraPrivacyMode', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPrivacyModeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPrivacyModeResponse.FromString, + ) + self.AdjustCameraToXyz = channel.unary_unary( + '/beam.Beam/AdjustCameraToXyz', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.AdjustCameraToXyzRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.AdjustCameraToXyzResponse.FromString, + ) + self.SetCameraPlaybackEnabled = channel.unary_unary( + '/beam.Beam/SetCameraPlaybackEnabled', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPlaybackEnabledRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPlaybackEnabledResponse.FromString, + ) + self.SetDetectionWindows = channel.unary_unary( + '/beam.Beam/SetDetectionWindows', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDetectionWindowsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDetectionWindowsResponse.FromString, + ) + self.SetChimeVolume = channel.unary_unary( + '/beam.Beam/SetChimeVolume', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeVolumeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeVolumeResponse.FromString, + ) + self.SetChimeMute = channel.unary_unary( + '/beam.Beam/SetChimeMute', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeMuteRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeMuteResponse.FromString, + ) + self.SetVideoQuality = channel.unary_unary( + '/beam.Beam/SetVideoQuality', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetVideoQualityRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetVideoQualityResponse.FromString, + ) + self.SetNightVision = channel.unary_unary( + '/beam.Beam/SetNightVision', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNightVisionRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNightVisionResponse.FromString, + ) + self.SetIRLED = channel.unary_unary( + '/beam.Beam/SetIRLED', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetIRLEDRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetIRLEDResponse.FromString, + ) + self.SetRotateImage = channel.unary_unary( + '/beam.Beam/SetRotateImage', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRotateImageRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRotateImageResponse.FromString, + ) + self.SetMaintainZoom = channel.unary_unary( + '/beam.Beam/SetMaintainZoom', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetMaintainZoomRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetMaintainZoomResponse.FromString, + ) + self.SetStatusLight = channel.unary_unary( + '/beam.Beam/SetStatusLight', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetStatusLightRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetStatusLightResponse.FromString, + ) + self.SetAudioRecording = channel.unary_unary( + '/beam.Beam/SetAudioRecording', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAudioRecordingRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAudioRecordingResponse.FromString, + ) + self.SetDoorbellChime = channel.unary_unary( + '/beam.Beam/SetDoorbellChime', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellChimeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellChimeResponse.FromString, + ) + self.SetDoorbellMuted = channel.unary_unary( + '/beam.Beam/SetDoorbellMuted', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellMutedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellMutedResponse.FromString, + ) + self.SetVisitorChime = channel.unary_unary( + '/beam.Beam/SetVisitorChime', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetVisitorChimeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetVisitorChimeResponse.FromString, + ) + self.SetPackageChime = channel.unary_unary( + '/beam.Beam/SetPackageChime', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageChimeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageChimeResponse.FromString, + ) + self.SetUseAsDoorbellChimeExtender = channel.unary_unary( + '/beam.Beam/SetUseAsDoorbellChimeExtender', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetUseAsDoorbellChimeExtenderRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetUseAsDoorbellChimeExtenderResponse.FromString, + ) + self.SetExtendSiren = channel.unary_unary( + '/beam.Beam/SetExtendSiren', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetExtendSirenRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetExtendSirenResponse.FromString, + ) + self.SetQuietMode = channel.unary_unary( + '/beam.Beam/SetQuietMode', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetQuietModeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetQuietModeResponse.FromString, + ) + self.GetAnalyticsOptIn = channel.unary_unary( + '/beam.Beam/GetAnalyticsOptIn', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetAnalyticsOptInRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetAnalyticsOptInResponse.FromString, + ) + self.SetAnalyticsOptIn = channel.unary_unary( + '/beam.Beam/SetAnalyticsOptIn', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsOptInRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsOptInResponse.FromString, + ) + self.SetNotifyOnPersonDetected = channel.unary_unary( + '/beam.Beam/SetNotifyOnPersonDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnLurkerDetected = channel.unary_unary( + '/beam.Beam/SetNotifyOnLurkerDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnPackageSeen = channel.unary_unary( + '/beam.Beam/SetNotifyOnPackageSeen', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnPackageMoved = channel.unary_unary( + '/beam.Beam/SetNotifyOnPackageMoved', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnVehicleSeen = channel.unary_unary( + '/beam.Beam/SetNotifyOnVehicleSeen', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnAnimalSeen = channel.unary_unary( + '/beam.Beam/SetNotifyOnAnimalSeen', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnDeter = channel.unary_unary( + '/beam.Beam/SetNotifyOnDeter', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnDoorbellPress = channel.unary_unary( + '/beam.Beam/SetNotifyOnDoorbellPress', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.SetNotifyOnVehicleLeaving = channel.unary_unary( + '/beam.Beam/SetNotifyOnVehicleLeaving', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + ) + self.RestoreDefaults = channel.unary_unary( + '/beam.Beam/RestoreDefaults', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.RestoreDefaultsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.RestoreDefaultsResponse.FromString, + ) + self.RebootCamera = channel.unary_unary( + '/beam.Beam/RebootCamera', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.RebootCameraRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.RebootCameraResponse.FromString, + ) + self.DeleteAllEvents = channel.unary_unary( + '/beam.Beam/DeleteAllEvents', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.DeleteAllEventsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.DeleteAllEventsResponse.FromString, + ) + self.DeleteCamera = channel.unary_unary( + '/beam.Beam/DeleteCamera', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.DeleteCameraRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.DeleteCameraResponse.FromString, + ) + self.SetCameraListOrder = channel.unary_unary( + '/beam.Beam/SetCameraListOrder', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraListOrderRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraListOrderResponse.FromString, + ) + self.SetLurkerDeter = channel.unary_unary( + '/beam.Beam/SetLurkerDeter', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetLurkerDeterRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetLurkerDeterResponse.FromString, + ) + self.SetSmartSentrySnooze = channel.unary_unary( + '/beam.Beam/SetSmartSentrySnooze', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSmartSentrySnoozeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSmartSentrySnoozeResponse.FromString, + ) + self.SetPackageWatch = channel.unary_unary( + '/beam.Beam/SetPackageWatch', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchResponse.FromString, + ) + self.SetAnimalBoundary = channel.unary_unary( + '/beam.Beam/SetAnimalBoundary', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAnimalBoundaryRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAnimalBoundaryResponse.FromString, + ) + self.SetPackageBoundary = channel.unary_unary( + '/beam.Beam/SetPackageBoundary', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageBoundaryRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageBoundaryResponse.FromString, + ) + self.SetVehicleBoundary = channel.unary_unary( + '/beam.Beam/SetVehicleBoundary', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetVehicleBoundaryRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetVehicleBoundaryResponse.FromString, + ) + self.SetPropertyBoundary = channel.unary_unary( + '/beam.Beam/SetPropertyBoundary', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPropertyBoundaryRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPropertyBoundaryResponse.FromString, + ) + self.SetDeterBoundary = channel.unary_unary( + '/beam.Beam/SetDeterBoundary', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterBoundaryRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterBoundaryResponse.FromString, + ) + self.SetDeterSchedule = channel.unary_unary( + '/beam.Beam/SetDeterSchedule', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleResponse.FromString, + ) + self.SetDeterScheduleV2 = channel.unary_unary( + '/beam.Beam/SetDeterScheduleV2', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleV2Request.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleV2Response.FromString, + ) + self.SetDeterAggressionLevel = channel.unary_unary( + '/beam.Beam/SetDeterAggressionLevel', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterAggressionLevelRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterAggressionLevelResponse.FromString, + ) + self.SetDeterLightColor = channel.unary_unary( + '/beam.Beam/SetDeterLightColor', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightColorRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightColorResponse.FromString, + ) + self.SetDeterLightPattern = channel.unary_unary( + '/beam.Beam/SetDeterLightPattern', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightPatternRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightPatternResponse.FromString, + ) + self.SetDeterOverride = channel.unary_unary( + '/beam.Beam/SetDeterOverride', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterOverrideRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterOverrideResponse.FromString, + ) + self.SetLingerDuration = channel.unary_unary( + '/beam.Beam/SetLingerDuration', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetLingerDurationRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetLingerDurationResponse.FromString, + ) + self.GetPanelLogin = channel.unary_unary( + '/beam.Beam/GetPanelLogin', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelLoginRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelLoginResponse.FromString, + ) + self.GetDeviceOnboarding = channel.unary_unary( + '/beam.Beam/GetDeviceOnboarding', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetDeviceOnboardingRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetDeviceOnboardingResponse.FromString, + ) + self.SetDeviceOnboarding = channel.unary_unary( + '/beam.Beam/SetDeviceOnboarding', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceOnboardingRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceOnboardingResponse.FromString, + ) + self.SetCaptureClipOnMotion = channel.unary_unary( + '/beam.Beam/SetCaptureClipOnMotion', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.FromString, + ) + self.SetCaptureClipOnDoorbellRing = channel.unary_unary( + '/beam.Beam/SetCaptureClipOnDoorbellRing', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.FromString, + ) + self.SetCaptureClipOnVisitor = channel.unary_unary( + '/beam.Beam/SetCaptureClipOnVisitor', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.FromString, + ) + self.SetRecordOnDeter = channel.unary_unary( + '/beam.Beam/SetRecordOnDeter', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnDeterRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnDeterResponse.FromString, + ) + self.SetRecordOnPersonDetected = channel.unary_unary( + '/beam.Beam/SetRecordOnPersonDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPersonDetectedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPersonDetectedResponse.FromString, + ) + self.SetRecordOnPackageDetected = channel.unary_unary( + '/beam.Beam/SetRecordOnPackageDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPackageDetectedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPackageDetectedResponse.FromString, + ) + self.SetRecordOnLurkerDetected = channel.unary_unary( + '/beam.Beam/SetRecordOnLurkerDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnLurkerDetectedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnLurkerDetectedResponse.FromString, + ) + self.SetRecordOnAnimalDetected = channel.unary_unary( + '/beam.Beam/SetRecordOnAnimalDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnAnimalDetectedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnAnimalDetectedResponse.FromString, + ) + self.SetRecordOnVehicleDetected = channel.unary_unary( + '/beam.Beam/SetRecordOnVehicleDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnVehicleDetectedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnVehicleDetectedResponse.FromString, + ) + self.SetRecordForRegions = channel.unary_unary( + '/beam.Beam/SetRecordForRegions', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordForRegionsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordForRegionsResponse.FromString, + ) + self.SetAnalyticsSensitivity = channel.unary_unary( + '/beam.Beam/SetAnalyticsSensitivity', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsSensitivityRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsSensitivityResponse.FromString, + ) + self.PreviewChime = channel.unary_unary( + '/beam.Beam/PreviewChime', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.PreviewChimeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.PreviewChimeResponse.FromString, + ) + self.SetPackageDeliveryLocations = channel.unary_unary( + '/beam.Beam/SetPackageDeliveryLocations', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageDeliveryLocationsRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageDeliveryLocationsResponse.FromString, + ) + self.SetDoorbellPosition = channel.unary_unary( + '/beam.Beam/SetDoorbellPosition', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellPositionRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellPositionResponse.FromString, + ) + self.GetDynamicChimes = channel.unary_unary( + '/beam.Beam/GetDynamicChimes', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetDynamicChimesRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetDynamicChimesResponse.FromString, + ) + self.SetDynamicChime = channel.unary_unary( + '/beam.Beam/SetDynamicChime', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDynamicChimeRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDynamicChimeResponse.FromString, + ) + self.SetPackageWatchState = channel.unary_unary( + '/beam.Beam/SetPackageWatchState', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchStateRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchStateResponse.FromString, + ) + self.SetUserRole = channel.unary_unary( + '/beam.Beam/SetUserRole', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetUserRoleRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetUserRoleResponse.FromString, + ) + self.GetClipSharingLink = channel.unary_unary( + '/beam.Beam/GetClipSharingLink', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetClipSharingLinkRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetClipSharingLinkResponse.FromString, + ) + self.PanelKillWiFiNetwork = channel.unary_unary( + '/beam.Beam/PanelKillWiFiNetwork', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.PanelKillWiFiNetworkRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + ) + self.PanelRefreshSSIDList = channel.unary_unary( + '/beam.Beam/PanelRefreshSSIDList', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.PanelRefreshSSIDListRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + ) + self.StartCameraWifiConnect = channel.unary_unary( + '/beam.Beam/StartCameraWifiConnect', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.StartCameraWifiConnectRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.StartCameraWifiConnectResponse.FromString, + ) + self.AddCameraToHub = channel.unary_unary( + '/beam.Beam/AddCameraToHub', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.AddCameraToHubRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + ) + self.ReportVideoFailed = channel.unary_unary( + '/beam.Beam/ReportVideoFailed', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.ReportVideoFailedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.ReportVideoFailedResponse.FromString, + ) + self.RequestCameraThumbnail = channel.unary_unary( + '/beam.Beam/RequestCameraThumbnail', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailResponse.FromString, + ) + self.GetCameraThumbnailUrl = channel.unary_unary( + '/beam.Beam/GetCameraThumbnailUrl', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.GetHistoryClipURL = channel.unary_unary( + '/beam.Beam/GetHistoryClipURL', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLResponse.FromString, + ) + self.GetLegacyHistoryClipURL = channel.unary_unary( + '/beam.Beam/GetLegacyHistoryClipURL', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.GetLegacyHistoryClipURLRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLResponse.FromString, + ) + self.AssociateDvr = channel.unary_unary( + '/beam.Beam/AssociateDvr', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.AssociateDvrRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.AssociateDvrResponse.FromString, + ) + self.SetSpotlightZones = channel.unary_unary( + '/beam.Beam/SetSpotlightZones', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightZonesRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightZonesResponse.FromString, + ) + self.SetSpotlightBrightness = channel.unary_unary( + '/beam.Beam/SetSpotlightBrightness', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightBrightnessRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightBrightnessResponse.FromString, + ) + self.ToggleFloodlight = channel.unary_unary( + '/beam.Beam/ToggleFloodlight', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.ToggleFloodlightRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.ToggleFloodlightResponse.FromString, + ) + self.SetSpotlightLightOnPersonDetected = channel.unary_unary( + '/beam.Beam/SetSpotlightLightOnPersonDetected', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightLightOnPersonDetectedRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightLightOnPersonDetectedResponse.FromString, + ) + self.SetSpotlightCalibration = channel.unary_unary( + '/beam.Beam/SetSpotlightCalibration', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightCalibrationRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightCalibrationResponse.FromString, + ) + self.SetDeterLightingBehavior = channel.unary_unary( + '/beam.Beam/SetDeterLightingBehavior', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightingBehaviorRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightingBehaviorResponse.FromString, + ) + self.SetSpotlightFollow = channel.unary_unary( + '/beam.Beam/SetSpotlightFollow', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightFollowRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightFollowResponse.FromString, + ) + self.SetSpotlightOnSunsetToSunrise = channel.unary_unary( + '/beam.Beam/SetSpotlightOnSunsetToSunrise', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightOnSunsetToSunriseRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightOnSunsetToSunriseResponse.FromString, + ) + self.SetSpotlightNightLight = channel.unary_unary( + '/beam.Beam/SetSpotlightNightLight', + request_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightNightLightRequest.SerializeToString, + response_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightNightLightResponse.FromString, + ) + + +class BeamServicer(object): + """usage: + Compiled by 'protoc -I=. --go_out=plugins=grpc:. --python_out=. --cpp_out=./cpp beam.proto' + for ios: + protoc -I=. --plugin=protoc-gen-grpc=/usr/local/bin/grpc_objective_c_plugin --objc_out=objc --grpc_out=objc beam.proto + + """ + + def Ping(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeviceName(self, request, context): + """Set the device name / set the camera name + because all devices have a name, SetDeviceName is used for this API call instead of SetCameraName + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCameraTechnicalInfo(self, request, context): + """Get Camera Technical Info + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCameraSettings(self, request, context): + """Get All Camera Settings + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetPanelSettings(self, request, context): + """Get All Panel Settings + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetCameraPrivacyMode(self, request, context): + """Set Privacy Mode + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AdjustCameraToXyz(self, request, context): + """Adjust Camera Zoom + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetCameraPlaybackEnabled(self, request, context): + """ + Recording Settings + + Set Playback enabled + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDetectionWindows(self, request, context): + """ + Detection Settings + + Set Detection Windows + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetChimeVolume(self, request, context): + """ + Chime Settings + + Set ChimeVolume + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetChimeMute(self, request, context): + """Set ChimeMute + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetVideoQuality(self, request, context): + """ + Video Settings + + Set Video Quality + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNightVision(self, request, context): + """Set Night Vison + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetIRLED(self, request, context): + """Set IR LED + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRotateImage(self, request, context): + """Set Rotate Image + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetMaintainZoom(self, request, context): + """Set Maintain Zoom + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetStatusLight(self, request, context): + """ + Device Settings + + Set StatusLight + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetAudioRecording(self, request, context): + """Set AudioRecording + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDoorbellChime(self, request, context): + """Set DoorbellChime + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDoorbellMuted(self, request, context): + """Set DoorbellMuted + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetVisitorChime(self, request, context): + """Set VisitorChime + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetPackageChime(self, request, context): + """Set PackageChime + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetUseAsDoorbellChimeExtender(self, request, context): + """Set Use as doorbell chime extender + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetExtendSiren(self, request, context): + """Set extend siren + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetQuietMode(self, request, context): + """Set QuietMode + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAnalyticsOptIn(self, request, context): + """Get analytics opt-in setting, which indicates whether the user has allowed the video clips from this device to be used for analytics + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetAnalyticsOptIn(self, request, context): + """Set analytics opt-in setting, which indicates whether the user has allowed the video clips from this device to be used for analytics + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnPersonDetected(self, request, context): + """ + Notify Settings + + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnLurkerDetected(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnPackageSeen(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnPackageMoved(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnVehicleSeen(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnAnimalSeen(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnDeter(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnDoorbellPress(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetNotifyOnVehicleLeaving(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RestoreDefaults(self, request, context): + """ + Restore Defaults, Reboot Camera, Delete Recordings, Delete Camera, etc. + + Restore Defaults + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RebootCamera(self, request, context): + """Reboot Camera + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteAllEvents(self, request, context): + """Delete All Events + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteCamera(self, request, context): + """Delete Camera + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetCameraListOrder(self, request, context): + """Set Camera List Order + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetLurkerDeter(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSmartSentrySnooze(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetPackageWatch(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetAnimalBoundary(self, request, context): + """Set the animal detection boundary + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetPackageBoundary(self, request, context): + """Set the package detection boundary + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetVehicleBoundary(self, request, context): + """Set the vehicle detection boundary + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetPropertyBoundary(self, request, context): + """Set the property boundary + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterBoundary(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterSchedule(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterScheduleV2(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterAggressionLevel(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterLightColor(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterLightPattern(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterOverride(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetLingerDuration(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetPanelLogin(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDeviceOnboarding(self, request, context): + """Get and set per device onboarding progress flags + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeviceOnboarding(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetCaptureClipOnMotion(self, request, context): + """SetCaptureClipOn (legacy) and SetRecordOn methods - set whether a clip should be recorded when an event occurs + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetCaptureClipOnDoorbellRing(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetCaptureClipOnVisitor(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordOnDeter(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordOnPersonDetected(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordOnPackageDetected(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordOnLurkerDetected(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordOnAnimalDetected(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordOnVehicleDetected(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetRecordForRegions(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetAnalyticsSensitivity(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PreviewChime(self, request, context): + """Tells the panel/camera to sound the chime based on chime type + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetPackageDeliveryLocations(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDoorbellPosition(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetDynamicChimes(self, request, context): + """Find out what doorbell chimes are available + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDynamicChime(self, request, context): + """Change which dynamic doorbell chime is currently set for a device + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetPackageWatchState(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetUserRole(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetClipSharingLink(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PanelKillWiFiNetwork(self, request, context): + """DIY/Hub+ functionality + stop using WiFi for Hub+ connectivity (required to be able to do site-survey?) + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PanelRefreshSSIDList(self, request, context): + """request that a new site-survey be done by Hub+ unit + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StartCameraWifiConnect(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AddCameraToHub(self, request, context): + """Add a camera to Hub/Panel after it has connected to the network. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ReportVideoFailed(self, request, context): + """Re-implementation of /api/videofailed/{panel_id} from mobile-api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RequestCameraThumbnail(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCameraThumbnailUrl(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetHistoryClipURL(self, request, context): + """GetHistoryClipURL is the "proper" way to get a signed URL; it has all the fields necessary + to get a history record without needing to do a scan-and-gather on the data collections. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetLegacyHistoryClipURL(self, request, context): + """Re-implementation of GET /api/token/{historyId} from mobile-api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AssociateDvr(self, request, context): + """Re-implementation of POST /api/dvr-associate from mobile-api + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightZones(self, request, context): + """Set which zones of the ODC Spotlight attachment (Narwhal) are enabled. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightBrightness(self, request, context): + """Set the brightness of the ODC Spotlight attachment (Narwhal). + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ToggleFloodlight(self, request, context): + """Turn the ODC Spotlight attachment (Narwhal) on (in floodlight mode) or off. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightLightOnPersonDetected(self, request, context): + """Toggle the behavior to turn on (or brighten) the ODS spotlight attachment when a person is detected at night when deter is off + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightCalibration(self, request, context): + """Set the calibration points for the Spotlight attachment (Narwhal) zones + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetDeterLightingBehavior(self, request, context): + """Set narwhal/spotlight deter lighting behavior + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightFollow(self, request, context): + """Set narwhal/spotlight person lighting behavior + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightOnSunsetToSunrise(self, request, context): + """Sets the SpotlightNightLight property of a camera. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetSpotlightNightLight(self, request, context): + """Sets the SpotlightNightLight property of a camera, which tells the camera to turn on the light when in night mode. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_BeamServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Ping': grpc.unary_unary_rpc_method_handler( + servicer.Ping, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.Response.SerializeToString, + ), + 'SetDeviceName': grpc.unary_unary_rpc_method_handler( + servicer.SetDeviceName, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceNameRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceNameResponse.SerializeToString, + ), + 'GetCameraTechnicalInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetCameraTechnicalInfo, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraTechnicalInfoRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraTechnicalInfoResponse.SerializeToString, + ), + 'GetCameraSettings': grpc.unary_unary_rpc_method_handler( + servicer.GetCameraSettings, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraSettingsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetCameraSettingsResponse.SerializeToString, + ), + 'GetPanelSettings': grpc.unary_unary_rpc_method_handler( + servicer.GetPanelSettings, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelSettingsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelSettingsResponse.SerializeToString, + ), + 'SetCameraPrivacyMode': grpc.unary_unary_rpc_method_handler( + servicer.SetCameraPrivacyMode, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPrivacyModeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPrivacyModeResponse.SerializeToString, + ), + 'AdjustCameraToXyz': grpc.unary_unary_rpc_method_handler( + servicer.AdjustCameraToXyz, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.AdjustCameraToXyzRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.AdjustCameraToXyzResponse.SerializeToString, + ), + 'SetCameraPlaybackEnabled': grpc.unary_unary_rpc_method_handler( + servicer.SetCameraPlaybackEnabled, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPlaybackEnabledRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraPlaybackEnabledResponse.SerializeToString, + ), + 'SetDetectionWindows': grpc.unary_unary_rpc_method_handler( + servicer.SetDetectionWindows, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDetectionWindowsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDetectionWindowsResponse.SerializeToString, + ), + 'SetChimeVolume': grpc.unary_unary_rpc_method_handler( + servicer.SetChimeVolume, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeVolumeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeVolumeResponse.SerializeToString, + ), + 'SetChimeMute': grpc.unary_unary_rpc_method_handler( + servicer.SetChimeMute, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeMuteRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetChimeMuteResponse.SerializeToString, + ), + 'SetVideoQuality': grpc.unary_unary_rpc_method_handler( + servicer.SetVideoQuality, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetVideoQualityRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetVideoQualityResponse.SerializeToString, + ), + 'SetNightVision': grpc.unary_unary_rpc_method_handler( + servicer.SetNightVision, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNightVisionRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNightVisionResponse.SerializeToString, + ), + 'SetIRLED': grpc.unary_unary_rpc_method_handler( + servicer.SetIRLED, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetIRLEDRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetIRLEDResponse.SerializeToString, + ), + 'SetRotateImage': grpc.unary_unary_rpc_method_handler( + servicer.SetRotateImage, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRotateImageRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRotateImageResponse.SerializeToString, + ), + 'SetMaintainZoom': grpc.unary_unary_rpc_method_handler( + servicer.SetMaintainZoom, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetMaintainZoomRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetMaintainZoomResponse.SerializeToString, + ), + 'SetStatusLight': grpc.unary_unary_rpc_method_handler( + servicer.SetStatusLight, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetStatusLightRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetStatusLightResponse.SerializeToString, + ), + 'SetAudioRecording': grpc.unary_unary_rpc_method_handler( + servicer.SetAudioRecording, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAudioRecordingRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAudioRecordingResponse.SerializeToString, + ), + 'SetDoorbellChime': grpc.unary_unary_rpc_method_handler( + servicer.SetDoorbellChime, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellChimeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellChimeResponse.SerializeToString, + ), + 'SetDoorbellMuted': grpc.unary_unary_rpc_method_handler( + servicer.SetDoorbellMuted, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellMutedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellMutedResponse.SerializeToString, + ), + 'SetVisitorChime': grpc.unary_unary_rpc_method_handler( + servicer.SetVisitorChime, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetVisitorChimeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetVisitorChimeResponse.SerializeToString, + ), + 'SetPackageChime': grpc.unary_unary_rpc_method_handler( + servicer.SetPackageChime, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageChimeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageChimeResponse.SerializeToString, + ), + 'SetUseAsDoorbellChimeExtender': grpc.unary_unary_rpc_method_handler( + servicer.SetUseAsDoorbellChimeExtender, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetUseAsDoorbellChimeExtenderRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetUseAsDoorbellChimeExtenderResponse.SerializeToString, + ), + 'SetExtendSiren': grpc.unary_unary_rpc_method_handler( + servicer.SetExtendSiren, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetExtendSirenRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetExtendSirenResponse.SerializeToString, + ), + 'SetQuietMode': grpc.unary_unary_rpc_method_handler( + servicer.SetQuietMode, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetQuietModeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetQuietModeResponse.SerializeToString, + ), + 'GetAnalyticsOptIn': grpc.unary_unary_rpc_method_handler( + servicer.GetAnalyticsOptIn, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetAnalyticsOptInRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetAnalyticsOptInResponse.SerializeToString, + ), + 'SetAnalyticsOptIn': grpc.unary_unary_rpc_method_handler( + servicer.SetAnalyticsOptIn, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsOptInRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsOptInResponse.SerializeToString, + ), + 'SetNotifyOnPersonDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnPersonDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnLurkerDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnLurkerDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnPackageSeen': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnPackageSeen, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnPackageMoved': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnPackageMoved, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnVehicleSeen': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnVehicleSeen, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnAnimalSeen': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnAnimalSeen, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnDeter': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnDeter, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnDoorbellPress': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnDoorbellPress, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'SetNotifyOnVehicleLeaving': grpc.unary_unary_rpc_method_handler( + servicer.SetNotifyOnVehicleLeaving, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.SerializeToString, + ), + 'RestoreDefaults': grpc.unary_unary_rpc_method_handler( + servicer.RestoreDefaults, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.RestoreDefaultsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.RestoreDefaultsResponse.SerializeToString, + ), + 'RebootCamera': grpc.unary_unary_rpc_method_handler( + servicer.RebootCamera, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.RebootCameraRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.RebootCameraResponse.SerializeToString, + ), + 'DeleteAllEvents': grpc.unary_unary_rpc_method_handler( + servicer.DeleteAllEvents, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.DeleteAllEventsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.DeleteAllEventsResponse.SerializeToString, + ), + 'DeleteCamera': grpc.unary_unary_rpc_method_handler( + servicer.DeleteCamera, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.DeleteCameraRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.DeleteCameraResponse.SerializeToString, + ), + 'SetCameraListOrder': grpc.unary_unary_rpc_method_handler( + servicer.SetCameraListOrder, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraListOrderRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCameraListOrderResponse.SerializeToString, + ), + 'SetLurkerDeter': grpc.unary_unary_rpc_method_handler( + servicer.SetLurkerDeter, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetLurkerDeterRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetLurkerDeterResponse.SerializeToString, + ), + 'SetSmartSentrySnooze': grpc.unary_unary_rpc_method_handler( + servicer.SetSmartSentrySnooze, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSmartSentrySnoozeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSmartSentrySnoozeResponse.SerializeToString, + ), + 'SetPackageWatch': grpc.unary_unary_rpc_method_handler( + servicer.SetPackageWatch, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchResponse.SerializeToString, + ), + 'SetAnimalBoundary': grpc.unary_unary_rpc_method_handler( + servicer.SetAnimalBoundary, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAnimalBoundaryRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAnimalBoundaryResponse.SerializeToString, + ), + 'SetPackageBoundary': grpc.unary_unary_rpc_method_handler( + servicer.SetPackageBoundary, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageBoundaryRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageBoundaryResponse.SerializeToString, + ), + 'SetVehicleBoundary': grpc.unary_unary_rpc_method_handler( + servicer.SetVehicleBoundary, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetVehicleBoundaryRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetVehicleBoundaryResponse.SerializeToString, + ), + 'SetPropertyBoundary': grpc.unary_unary_rpc_method_handler( + servicer.SetPropertyBoundary, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPropertyBoundaryRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPropertyBoundaryResponse.SerializeToString, + ), + 'SetDeterBoundary': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterBoundary, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterBoundaryRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterBoundaryResponse.SerializeToString, + ), + 'SetDeterSchedule': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterSchedule, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleResponse.SerializeToString, + ), + 'SetDeterScheduleV2': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterScheduleV2, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleV2Request.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleV2Response.SerializeToString, + ), + 'SetDeterAggressionLevel': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterAggressionLevel, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterAggressionLevelRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterAggressionLevelResponse.SerializeToString, + ), + 'SetDeterLightColor': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterLightColor, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightColorRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightColorResponse.SerializeToString, + ), + 'SetDeterLightPattern': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterLightPattern, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightPatternRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightPatternResponse.SerializeToString, + ), + 'SetDeterOverride': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterOverride, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterOverrideRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterOverrideResponse.SerializeToString, + ), + 'SetLingerDuration': grpc.unary_unary_rpc_method_handler( + servicer.SetLingerDuration, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetLingerDurationRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetLingerDurationResponse.SerializeToString, + ), + 'GetPanelLogin': grpc.unary_unary_rpc_method_handler( + servicer.GetPanelLogin, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelLoginRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetPanelLoginResponse.SerializeToString, + ), + 'GetDeviceOnboarding': grpc.unary_unary_rpc_method_handler( + servicer.GetDeviceOnboarding, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetDeviceOnboardingRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetDeviceOnboardingResponse.SerializeToString, + ), + 'SetDeviceOnboarding': grpc.unary_unary_rpc_method_handler( + servicer.SetDeviceOnboarding, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceOnboardingRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeviceOnboardingResponse.SerializeToString, + ), + 'SetCaptureClipOnMotion': grpc.unary_unary_rpc_method_handler( + servicer.SetCaptureClipOnMotion, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.SerializeToString, + ), + 'SetCaptureClipOnDoorbellRing': grpc.unary_unary_rpc_method_handler( + servicer.SetCaptureClipOnDoorbellRing, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.SerializeToString, + ), + 'SetCaptureClipOnVisitor': grpc.unary_unary_rpc_method_handler( + servicer.SetCaptureClipOnVisitor, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.SerializeToString, + ), + 'SetRecordOnDeter': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordOnDeter, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnDeterRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnDeterResponse.SerializeToString, + ), + 'SetRecordOnPersonDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordOnPersonDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPersonDetectedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPersonDetectedResponse.SerializeToString, + ), + 'SetRecordOnPackageDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordOnPackageDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPackageDetectedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPackageDetectedResponse.SerializeToString, + ), + 'SetRecordOnLurkerDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordOnLurkerDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnLurkerDetectedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnLurkerDetectedResponse.SerializeToString, + ), + 'SetRecordOnAnimalDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordOnAnimalDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnAnimalDetectedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnAnimalDetectedResponse.SerializeToString, + ), + 'SetRecordOnVehicleDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordOnVehicleDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnVehicleDetectedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordOnVehicleDetectedResponse.SerializeToString, + ), + 'SetRecordForRegions': grpc.unary_unary_rpc_method_handler( + servicer.SetRecordForRegions, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordForRegionsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetRecordForRegionsResponse.SerializeToString, + ), + 'SetAnalyticsSensitivity': grpc.unary_unary_rpc_method_handler( + servicer.SetAnalyticsSensitivity, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsSensitivityRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsSensitivityResponse.SerializeToString, + ), + 'PreviewChime': grpc.unary_unary_rpc_method_handler( + servicer.PreviewChime, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.PreviewChimeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.PreviewChimeResponse.SerializeToString, + ), + 'SetPackageDeliveryLocations': grpc.unary_unary_rpc_method_handler( + servicer.SetPackageDeliveryLocations, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageDeliveryLocationsRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageDeliveryLocationsResponse.SerializeToString, + ), + 'SetDoorbellPosition': grpc.unary_unary_rpc_method_handler( + servicer.SetDoorbellPosition, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellPositionRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDoorbellPositionResponse.SerializeToString, + ), + 'GetDynamicChimes': grpc.unary_unary_rpc_method_handler( + servicer.GetDynamicChimes, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetDynamicChimesRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetDynamicChimesResponse.SerializeToString, + ), + 'SetDynamicChime': grpc.unary_unary_rpc_method_handler( + servicer.SetDynamicChime, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDynamicChimeRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDynamicChimeResponse.SerializeToString, + ), + 'SetPackageWatchState': grpc.unary_unary_rpc_method_handler( + servicer.SetPackageWatchState, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchStateRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchStateResponse.SerializeToString, + ), + 'SetUserRole': grpc.unary_unary_rpc_method_handler( + servicer.SetUserRole, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetUserRoleRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetUserRoleResponse.SerializeToString, + ), + 'GetClipSharingLink': grpc.unary_unary_rpc_method_handler( + servicer.GetClipSharingLink, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetClipSharingLinkRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetClipSharingLinkResponse.SerializeToString, + ), + 'PanelKillWiFiNetwork': grpc.unary_unary_rpc_method_handler( + servicer.PanelKillWiFiNetwork, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.PanelKillWiFiNetworkRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.Response.SerializeToString, + ), + 'PanelRefreshSSIDList': grpc.unary_unary_rpc_method_handler( + servicer.PanelRefreshSSIDList, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.PanelRefreshSSIDListRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.Response.SerializeToString, + ), + 'StartCameraWifiConnect': grpc.unary_unary_rpc_method_handler( + servicer.StartCameraWifiConnect, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.StartCameraWifiConnectRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.StartCameraWifiConnectResponse.SerializeToString, + ), + 'AddCameraToHub': grpc.unary_unary_rpc_method_handler( + servicer.AddCameraToHub, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.AddCameraToHubRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.Response.SerializeToString, + ), + 'ReportVideoFailed': grpc.unary_unary_rpc_method_handler( + servicer.ReportVideoFailed, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.ReportVideoFailedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.ReportVideoFailedResponse.SerializeToString, + ), + 'RequestCameraThumbnail': grpc.unary_unary_rpc_method_handler( + servicer.RequestCameraThumbnail, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailResponse.SerializeToString, + ), + 'GetCameraThumbnailUrl': grpc.unary_unary_rpc_method_handler( + servicer.GetCameraThumbnailUrl, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'GetHistoryClipURL': grpc.unary_unary_rpc_method_handler( + servicer.GetHistoryClipURL, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLResponse.SerializeToString, + ), + 'GetLegacyHistoryClipURL': grpc.unary_unary_rpc_method_handler( + servicer.GetLegacyHistoryClipURL, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.GetLegacyHistoryClipURLRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLResponse.SerializeToString, + ), + 'AssociateDvr': grpc.unary_unary_rpc_method_handler( + servicer.AssociateDvr, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.AssociateDvrRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.AssociateDvrResponse.SerializeToString, + ), + 'SetSpotlightZones': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightZones, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightZonesRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightZonesResponse.SerializeToString, + ), + 'SetSpotlightBrightness': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightBrightness, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightBrightnessRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightBrightnessResponse.SerializeToString, + ), + 'ToggleFloodlight': grpc.unary_unary_rpc_method_handler( + servicer.ToggleFloodlight, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.ToggleFloodlightRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.ToggleFloodlightResponse.SerializeToString, + ), + 'SetSpotlightLightOnPersonDetected': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightLightOnPersonDetected, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightLightOnPersonDetectedRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightLightOnPersonDetectedResponse.SerializeToString, + ), + 'SetSpotlightCalibration': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightCalibration, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightCalibrationRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightCalibrationResponse.SerializeToString, + ), + 'SetDeterLightingBehavior': grpc.unary_unary_rpc_method_handler( + servicer.SetDeterLightingBehavior, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightingBehaviorRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetDeterLightingBehaviorResponse.SerializeToString, + ), + 'SetSpotlightFollow': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightFollow, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightFollowRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightFollowResponse.SerializeToString, + ), + 'SetSpotlightOnSunsetToSunrise': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightOnSunsetToSunrise, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightOnSunsetToSunriseRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightOnSunsetToSunriseResponse.SerializeToString, + ), + 'SetSpotlightNightLight': grpc.unary_unary_rpc_method_handler( + servicer.SetSpotlightNightLight, + request_deserializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightNightLightRequest.FromString, + response_serializer=vivintpy_dot_proto_dot_beam__pb2.SetSpotlightNightLightResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'beam.Beam', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Beam(object): + """usage: + Compiled by 'protoc -I=. --go_out=plugins=grpc:. --python_out=. --cpp_out=./cpp beam.proto' + for ios: + protoc -I=. --plugin=protoc-gen-grpc=/usr/local/bin/grpc_objective_c_plugin --objc_out=objc --grpc_out=objc beam.proto + + """ + + @staticmethod + def Ping(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/Ping', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeviceName(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeviceName', + vivintpy_dot_proto_dot_beam__pb2.SetDeviceNameRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeviceNameResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCameraTechnicalInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetCameraTechnicalInfo', + vivintpy_dot_proto_dot_beam__pb2.GetCameraTechnicalInfoRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetCameraTechnicalInfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCameraSettings(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetCameraSettings', + vivintpy_dot_proto_dot_beam__pb2.GetCameraSettingsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetCameraSettingsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetPanelSettings(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetPanelSettings', + vivintpy_dot_proto_dot_beam__pb2.GetPanelSettingsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetPanelSettingsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetCameraPrivacyMode(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetCameraPrivacyMode', + vivintpy_dot_proto_dot_beam__pb2.SetCameraPrivacyModeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetCameraPrivacyModeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AdjustCameraToXyz(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/AdjustCameraToXyz', + vivintpy_dot_proto_dot_beam__pb2.AdjustCameraToXyzRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.AdjustCameraToXyzResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetCameraPlaybackEnabled(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetCameraPlaybackEnabled', + vivintpy_dot_proto_dot_beam__pb2.SetCameraPlaybackEnabledRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetCameraPlaybackEnabledResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDetectionWindows(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDetectionWindows', + vivintpy_dot_proto_dot_beam__pb2.SetDetectionWindowsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDetectionWindowsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetChimeVolume(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetChimeVolume', + vivintpy_dot_proto_dot_beam__pb2.SetChimeVolumeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetChimeVolumeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetChimeMute(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetChimeMute', + vivintpy_dot_proto_dot_beam__pb2.SetChimeMuteRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetChimeMuteResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetVideoQuality(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetVideoQuality', + vivintpy_dot_proto_dot_beam__pb2.SetVideoQualityRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetVideoQualityResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNightVision(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNightVision', + vivintpy_dot_proto_dot_beam__pb2.SetNightVisionRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNightVisionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetIRLED(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetIRLED', + vivintpy_dot_proto_dot_beam__pb2.SetIRLEDRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetIRLEDResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRotateImage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRotateImage', + vivintpy_dot_proto_dot_beam__pb2.SetRotateImageRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRotateImageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetMaintainZoom(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetMaintainZoom', + vivintpy_dot_proto_dot_beam__pb2.SetMaintainZoomRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetMaintainZoomResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetStatusLight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetStatusLight', + vivintpy_dot_proto_dot_beam__pb2.SetStatusLightRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetStatusLightResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetAudioRecording(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetAudioRecording', + vivintpy_dot_proto_dot_beam__pb2.SetAudioRecordingRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetAudioRecordingResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDoorbellChime(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDoorbellChime', + vivintpy_dot_proto_dot_beam__pb2.SetDoorbellChimeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDoorbellChimeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDoorbellMuted(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDoorbellMuted', + vivintpy_dot_proto_dot_beam__pb2.SetDoorbellMutedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDoorbellMutedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetVisitorChime(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetVisitorChime', + vivintpy_dot_proto_dot_beam__pb2.SetVisitorChimeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetVisitorChimeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetPackageChime(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetPackageChime', + vivintpy_dot_proto_dot_beam__pb2.SetPackageChimeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetPackageChimeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetUseAsDoorbellChimeExtender(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetUseAsDoorbellChimeExtender', + vivintpy_dot_proto_dot_beam__pb2.SetUseAsDoorbellChimeExtenderRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetUseAsDoorbellChimeExtenderResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetExtendSiren(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetExtendSiren', + vivintpy_dot_proto_dot_beam__pb2.SetExtendSirenRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetExtendSirenResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetQuietMode(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetQuietMode', + vivintpy_dot_proto_dot_beam__pb2.SetQuietModeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetQuietModeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAnalyticsOptIn(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetAnalyticsOptIn', + vivintpy_dot_proto_dot_beam__pb2.GetAnalyticsOptInRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetAnalyticsOptInResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetAnalyticsOptIn(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetAnalyticsOptIn', + vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsOptInRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsOptInResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnPersonDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnPersonDetected', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnLurkerDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnLurkerDetected', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnPackageSeen(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnPackageSeen', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnPackageMoved(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnPackageMoved', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnVehicleSeen(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnVehicleSeen', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnAnimalSeen(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnAnimalSeen', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnDeter(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnDeter', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnDoorbellPress(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnDoorbellPress', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetNotifyOnVehicleLeaving(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetNotifyOnVehicleLeaving', + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetNotifyOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RestoreDefaults(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/RestoreDefaults', + vivintpy_dot_proto_dot_beam__pb2.RestoreDefaultsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.RestoreDefaultsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RebootCamera(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/RebootCamera', + vivintpy_dot_proto_dot_beam__pb2.RebootCameraRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.RebootCameraResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteAllEvents(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/DeleteAllEvents', + vivintpy_dot_proto_dot_beam__pb2.DeleteAllEventsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.DeleteAllEventsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteCamera(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/DeleteCamera', + vivintpy_dot_proto_dot_beam__pb2.DeleteCameraRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.DeleteCameraResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetCameraListOrder(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetCameraListOrder', + vivintpy_dot_proto_dot_beam__pb2.SetCameraListOrderRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetCameraListOrderResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetLurkerDeter(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetLurkerDeter', + vivintpy_dot_proto_dot_beam__pb2.SetLurkerDeterRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetLurkerDeterResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSmartSentrySnooze(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSmartSentrySnooze', + vivintpy_dot_proto_dot_beam__pb2.SetSmartSentrySnoozeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSmartSentrySnoozeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetPackageWatch(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetPackageWatch', + vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetAnimalBoundary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetAnimalBoundary', + vivintpy_dot_proto_dot_beam__pb2.SetAnimalBoundaryRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetAnimalBoundaryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetPackageBoundary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetPackageBoundary', + vivintpy_dot_proto_dot_beam__pb2.SetPackageBoundaryRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetPackageBoundaryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetVehicleBoundary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetVehicleBoundary', + vivintpy_dot_proto_dot_beam__pb2.SetVehicleBoundaryRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetVehicleBoundaryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetPropertyBoundary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetPropertyBoundary', + vivintpy_dot_proto_dot_beam__pb2.SetPropertyBoundaryRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetPropertyBoundaryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterBoundary(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterBoundary', + vivintpy_dot_proto_dot_beam__pb2.SetDeterBoundaryRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterBoundaryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterSchedule(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterSchedule', + vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterScheduleV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterScheduleV2', + vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleV2Request.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterScheduleV2Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterAggressionLevel(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterAggressionLevel', + vivintpy_dot_proto_dot_beam__pb2.SetDeterAggressionLevelRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterAggressionLevelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterLightColor(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterLightColor', + vivintpy_dot_proto_dot_beam__pb2.SetDeterLightColorRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterLightColorResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterLightPattern(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterLightPattern', + vivintpy_dot_proto_dot_beam__pb2.SetDeterLightPatternRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterLightPatternResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterOverride(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterOverride', + vivintpy_dot_proto_dot_beam__pb2.SetDeterOverrideRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterOverrideResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetLingerDuration(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetLingerDuration', + vivintpy_dot_proto_dot_beam__pb2.SetLingerDurationRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetLingerDurationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetPanelLogin(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetPanelLogin', + vivintpy_dot_proto_dot_beam__pb2.GetPanelLoginRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetPanelLoginResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDeviceOnboarding(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetDeviceOnboarding', + vivintpy_dot_proto_dot_beam__pb2.GetDeviceOnboardingRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetDeviceOnboardingResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeviceOnboarding(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeviceOnboarding', + vivintpy_dot_proto_dot_beam__pb2.SetDeviceOnboardingRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeviceOnboardingResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetCaptureClipOnMotion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetCaptureClipOnMotion', + vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetCaptureClipOnDoorbellRing(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetCaptureClipOnDoorbellRing', + vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetCaptureClipOnVisitor(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetCaptureClipOnVisitor', + vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetCaptureClipOnResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordOnDeter(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordOnDeter', + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnDeterRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnDeterResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordOnPersonDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordOnPersonDetected', + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPersonDetectedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPersonDetectedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordOnPackageDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordOnPackageDetected', + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPackageDetectedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnPackageDetectedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordOnLurkerDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordOnLurkerDetected', + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnLurkerDetectedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnLurkerDetectedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordOnAnimalDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordOnAnimalDetected', + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnAnimalDetectedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnAnimalDetectedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordOnVehicleDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordOnVehicleDetected', + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnVehicleDetectedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordOnVehicleDetectedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetRecordForRegions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetRecordForRegions', + vivintpy_dot_proto_dot_beam__pb2.SetRecordForRegionsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetRecordForRegionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetAnalyticsSensitivity(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetAnalyticsSensitivity', + vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsSensitivityRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetAnalyticsSensitivityResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PreviewChime(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/PreviewChime', + vivintpy_dot_proto_dot_beam__pb2.PreviewChimeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.PreviewChimeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetPackageDeliveryLocations(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetPackageDeliveryLocations', + vivintpy_dot_proto_dot_beam__pb2.SetPackageDeliveryLocationsRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetPackageDeliveryLocationsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDoorbellPosition(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDoorbellPosition', + vivintpy_dot_proto_dot_beam__pb2.SetDoorbellPositionRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDoorbellPositionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetDynamicChimes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetDynamicChimes', + vivintpy_dot_proto_dot_beam__pb2.GetDynamicChimesRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetDynamicChimesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDynamicChime(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDynamicChime', + vivintpy_dot_proto_dot_beam__pb2.SetDynamicChimeRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDynamicChimeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetPackageWatchState(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetPackageWatchState', + vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchStateRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetPackageWatchStateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetUserRole(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetUserRole', + vivintpy_dot_proto_dot_beam__pb2.SetUserRoleRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetUserRoleResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetClipSharingLink(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetClipSharingLink', + vivintpy_dot_proto_dot_beam__pb2.GetClipSharingLinkRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetClipSharingLinkResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PanelKillWiFiNetwork(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/PanelKillWiFiNetwork', + vivintpy_dot_proto_dot_beam__pb2.PanelKillWiFiNetworkRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PanelRefreshSSIDList(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/PanelRefreshSSIDList', + vivintpy_dot_proto_dot_beam__pb2.PanelRefreshSSIDListRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def StartCameraWifiConnect(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/StartCameraWifiConnect', + vivintpy_dot_proto_dot_beam__pb2.StartCameraWifiConnectRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.StartCameraWifiConnectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AddCameraToHub(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/AddCameraToHub', + vivintpy_dot_proto_dot_beam__pb2.AddCameraToHubRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReportVideoFailed(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/ReportVideoFailed', + vivintpy_dot_proto_dot_beam__pb2.ReportVideoFailedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.ReportVideoFailedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RequestCameraThumbnail(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/RequestCameraThumbnail', + vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCameraThumbnailUrl(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetCameraThumbnailUrl', + vivintpy_dot_proto_dot_beam__pb2.CameraThumbnailRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetHistoryClipURL(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetHistoryClipURL', + vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetLegacyHistoryClipURL(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/GetLegacyHistoryClipURL', + vivintpy_dot_proto_dot_beam__pb2.GetLegacyHistoryClipURLRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.GetHistoryClipURLResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AssociateDvr(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/AssociateDvr', + vivintpy_dot_proto_dot_beam__pb2.AssociateDvrRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.AssociateDvrResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightZones(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightZones', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightZonesRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightZonesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightBrightness(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightBrightness', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightBrightnessRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightBrightnessResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ToggleFloodlight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/ToggleFloodlight', + vivintpy_dot_proto_dot_beam__pb2.ToggleFloodlightRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.ToggleFloodlightResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightLightOnPersonDetected(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightLightOnPersonDetected', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightLightOnPersonDetectedRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightLightOnPersonDetectedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightCalibration(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightCalibration', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightCalibrationRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightCalibrationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetDeterLightingBehavior(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetDeterLightingBehavior', + vivintpy_dot_proto_dot_beam__pb2.SetDeterLightingBehaviorRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetDeterLightingBehaviorResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightFollow(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightFollow', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightFollowRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightFollowResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightOnSunsetToSunrise(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightOnSunsetToSunrise', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightOnSunsetToSunriseRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightOnSunsetToSunriseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetSpotlightNightLight(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/beam.Beam/SetSpotlightNightLight', + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightNightLightRequest.SerializeToString, + vivintpy_dot_proto_dot_beam__pb2.SetSpotlightNightLightResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/vivintpy/vivintskyapi.py b/vivintpy/vivintskyapi.py index bfa20a6..9995b1c 100644 --- a/vivintpy/vivintskyapi.py +++ b/vivintpy/vivintskyapi.py @@ -9,6 +9,7 @@ import aiohttp import certifi +import grpc from aiohttp import ClientResponseError from aiohttp.client import _RequestContextManager @@ -24,10 +25,12 @@ VivintSkyApiError, VivintSkyApiMfaRequiredError, ) +from .proto import beam_pb2, beam_pb2_grpc _LOGGER = logging.getLogger(__name__) VIVINT_API_ENDPOINT = "https://www.vivintsky.com/api" +VIVINT_BEAM_ENDPOINT = "beam.vivintsky.com:443" VIVINT_MFA_ENDPOINT = ( "https://www.vivintsky.com/platform-user-api/v0/platformusers/2fa/validate" ) @@ -174,6 +177,35 @@ async def trigger_alarm(self, panel_id: int, partition_id: int) -> None: _LOGGER.error("Failed to trigger alarm for panel %s", panel_id) raise VivintSkyApiError("Failed to trigger alarm") + async def set_camera_as_doorbell_chime_extender( + self, panel_id: int, device_id: int, state: bool + ) -> None: + """Set the camera to be used as a doorbell chime extender.""" + creds = grpc.ssl_channel_credentials() + metad = [ + ( + "session", + self.__client_session.cookie_jar.filter_cookies(VIVINT_API_ENDPOINT) + .get("s") + .value, + ) + ] + + async with grpc.aio.secure_channel( + VIVINT_BEAM_ENDPOINT, credentials=creds + ) as channel: + stub: beam_pb2_grpc.BeamStub = beam_pb2_grpc.BeamStub(channel) # type: ignore + response: beam_pb2.SetUseAsDoorbellChimeExtenderResponse = await stub.SetUseAsDoorbellChimeExtender( + beam_pb2.SetUseAsDoorbellChimeExtenderRequest( # pylint: disable=no-member + panel_id=panel_id, + device_id=device_id, + use_as_doorbell_chime_extender=state, + ), + metadata=metad, + ) + + _LOGGER.debug("Response received: %s", str(response)) + async def set_garage_door_state( self, panel_id: int, partition_id: int, device_id: int, state: int ) -> None: