All Projects → dmitry-k → Yandex_smart_home

dmitry-k / Yandex_smart_home

Adds support for Yandex Smart Home (Alice voice assistant) into Home Assistant

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Yandex smart home

yandex-translate-api
A simple REST client library for Yandex.Translate
Stars: ✭ 29 (-90.79%)
Mutual labels:  yandex
kodi.plugin.yandex-music
Yandex Music plugin for Kodi
Stars: ✭ 33 (-89.52%)
Mutual labels:  yandex
YmlGenerator
YML (Yandex Market Language) file generator
Stars: ✭ 96 (-69.52%)
Mutual labels:  yandex
artefactory-connectors-kit
ACK is an E(T)L tool specialized in API data ingestion. It is accessible through a Command-Line Interface. The application allows you to easily extract, stream and load data (with minimum transformations), from the API source to the destination of your choice.
Stars: ✭ 34 (-89.21%)
Mutual labels:  yandex
js-new-features
Новые возможности JavaScript — ШРИ 2018
Stars: ✭ 19 (-93.97%)
Mutual labels:  yandex
TgTranslator
Telegram bot that removes language barrier between people in groups
Stars: ✭ 32 (-89.84%)
Mutual labels:  yandex
appmetrica-logsapi-loader
A tool for automatic data loading from AppMetrica LogsAPI into (local) ClickHouse
Stars: ✭ 18 (-94.29%)
Mutual labels:  yandex
Vue Yandex Map
Yandex Maps Component for VueJS
Stars: ✭ 285 (-9.52%)
Mutual labels:  yandex
vue-yandex-metrika
Vue plugin for Yandex Metrika
Stars: ✭ 64 (-79.68%)
Mutual labels:  yandex
SearchScraperAPI
Aiohttp web server API, which scrapes Google and returns scrape results as response. Supports proxies, multiple geos and number of results.
Stars: ✭ 31 (-90.16%)
Mutual labels:  yandex
passport-yandex
Yandex authentication strategy for Passport and Node.js.
Stars: ✭ 19 (-93.97%)
Mutual labels:  yandex
safe-search
Sets the built-in adult content filter (most often: safe search) on Google, YouTube, Bing, Yahoo, DuckDuckGo, Startpage, Dogpile, Yandex, Vimeo, Reddit, Ecosia, Dailymotion, Qwant, and Patreon.
Stars: ✭ 16 (-94.92%)
Mutual labels:  yandex
YandexTransportProxy
Proxy server for Yandex Transport API methods.
Stars: ✭ 15 (-95.24%)
Mutual labels:  yandex
yandex-dialogs-php-sdk
PHP-библиотека для облегчения работы с диалогами от Яндекс
Stars: ✭ 23 (-92.7%)
Mutual labels:  yandex
Web Archives
Browser extension for viewing archived and cached versions of web pages
Stars: ✭ 263 (-16.51%)
Mutual labels:  yandex
yandex-direct-api
PHP library for Yandex.Direct API v5 (abandoned)
Stars: ✭ 12 (-96.19%)
Mutual labels:  yandex
omniauth-yandex
Omniauth 1.0 strategy for Yandex.ru
Stars: ✭ 19 (-93.97%)
Mutual labels:  yandex
Translators
🌏🌍🌎Translators🌎🌍🌏 is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python. Translators是一个旨在用Python为个人和学生带来免费、多样、愉快翻译的库。
Stars: ✭ 295 (-6.35%)
Mutual labels:  yandex
React Yandex Maps
Yandex Maps API bindings for React
Stars: ✭ 277 (-12.06%)
Mutual labels:  yandex
tapi-yandex-direct
Python библиотека API Яндекс Директ
Stars: ✭ 35 (-88.89%)
Mutual labels:  yandex

hacs_badge

Yandex Smart Home custom component for Home Assistant

Installation

  1. Configure SSL certificate if it was not done already (do not use self-signed certificate)
  2. Update home assistant to 0.112.0 at least
  3. Install HACS and search for "Yandex Smart Home" there. That way you get updates automatically. But you also can just copy and add files into custom_components directory manually instead
  4. Configure component via configuration.yaml (see instructions below)
  5. Restart home assistant
  6. Create dialog via https://dialogs.yandex.ru/developer/
  7. Add devices via your Yandex app on android/ios

Configuration

Now add the following lines to your configuration.yaml file:

