Native HomeKit ключ за лампа и/или вентилатор използвайки Sonoff T1

Днес ще ви покажа как да си направите лампите и вентилатора (в банята например) смарт.

Например, аз съм настроил моят с единият бутон да управлявам лампата директно, докато с другия мога да включа вентилатора за определено време, а при задържане - включвам бойлера си. Всичко това може да се настрои в Home приложението и ще ви покажа как и вие да постигнете това.

Ще използваме Sonoff T1. с две релета, но процесът е същият за всички версии на устройството, както и за други Wi-Fi релета като Shelly, стига те да използват ESP8266 чипът.

Препрадки: Flash режим / конфигурационни JSON низове / Добавяне в Home приложението / Да направим “умният” ключ по-умен

Да започнем

Можем лесно да отворими кутията на устройството по този начин. След като отворите устройството, разделете горната част от долната част на платката.

Sonoff устройствата имат свой собствен софтуер и ако искате да ги използвате с HomeKit, то трябва да се смени въпросният софтуер.

Сменяне на софтуера на ESP

Следващата част съм покрил в друго видео, затова моля гледайте него първо и после продължете със следващите стъпки. Ще го покрия набързо и тук.

Какво ще е нужно?

  1. USB-to-Serial/TTL Adapter - Amazon / AliExpress
  2. Device
  3. Software

Това е платката, с която ще работим. Можем лесно да се свържем без запояване.

Sonoff T1 with ESP8266 Board Overview

Свързване с ESP за смяна на софтуер

Свържете TTL Adapter-а към ESP устройството така:

USB Serial - ESP Device
       GND -> GND
        TX -> RX
        RX -> TX
      3.3V -> 3V3

След това, отворете софтуера за flash-ване и го подгответе.

Flash режим

За да вкараме платката в режим на flash-ване, без което не можем да сменим софтуера ѝ, първо, излючете адаптера от компютъра си. След това, ще използвам кабел, който бе в комплект с мултицета ми.

Трябва да свържем GND към пин именован R19, докато устройстово се включва.

Sonoff T1 with ESP8266 Flash mode

Аз ще задържа кабела с една ръка, докато с другата свързвам серийният адаптер към компютъра, като докато го правя, внимавам да не се прекъсва сеийната връзка с платката.

Дръжте свързано за 5 - 10 секунди след включването на устройството.

След това, платката би трябвало да не реаргира и можем да продължим натискайки Flash на компютъра.

Когато сменянето на софтуера е завършено, рестартирайте платката, като я включите и изключите.

За първоначалната настройка, устройството ще влезе в т.нар. AP режим и можем да се свържем с него чрез Wi-Fi.

Или поне би трябвало…

Добре. Свързани сме с Wi-Fi хотспота на устройството, но страницата с настройки не зарежда.

Ако имате същия проблем, просто отворете нов таб в браузъра си и заредете следния адрес: http://192.168.4.1:4567

Конфигурационни JSON низове за HAA

Сега вече можем да продължим с настройката, залагайки конфигурационен JSON.

Качил съм няколко варианта за настройка, като вие преценете кое би ви свършило най-добра работа.

Sonoff T1 / TX (1 бутон) 1

Обикновен ключ управляван директно с бутона:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]}]}

Switch with seperate accessory for programmable button, button not controlling relay directly:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]}},{"t":3,"f0":[{"g":0,"t":1}],"f1":[{"g":0,"t":2}],"f2":[{"g":0,"t":3}]}]}

Sonoff T1 / TX (2 бутона) 2

Обикновенни ключове управлявани директно с бутоните:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]},"b":[{"g":9}]}]}

Бутон 1 управлява директно реле 1, бутон 2 като отделен програмеруем HomeKit бутон, реле 2, като ключ в HomeKit:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]}},{"t":3,"f0":[{"g":9,"t":1}],"f1":[{"g":9,"t":2}],"f2":[{"g":9,"t":3}]}]}

Бутон 2 управлява директно реле 2, бутон 1 като отделен програмеруем HomeKit бутон, реле 1, като ключ в HomeKit:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]}},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]},"b":[{"g":9}]},{"t":3,"f0":[{"g":0,"t":1}],"f1":[{"g":0,"t":2}],"f2":[{"g":0,"t":3}]}]}

Ключове с програмеруеми бутони, като релетата не се управляват от бутоните директно:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]}},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]}},{"t":3,"f0":[{"g":0,"t":1}],"f1":[{"g":0,"t":2}],"f2":[{"g":0,"t":3}]},{"t":3,"f0":[{"g":9,"t":1}],"f1":[{"g":9,"t":2}],"f2":[{"g":9,"t":3}]}]}

Sonoff T1 / TX (3 бутона) 3

