Rumah pintar tanpa remote, tetapi dengan kubus

Masalah



Selama perbaikan apartemen baru, saya kembali ke apartemen di mana saya tidak tinggal selama 10 tahun dan memutuskan untuk mempraktikkan disiplin "Rumah Pintar" untuk melengkapi apartemen baru dengan pengetahuan tentang masalah tersebut. Peralatan di apartemen ini juga bukan yang paling cerdas dan bukan yang terbaru, karena diproduksi ~ 10 tahun yang lalu. Terutama di apartemen saya terganggu oleh banyaknya remote inframerah, mereka hilang dan mengisi otak dengan pilihan yang tepat. Sampai baru-baru ini, diputuskan untuk membuat sejumlah besar tombol yang tidak digunakan pada kendali jarak jauh. Dan konsol tidak estetika atau higienis, beberapa sudut, yang lain dengan tepi bulat, tombol menguning, dan sisa-sisa kehidupan penduduk di mana "biocenosis sub-tombol" terbentuk menumpuk di dalamnya. Akibatnya, selusin remote tersebar di sekitar rumah dengan banyak tombol yang tidak perlu, untuk operasi sederhana saya harus mencari dua atau tiga bagian, tampilan mereka menggaruk mata saya,Saya menginginkan sentuhan suara yang nyaman dan modis.



, . . xiaomi Xiaomi universal IR remotecontroller Xiaomi Mi Smart Home Magic Cube, Xiaomi smart home gateway 2





, , IR , โ€” ZigBee . , , .


, , xiaomi, , Mi Home โ€œโ€. , , . , . , , ( ) Mi Home 10 5 , 30 10 , , , 1 , . , ...


Masalah dari Cina tidak datang sendiri, kecuali untuk menggosok rem telah menjadi ketidakmampuan untuk memasang smart cube ke kontrol suara.


Kubus dikendalikan oleh gerakan:

  • Mengguncang
  • Pindah di pesawat
  • Putar 90/180 derajat di sekitar sumbu horizontal
  • Putar di sekitar sumbu vertikal
  • Dan sebagainya...



โ€” , , , , , 90 โ€” 10 , 45 โ€” 5 . , โ€” ZigBee, - , 3 .


Home Assistant, , , Xiaomi , ZigBee . Security token IR , Mi Home . xiaomi gateway , UART RX/TX Home Assistant.


Home Assistant sendiri perlu diluncurkan di suatu tempat, Synology DS718 + muncul di bawah tugas ini, yang digunakan sebagai pusat media DLNA dan unduhan torrent. Perangkat ini dapat menjalankan wadah Docker, dan sebuah wadah dengan Home Assistant dengan mudah berakhir di dalamnya. Home Assistant itu keren, tapi tidak seperti Mi Home, Anda harus menulis semua kecerdasan sebuah rumah di dalamnya dengan pena di yaml. Setelah menguasai DSL, Asisten Rumah mengerti dan meludah dari alat pemrograman lain yang tidak memerlukan pengetahuan tentang PL, saya berhasil memasak kruk dari bentuk yang diinginkan.



Kode Otomatisasi:
- id: volume_up
  alias: Volume naik
  pelatuk:
  - event_data:
      action_type: rotate
      entitas_id: binary_sensor.cube_0000000103ec74
    event_type: xiaomi_aqara.cube_action
    platform: acara
  kondisi:
    kondisi: template
    value_template: "{{trigger.event.data.action_value> 0}}"
  tindakan:
  - service_template: "script.bbk_vol_up _ {{(trigger.event.data.action_value / 3) | int}}"

Otomatisasi ini menangkap peristiwa rotasi searah jarum jam dan memanggil skrip yang namanya jumlah sinyal peningkatan suara yang harus dikirim oleh pemancar inframerah diganti. Seperti yang mungkin Anda tebak, setiap sudut rotasi memerlukan skrip sendiri, salin-tempel dipanggil untuk membuatnya, dan memberi saya 20 skrip seperti ini:


bbk_vol_up_10:
  urutan:
  - data:
      perintah:
      - bbk_vol_up
      delay_secs: 0,04
      num_repeats: 10
    entitas_id: remote.xiaomi_miio_192_168_2_62
    layanan: remote.send_command

Konfigurasi emitor dengan sinyal yang dicegat dari panel speaker terlihat seperti ini:
terpencil:
  - platform: xiaomi_miio
    host: 192.168.2.62
    token: 392cbed325e862ffff983c4575b7a6f2
    perintah:
      bbk_power:
        perintah: mentah: nE5m0wlk0msxmEsmszmEsm0wAHKaABkAoQAcAL1MZtOQEFmM3ARMCHwCymM2m4ENgXEAioHlgy + AwoL3gvYAh4L0gGGEBYLCAL0BR4CHhU4A + ww
      bbk_vol_up:
        perintah: mentah: nMwmUwlk0mk1mEsms3ADKbABlM5hLJtMAD2ALKazkAdgAymM3AYMBApjNgKTmgGLABuBD4IaAEKA1YJrgyuBDwJvgZeEx4C / geHMZxxxx
      bbk_vol_down:
        perintah: mentah: nE5m0wlk0msxmEsmszmEsm0wAHKaABkAoQAcAL1MZtOQEFmM3ARMCHwIfAdQBFZuAQYFfAfuBCoHngveEx4C / gL + Cj4R2ANfLJqAYU



Hore! Suara mengontrol putaran kubus di sekitar sumbu vertikal, dan TV dan speaker dihidupkan dengan memutar kubus 90 derajat di sekitar sumbu horizontal.

Home Assistant , , Google Assistant Home Assistant, . GA , . , . Ethernet , , IP , IP โ€” , . custom_component Home Assistant:


import logging
from homeassistant.helpers.entity import Entity
from pythonping import ping

logger = logging.getLogger(__name__)

def setup_platform(hass, config, add_entities, discovery_info=None):
    entities = []
    for name, ip in config['hosts'].items():
        entities.append(IPSensor(name, ip))

    add_entities(entities)

class IPSensor(Entity):
    def __init__(self, name, ip):
        self._name = name
        self._ip = ip
        self._state = None
        self._is_on = None

    @property
    def name(self):
        return self._name

    @property
    def state(self):
        return self._state

    @property
    def state_attributes(self):
        return {'ip_address': self._ip}

    @property
    def device_class(self):
        return 'connectivity'

    @property
    def is_on(self):
        return self._is_on

    def update(self):
        result = ping(self._ip, count=1, timeout=0.1)
        self._is_on = result.success()
        self._state = 'on' if result.success() else โ€˜off'

Kemudian hubungkan pemancar inframerah dengan sensor ke sakelar seperti ini:
beralih:
  - platform: template
    sakelar:
      toshiba_tv:
        value_template: "{{is_state ('binary_sensor.toshiba_tv', 'on')}}"
        nyalakan:
          layanan: script.toshiba_power
        matikan:
          layanan: script.toshiba_power

Dan saklar semacam itu mulai ditampilkan di Google Home dan dikendalikan dari suara.

Latihan PS dengan rumah pintar berhasil, pergi untuk membeli perangkat baru!
PPS A ZigBee hub sekarang karena alasan tertentu menerangi lorong ...

Dulu




Telah menjadi



All Articles