# Example configuration.yaml entry
yandex_smart_home:
  settings:
    pressure_unit: mmHg
  filter:
    include_domains:
      - switch
      - light
    include_entities:
      - media_player.tv
      - media_player.tv_lg
      - media_player.receiver
    exclude_entities:
      - light.highlight
  entity_config:
    switch.kitchen:
      name: CUSTOM_NAME_FOR_YANDEX_SMART_HOME
    light.living_room:
      room: LIVING_ROOM
    media_player.tv_lg:
      channel_set_via_media_content_id: true
    fan.xiaomi_miio_device:
      name: "Увлажнитель"
      room: LIVING_ROOM
      type: devices.types.humidifier
      properties:
        - type: temperature
          entity: sensor.temperature_158d000444c824
        - type: humidity
          attribute: humidity
        - type: water_level
          attribute: depth
    climate.tion_breezer:
      name: "Проветриватель"
      modes:
        fan_speed:
          auto: [auto]
          min: [1,'1.0']
          low: [2,'2.0']
          medium: [3,'3.0']
          high: [4,'4.0']
          turbo: [5,'5.0']
          max: [6,'6.0']
    media_player.receiver:
      type: devices.types.media_device.receiver
      relative_volume_only: false
      range:
        max: 95
        min: 20
        precision: 2
    humidifier.bedroom:
      modes:
        program:
          normal:
            - normal
          eco:
            - away
      properties:
        - type: temperature
          entity: sensor.bedroom_temperature
        - type: humidity
          entity: sensor.bedroom_humidity
        - type: water_level
          entity: sensor.humidifier_level

Configuration variables:

yandex_smart_home:
  (map) (Optional) Configuration options for the Yandex Smart Home integration.

  settings:
    (map) (Optional) Various settings that affect this integration.
    pressure_unit:
      (string) (Optional) Pressure unit to use when exposing pressure entities, available units: pa, mmHg (default), atm, bar
      Value conversion is done automatically from 'hPa' or 'mbar' that Home Assistant supports.

  filter:
    (map) (Optional) description: Filters for entities to include/exclude from Yandex Smart Home.
    include_entities:
      (list) (Optional) description: Entity IDs to include.
    include_domains:
      (list) (Optional) Domains to include.
    exclude_entities:
      (list) (Optional) Entity IDs to exclude.
    exclude_domains:
      (list) (Optional) Domains to exclude.

  entity_config:
    (map) (Optional) Entity specific configuration for Yandex Smart Home.
    ENTITY_ID:
      (map) (Optional) Entity to configure.
      name:
        (string) (Optional) Name of entity to show in Yandex Smart Home.
      room:
        (string) (Optional) Associating this device to a room in Yandex Smart Home
      type:
        (string) (Optional) Allows to force set device type. For example set devices.types.purifier to display device as purifier (instead default devices.types.humidifier for such devices) 
      channel_set_via_media_content_id:
        (boolean) (Optional) (media_player only) Enables ability to set channel
         by number for 
        part of TVs (TVs that support channel change via passing number as media_content_id)
      relative_volume_only:
        (boolean) (Optional) (media_player only) Force disable ability to get/set volume by number
      properties:
        - type:
            (string) (Optional) Sensor type, available types: humidity, temperature, pressure, water_level, co2_level, power, voltage, battery_level, amperage
          entity:
            (string) (Optional) Custom entity, any sensor can be added 
          attribute:
            (string) (Optional) Attribute of an object to receive data
      range: (Optional)
        max:
          (float) (Optional) Range Maximum
        min:
          (float) (Optional) Range Minimum
        precision:
          (float) (Optional) Range Precision (adjustment step)
      modes:
        (map) (Optional) Map of yandex mode functions (https://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/mode-instance-docpage/)
        fan_speed|cleanup_mode|program:
          (map) (Optional) Map of yandex modes (https://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/mode-instance-modes-docpage/) to HA modes.
          yandex_mode1:
            - ha_mode1
          yandex_mode2: [ha_mode2, ha_mode2b]

Available domains

The following domains are available to be used:

  • climate (on/off, temperature, mode, fan speed) (properties: temperature , humidity)
  • cover (on/off = close/open)
  • fan (on/off, fan speed, oscillation)
  • group (on/off)
  • input_boolean (on/off)
  • scene (on/off)
  • script (on/off)
  • light (on/off, brightness, color, color temperature)
  • media_player (on/off, mute/unmute, volume, input_source, pause/unpause, channels: up/down as prev/next track, get/set media_content_id via channel number for part of TVs(enabled via extra option "channel_set_via_media_content_id: true" in entity configurations))
  • switch (on/off)
  • vacuum (on/off, pause/unpause, clean speed) (properties: battery)
  • water_heater (on/off, temperature)
  • lock (on/off = lock/unlock)
  • sensor (properties: temperature, humidity, pressure)
  • humidifier (on/off, mode, target humidity)

Room/Area support

Entities that have not got rooms explicitly set and that have been placed in Home Assistant areas will return room hints to Yandex Smart Home with the devices in those areas.

Create Dialog

Go to https://dialogs.yandex.ru/developer/ and create smart home skill.

Field Value
Endpoint URL https://[YOUR HOME ASSISTANT URL:PORT]/api/yandex_smart_home

For account linking use button at the bottom of skill settings page, fill it using values like below:

Field Value
Client identifier https://social.yandex.net/
API authorization endpoint https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize
Token Endpoint https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
Refreshing an Access Token https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].