Обикновенни ключове управлявани директно с бутоните:

{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]},{"0":{"r":[{"g":5}]},"1":{"r":[{"g":5,"v":1}]},"b":[{"g":9}]},{"0":{"r":[{"g":4}]},"1":{"r":[{"g":4,"v":1}]},"b":[{"g":10}]}]}

След това, свържете устройството с домашната си мрежа и кликнете Save.

Устройството след това ще започне да тегли последната версия на софтуера, затова бъдете търпеливи и му дайте поне 5 минути.

Устройството би трябвало да не реаргира в този си режим.

Добавяне в Home приложението

След като е завършило настройката си, можем да продължим като го добавим в HomeKit в Home приложението.

За тази цел:

  1. отворете Home приложението и натиснете на бутона +, след което
  2. Add Accessory
  3. Насочете камерата си към някоя от графиките отдолу:

HomeKit Pairing QR

HomeKit Pairing Image

Сега можете да го настроите да бъде Лампа, Вентилатор или кактово си решите.

Този firmware също поддържа безжични ъпдейти и няма да е нужно да отваряте физически устройствата, за да ги обновите.

Свързване и монтиране на Sonoff T1/TX

Wiring for Sonoff T1

Повечето ключове нямат прекарана нула, както при мен, затова съм взел нула от близък контакт.

Ако не можете да си подсигурите нула към ключа, друг вариант е да използвате Sonoff T4EU1C, който може да работи и без нула.

Скоро ще направя видео и за този модел, но процедурата би трябвало да е същата.

Когато работите с високо напрежение, винаги изключвайте бушона и се подсигурете, че няма ток там, където работите.

Също е добра практика да слагате накрайници на жиците за по-сигурна връзка.

След като го свържете, включете тока и проверете дали работи добре.

Ако всичко е наред, изключете тока отново и го монтирайте.

Имайте впредвид, че Sonoff T1 има релета от само 2А, което техничеки издържа към 440W, но не е добре да слагате повече от 300W консуматори на тях.

А сега ще ви покажа как да извлечете повече полза от “умен” ключ.

Да направим “умният” ключ по-умен (или поне по-полезен)

За тази стъпка е нужно да отворите IP адреса или hostname-а на устройството.

The hostname is the http://[default device name].local or http://[default device name].lan, depending on your network configuration.

Hostname-а е http://[името на устройството по подразбиране].local or http://[името на устройството по подразбиране].lan, според зависи мрежовите ви настройки.

Също така, можете да откриете IP адресът му в настройките на рутера си или използвайки приложение като Fing.

За да са достъпни тези настройки, е нужно да вкараме устройството в т.нар. Setup режим. По подразбиране, за да направим това е нужно да включите и изключите устройството бързо 7 пъти.

Когато устройството е в Setup режим, то би трябвало да не реаргира.

След това можете да сложите всеки от останалите JSON конфигурации, които съм изброил или да въведете своя.

Просто заместете старият и натиснете Save.

Този, който поставям ще ни даде 2-та ключа, които очакваме, но бутоните ще се добавят като отделни устройства.

С тази конфигурация, можем да програмираме бутоните да правят и други неща при двойно кликване или задържане.

Използвайки програмеруеми бутони в HomeKit създава леко забавяне, защото управлението се извършва от HomeKit хъб-ът, вместо локално на самият ключ. Ползата е, че можете да програмирате бутона да прави каквото решите, дори и по-сложни автоматизации.

Например, аз съм настроил моят с единият бутон да управлявам лампата директно, докато с другия мога да включа вентилатора за определено време, а при задържане - включвам бойлера си. Всичко това може да се настрои в Home приложението.

За финал

Ако изпитвате затруднения или проблеми, може да потърсите отговор или решение тук - Frequently Asked Questions for HomeKit Accessory Achitect (FAQ) или се присъединете в Discord и ще решим проблема. :)

Надявам се, че съм ви бил от полза. Абонирайте се за да не изпуснете следващите ми видеа за smart home и други open-source проекти.

Пазете се и бъдете smarty! :)

Flash-ването на устройството следвайки интрукциите, Вие го правите на своя отговорност! Отварянето на някои устройства може да развали гаранцията им. Също така, flash-вайки друг софтуер, вие премахвате фабричният такъв и ако искате да го върнете обратно трябва да го flash-нете ръчно по подобен начин.

  1. Relay1: GPIO12, Button1: GPIO0 

  2. Relay1: GPIO12, Button1: GPIO0, Relay2: GPIO5, Button2: GPIO9 

  3. Relay1: GPIO12, Button1: GPIO0, Relay2: GPIO5, Button2: GPIO9, Relay3: GPIO4, Button3: GPIO10