Minha experiência de criar uma casa “não inteligente”

Chegou a minha hora de compartilhar minha experiência de criar uma casa “sem uma casa inteligente”. Eu realmente não quero me envolver em polêmicas sobre o que é uma casa inteligente e o que ela deve ser capaz de fazer. No meu caso, vamos domar os módulos wifi Sonoff do ITEAD e aprender a ativar / desativar a "carga" do telefone. A publicação discutirá como atualizar um módulo, conectar um sensor de temperatura / umidade ao módulo e aprender como controlar o módulo por meio dos aplicativos HomeKit ("Home") e Siri. Adicione a tudo isso o sistema de gerenciamento doméstico inteligente Domoticz no raspberry pi. Adicione wifi à máquina de café e ensine a Siri a abrir o interfone.

Encomendei três módulos sonoff convencionais e um SV (Voltagem Segura) para teste. No momento do pedido, o habitual módulo 4,85 é sempre verde, por estoque, embora o estoque pareça perpétuo. SV a um preço semelhante de 4,85. Com a entrega na Ucrânia, o custo total foi de 26 verde. China e China na África, China, o dinheiro se foi e os bens ainda têm três semanas de espera, e talvez mais. Você certamente poderia comprar na Ucrânia e não esperar, mas depois um pouco mais caro.

As alegrias dos primeiros passos em direção a um lar “sem uma casa inteligente”


Quatro módulos vieram, os habituais são embalados em caixas e o SV está apenas em um saco antiestático. O caso e tamanho satisfeito.



Não descreverei o processo de instalação do software e-Welink nativo e de conexão do módulo à rede doméstica, instruções em qualquer idioma da Internet, aceite - eu não quero.

Sem pensar duas vezes, entramos no corredor e adicionamos este módulo à lâmpada do teto. O módulo é pequeno, há muito espaço na lâmpada. A luz geralmente permanece acesa no corredor e agora você pode desligar a luz na cama em frente à TV. O apartamento já foi reparado em todos os lugares e interruptores convencionais estão instalados. Não toque no reparo e use a fiação existente.

Acontece a seguinte lógica do trabalho:

- O interruptor está desligado, então o módulo também não funciona;
- O interruptor está ligado, então a luz pode ser desligada do aplicativo;
- O interruptor é ligado e a luz foi apagada através do aplicativo; em seguida, para acender a luz, é necessário desligar / ligar o interruptor, depois de definir o módulo “fonte de alimentação na seção” para ON (quando o módulo de relé é ligado, a luz acende).

Alegrai-vos.

O segundo módulo foi adicionado à lâmpada no quarto. Então a lâmpada não era tão espaçosa como no corredor. Eu tive que arquivar um pouco o estojo e reduzir / cortar o botão, ele não cabia na altura. Em seguida, o módulo fica bem escondido na lâmpada.

Nós refazemos o interruptor abaixo do botão


Os comutadores da série Schneider Unica estão instalados no apartamento. Você pode refazer essa troca colocando uma mola sob a chave e o local já foi preparado com antecedência.

Enquanto escrevem na Internet, você pode tentar a primavera usando canetas esferográficas. Minhas tentativas de instalar uma mola a partir de uma caneta esferográfica falharam. Uma mola muito fraca e falta de rigidez retornam a chave à sua posição original.

A mola Schneider original tem as seguintes características d = 3,6 mm, espessura do fio 0,6 mm, altura 10 mm. Eu não o segurei, não o encontrei à venda, encontrei informações sobre a primavera em um dos fóruns.

Depois de procurar na casa, uma mola semelhante foi encontrada, bastante elástica e adicionada com sucesso ao comutador. Sem gastar um centavo, obtemos um botão em vez de um botão.


Parece um interruptor com uma mola instalada.

Agora sempre temos o módulo com energia e em rede. Nas configurações definidas, quando a energia é aplicada ao módulo, o módulo altera o estado do relé.

A lógica do trabalho neste caso:

- no módulo sonoff sempre há energia, ligando e desligando a luz através da aplicação;
- pressionar o botão corta a energia e o relé muda de estado para o oposto.

Podemos controlar a carga no comutador e através do aplicativo. O aplicativo e o módulo nativos funcionam através de algum servidor chinês.

Sim, sim, eu sei, durante a noite há um salto / desconexão, ligando a tensão e a luz acende. Durante a operação do módulo, isso nunca aconteceu antes, mas moramos na Ucrânia e as manchetes estão cheias de promessas de apagões.

Na mesa está o terceiro módulo. Onde voce esta querido E nós estaremos escolhendo seu nativo e zombando!

Instalando firmware alternativo


Uma autópsia mostrou que o paciente morreu de uma autópsia, que há um local embaixo do pente por 5 pinos.



No botão do gabinete (3,3v Rx, Tx, GND, GPIO 14). Ferro de soldar na mão e conecte o adaptador usb-to-ttl. No meu adaptador usb-to-ttl há 3.3v, não tentei fornecer energia ao módulo de 5v e não o recomendo.

Em seguida é a parte do software. Há firmware para esses módulos no github. Agora, uma nova versão do firmware já apareceu. Que bom é esse firmware? Há controle da web, protocolo mqtt, OTA (Over the air) - firmware over the air. Quanto ao firmware nativo, o protocolo mqtt promete adicionar, o OTA também está lá, mas apenas por si próprio. A desvantagem do firmware nativo é que ele só funciona quando conectado à rede global. Por que precisamos disso? Nesse estágio, não é necessário ... especialmente porque não sabemos o que e para onde nosso módulo envia.

Instale o IDE do Arduino. Eu instalei a versão portátil 1.8.1. O firmware requer a versão IDE 1.6.10 ou superior.

- Adicione suporte para módulos ESP8266
- Instale o pubsubclient
○ Encontre o arquivo src \ PubSubClient.h e altere o valor de MQTT_MAX_PACKET_SIZE para 400 ou mais (agora as versões do Tasmot estão pedindo um valor de 500 ou superior).

Faça o download do esboço, compile-o com os dedos cruzados e espere que tudo corra bem. Este não foi o meu caso, lemos o erro e adicionamos as bibliotecas necessárias que não estavam lá. Algumas horas de tormento e firmware sem erros. (O principal problema foi que eu instalei o Arduino IDE no Win XP). Edite o arquivo de configuração e preencha nosso firmware.

Esses poucos mínimos que eu decidi em User_config.h.

User_config.h
#define PROJECT "bath" // -
#define STA_SSID1 "your_wifi_station_id" //
#define STA_PASS1 "your_pass" //
#define STA_SSID2 "your_wifi_station_id_plus" //
#define STA_PASS2 " " //

#define SYS_LOG_HOST "192.168.." // , raspberry pi,
//#define USE_I2C //
//#define USE_IR_REMOTE
//#define USE_WS2812


Dependendo da versão, podem ser adicionadas outras configurações que eu desativaria desnecessariamente. No firmware mais recente (Tasmota), mais e mais configurações podem ser feitas através do menu de configurações da web e duplicadas com User_config.h.

Preenchimento de esboço:


- desligue a energia do módulo (de qualquer maneira conveniente);
- segure o botão no módulo e conecte a energia. O módulo está pronto para receber firmware;
- clique em OK no IDE e novamente cruzando os dedos, esperamos que o firmware comece a ser carregado no módulo.

Em caso de erro, verificamos os fios e se tudo está estragado em todos os lugares, ou se não há energia suficiente de usb-para-ttl e precisamos usar uma fonte externa. Dançamos com um pandeiro e repetimos o procedimento.

Importante: a energia do módulo é fornecida apenas através de pinos de 3,3v. Ele não pode ser conectado à carga de energia através da fonte de alimentação do próprio módulo. Usuários experientes escrevem que fornecer 220v ao módulo com firmware o transforma em um tijolo, pequeno, mas em tijolo. Eu não tentei, não sei. Portanto, ao piscar o módulo, apenas quatro fios dos pinos estão conectados a ele e removemos todo o resto.

Se estiver tudo bem, após a reinicialização, o módulo deve se conectar ao ponto de acesso, encontre o endereço IP e vá para ele no navegador.


A aparência da página inicial.

Se o módulo não se conectar ao seu ponto de acesso, continue dançando com um pandeiro. Existem várias soluções, dentro da estrutura deste artigo, não descreverei. Eu verifiquei as configurações e apenas pisquei o módulo novamente.

Agora temos acesso via web ao módulo e suas configurações, mqtt, os fios podem ser colocados em uma gaveta, firmware / atualização feita por via aérea.

E onde está a Siri?


Tudo isso é certamente maravilhoso, é hora de aprender a gerenciar esse bem pelo telefone. Eu tentei vários programas do aplicativo para o iPhone e não obtive nada de interessante. Foi decidido explorar o aplicativo Home ou o HomeKit, que também possibilita o controle de módulos através do Siri.

Encontramos na prateleira Raspberry pi e nos conectamos à rede. No meu caso, já havia uma "framboesa" conectada à rede. Como instalar o sistema operacional e conectar as "framboesas" para descrevê-lo não faz sentido.

Para se comunicar com o HomeKit, você deve instalar o Homebridge. Homebridge é um servidor NodeJS em execução na rede local e emulando a API do iOS HomeKit.

 sudo apt-get update sudo apt-get upgrade sudo apt-get install git make sudo apt-get install g++ 

Dependendo do seu sistema, pode ser necessário atualizar o compilador C ++.

Instale o Nodejs. Vamos à loja e selecionamos a dist apropriada. Copie o endereço da distribuição e ainda mais na imagem

 wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv6l.tar.gz tar -xvf node-v4.0.0-linux-armv6l.tar.gz cd node-v4.0.0-linux-armv6l sudo cp -R * /usr/local/ 

Eu instalei a v6.9.4 para mim, agora existem mais novas.

Adicione outros pacotes necessários:

 sudo apt-get install libavahi-compat-libdnssd-dev 

Instale o Homebridge:

 sudo npm install -g --unsafe-perm homebridge 

Se isso não funcionar, tente:

 sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp cd /usr/local/lib/node_modules/homebridge/ sudo npm install --unsafe-perm bignum cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns sudo node-gyp BUILDTYPE=Release rebuild 

Depois de instalar o Homebridge, você precisa instalar mais alguns plug-ins e, em seguida, continue alterando as configurações do servidor Homebridge.

A instalação de plug-ins é feita da mesma maneira que o próprio homebridge

 sudo npm install -g --unsafe-perm homebridge-plugin-name 

Encontramos o plug-in necessário no gerenciador de pacotes . Lá encontramos um exemplo de configurações que precisarão ser adicionadas às nossas configurações.

Para uma simples troca.

 npm install -g homebridge-mqttswitch 

Vá para as configurações, crie, se ainda não estiver criado, o arquivo de configuração:

 sudo nano .homebridge/config.json 

O arquivo de configuração é o seguinte:

config.json
 { "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "platforms": [ ], "accessories": [ { "accessory": "mqttswitch", "name": "", "url": "mqtt://192.168.178.123:1883", "username": "admin", "password": "admin", "caption": "room", "topics": { "statusGet": "stat/sleeping/POWER", "statusSet": "cmnd/sleeping/power" }, "onValue": "1", "offValue": "0", "integerValue": "true" } ] } 


Antes de salvar o arquivo de configurações, verifique, por exemplo, aqui . Após salvar, tente executar:

 Homebridge 

Se tudo começar, ele nos escreverá algo como:

  11:27:43 PM] [] Initializing mqttswitch accessory... 

O código 031-45-154 para conexão será indicado lá, se não tiver sido alterado nas configurações.

Agora ligue o telefone / mais plano executando o iOS. Encontramos o aplicativo “Casa” ou “HomeKit” → Adicione um acessório e aguarde nosso acessório “Homebridge” aparecer, adicione-o, digite o código, atribua um espaço para o comutador. E pronto, “Oi Siri, acenda / apague a luz da sala” - funcionou. "Oi Siri" nos telefones da 5ª série e abaixo funciona apenas quando conectado ao carregamento.

Se tudo funcionar corretamente para nós, resta adicionar o Homebridge à inicialização. Instruções completas em inglês. No meu caso, via init.d , crie o arquivo sudo nano /etc/init.d/homebridge
Copie o modelo para um arquivo nesse arquivo e altere-o em homebridge

/etc/init.d/homebridge
#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

dir="/home/pi"
cmd="DEBUG=* /usr/local/bin/homebridge"
user="pi"


Salve, saia.

 sudo chmod 755 /etc/init.d/homebridge sudo update-rc.d homebridge defaults 

Agora o homebridge será iniciado na inicialização do sistema.

Apertamos o sensor DHT22 (temperatura / umidade)


Um leitor atento notou que existem 5 pinos no pente e um deles é o GPIO 14. Novamente, pegamos o ferro de soldar em nossas mãos e soldamos os três fios a 3,3V, GND, GPIO 14 para o sensor de temperatura de umidade DHT22. Você pode usar outro sensor (ds18b20, DHT 11 ou outro suportado pelo firmware), mas era DHT22 na minha caixa. O sensor foi conectado através de um conector, fixado na lateral do gabinete nativo. Se necessário, será possível conectar outro sensor sem bisturi e ferro de soldar.



Na foto, acabei de consertar o conector, ainda não conectei os fios. No firmware Sonoff-MQTT-OTA-Arduino, você precisa verificar as configurações:

 #define DHT_PIN 14 // GPIO 14 = AM2301 (Sonoff_TH10A(16A), Sonoff SV) #define DHT_TYPE AM2301 // DHT module type (DHT11, DHT21, DHT22, AM2301, AM2302 or AM2321) 

Para o firmware Tasmota, o tipo de pino e sensor pode ser especificado nas configurações da web.

Se tudo estiver conectado e configurado corretamente, acessando a interface da web, veremos o status do relé e as leituras do sensor. Nas configurações, você pode definir a taxa de polling do sensor. O padrão é 300 segundos (5 minutos).



Mergulhamos na busca de um plug-in para o Homebridge funcionar com um sensor de temperatura e umidade. Agora precisamos exibir essas leituras no apêndice. Eu consegui fazer tudo isso, mas IMHO era o meu rake e não deveria ser feito.

Porque Tudo é muito simples, apenas parafusar o sensor no sonoff não faz sentido; você precisa ativar / desativar algo com base nessas leituras. Mas nas configurações de firmware não existe essa possibilidade, é possível configurar o aplicativo Home / HomeKit para tais fins, mas você precisa de um tablet que esteja constantemente em casa ou no Apple TV. A presença no firmware da capacidade de se comunicar com o Domoticz me levou nesse caminho espinhoso para instalar o sistema de controle doméstico inteligente Domoticz.

Na forma de uma pequena digressão, digamos, tentei conectar plug-ins ao homebridge que permitem transferir o fluxo RTSP de uma webcam. Eu tenho uma câmera IP TOP-201 dos meus colegas chineses.

Instale o plugin:

 npm install -g --unsafe-perm homebridge-camera-ffmpeg 

Adicione ao arquivo de configurações:

config.json
 "platforms": [{ "platform": "Camera-ffmpeg", "cameras": [ { "name": "top-201", "videoConfig": { "source": "-re -i rtsp://admin@192.168.178.10:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream", "maxStreams": 2, "maxWidth": 640, "maxHeight": 480, "maxFPS": 3 } } ] 


Além disso, uma foto da câmera aparece no aplicativo HomeKit, mas tudo isso funcionou muito lentamente e não havia necessidade dessa câmera. Para evitar o carregamento desnecessário do sistema, excluí a câmera IP. Vamos voltar à instalação de um sistema para gerenciar uma casa “sem uma casa inteligente”.

Instale e configure os módulos Domoticz for Sonoff


Putty → ssh → e novamente escolhemos a framboesa. Surpreendentemente, a instalação no meu caso não exigiu dançar com um pandeiro e foi o suficiente

 sudo curl -L install.domoticz.com | sudo bash 

Adicionar inicialização automática:

 sudo cp domoticz.sh /etc/init.d sudo chmod +x /etc/init.d/domoticz.sh sudo update-rc.d domoticz.sh defaults 

Se necessário, altere algumas configurações:

 sudo nano /etc/init.d/domoticz.sh 

Abra o endereço das framboesas 192.168.xxx.xxx : 8080. E eles devem ir para a página de domótica. Além disso, a configuração e adição de sensores já ocorre via web.


Os sensores Sonoff e um sensor de rua já foram adicionados à captura de tela.

Para adicionar sensores / comutadores, vá para Configuração → hardware e adicione Dummy (Não faz nada, use apenas para comutadores virtuais). Nosso "Manequim" aparecerá na lista de dispositivos. Ao clicar nele em Criar sensor virtual, chame nosso sensor / interruptor e selecione o tipo necessário na lista. Agora, na guia Configuração → Dispositivos, um novo dispositivo será exibido e agora você também poderá ver o ID do dispositivo lá.

Cortamos a face da Web do nosso switch / sensor e salvamos a configuração → domoticz → idx do nosso switch. No novo firmware Tasmota, é possível especificar vários IDX. Para relés / interruptores e separadamente para GPIO. Dependendo do módulo, este pode ser um sensor adicional ou mais, uma vez que a versão SV exibe três pinos adicionais, aos quais pode ser atribuída sua função no sistema (relés / sensores).

No firmware antigo (Sonoff-MQTT-OTA-Arduino) do módulo, eu tive que fazer algumas danças com um pandeiro, para que o Domoticz pudesse ver as leituras de umidade e temperatura. Eu acho que não há nenhum ponto aqui para descrevê-lo, para o novo firmware (Tasmota) não é necessário.

De acordo com as leituras de umidade, você pode controlar o exaustor no banheiro. Onde existe um exaustor, há espaço suficiente para o módulo e já temos tudo o que precisamos. Resta apenas ajustar o controle para as leituras de umidade.

Configuração → Mais opções → Eventos



Usando o construtor, criamos a lógica de operação do exaustor (como na figura). Você ainda pode usar Lua, mas esse não é o meu caso. Uma experiência adicional mostrou que 5 minutos de pesquisa no sensor são muito grandes e eu o reduzi a 3 minutos. Agora, tomando banho, quando a umidade sobe acima de 70%, o capô se liga. Posteriormente, quando reduzido abaixo de 45%, ele desliga. Dados de umidade selecionados experimentalmente. O único aspecto negativo, ou talvez esse não seja um sinal de menos, mas um recurso do sistema, se você forçar o exaustor a pressionar pressionando um botão, depois de 3 minutos, após interrogar o sensor de umidade, o sistema será desligado.

Mas e a Siri? Acabou que tudo é muito simples.

 sudo npm install -g -g --unsafe-perm homebridge-edomoticz 

E adicione às configurações

 sudo nano .homebridge/config.json 

  "platform": "mqtt", "name": "mqtt", "url": "mqtt://127.0.0.1", "topic_prefix": "homebridge", "username": "foo", "password": "bar" 

E quando você inicia o Homebridge, obtemos

 [5/8/2017, 11:42:30 PM] [eDomoticz] You have 10 devices defined in Domoticz. [5/8/2017, 11:42:30 PM] [eDomoticz] Initializing platform accessory 'bath-temp'... [5/8/2017, 11:42:30 PM] [eDomoticz] Initializing platform accessory ' '... [5/8/2017, 11:42:30 PM] [eDomoticz] Initializing platform accessory ' '... [5/8/2017, 11:42:30 PM] [eDomoticz] Initializing platform accessory ''... 

Todos os dispositivos que adicionamos ao Domotics agora serão exibidos entre nossos dispositivos no Homekit e você poderá controlá-los através de um amigo Siri. A necessidade de outros plugins para o Homebridge desapareceu de alguma forma.

Temos um monte de Domoticz-Homebridge e tudo funciona muito bem e de forma estável. Já testado não no primeiro mês.

Um sensor de temperatura / umidade DHT22 de artesanato anterior é preso ao Raspberry pi e os dados são transmitidos para narodmon.ru com um script python a cada 10 minutos. Adicione algumas linhas a um script existente.

 #domoticz settings IP = '192.168..' #IP domoticz PORT = '8080' #port of server IDX_1 = '7' #IDX of the DHT temp sensor //…. ,        narodmon.ru url = 'http://{}:{}/json.htm?type=command¶m=udevice&nvalue=0&idx={}&svalue={}'.format(IP, PORT, IDX_1, sensor_value_1) request = urllib2.Request(url) response = urllib2.urlopen(request) 

No Domoticz, adicionamos mais um sensor virtual. E agora podemos ver adicionalmente a temperatura e a umidade na rua, pela Web, em nossa página local e no aplicativo iOS.

Para quem mqtt está mais próximo, as leituras do sensor podem ser enviadas via mqtt.

  playload = '{{ "idx": {} , "nvalue" : {}, "svalue" : "1" }}'.format(IDX_1, humidity) client.publish(TOPIC_DOMOTICZ, playload, qos =0 , retain =False) #publish 

Adicione Wifi à máquina de café.


Enquanto minha máquina está em reparo e esperando a unidade de controle chegar da Alemanha, recebi uma máquina de café Delonghi como presente. No painel, temos um botão liga / desliga, para fazer café pequeno e duplo e mais dois que eu não uso porque Não bato leite no vapor, não bebo café com leite e outras bebidas. A desvantagem é que o café não se mói, é necessário enchê-lo com terra e uma xícara.

Para uma máquina de café, eu uso o Sonoff SV. Os pinos 3,3v, Rx, Tx, GND são assinados. Separadamente, o GPIO 4, 5, 14 ainda é exibido no painel Firmware para o mesmo procedimento descrito acima.

Abrimos o dispositivo e chegamos ao quadro com botões.

A placa possui energia de 5V, o que é suficiente para alimentar nosso módulo sv sonoff sem fio. Não foi difícil encontrar onde tínhamos o 5c.

Pressionar os botões simplesmente reduz o sinal ao terra. Conectamos nosso módulo de acordo com o esquema.



Como você pode ver no diagrama, conectei apenas dois botões: ligar / desligar e fazer café. Por analogia, você pode criar todos os outros botões. No sonoff sv, temos 3 pinos de saída na placa, um relé, e você também pode usar Rx, Tx (no firmware mais recente da Tasmota).



Coletamos tudo de acordo com o esquema, encontramos um local adequado dentro da máquina de café. Nas configurações do módulo na interface da web, adicione um segundo relé ao GPIO5. No menu "console", defina as seguintes configurações:

 PowerOnState 0 //   ,     . PulseTime1 10 //   0,1 ,      PulseTime2 10 //     1 . 1  2     . 

Nas configurações do Domotics, crie mais dois "sensores virtuais" e adicione seu idx às configurações do módulo no menu Configurações do Domotics (Configuração → Configurar Domoticz → IDX 1 e IDX 2).

Como resultado, temos mais dois interruptores, um dos quais pressiona o botão liga / desliga da máquina de café e o segundo pressiona o botão para fazer café.

De qualquer maneira, para fazer café, é preciso andar com as pernas, mas é preciso derramar café. Mas é conveniente ligar a máquina. A partir do momento em que você o liga e antes de fazer café, é necessário algum tempo para aquecer a máquina. Portanto, sentado enquanto trabalha na sala, você pode ligar remotamente a máquina de café e depois de um tempo já bate as pernas e faz uma bebida.

Será mais útil em uma troca dessas em uma máquina totalmente automática em uma máquina de café, basta lembrar de colocar a xícara com antecedência. Estamos aguardando o painel de controle.

Adicione wifi para abrir a porta com o interfone Vizit


No corredor comum, o vestíbulo próximo ao elevador é fechado por uma porta com uma fechadura magnética e um sistema de acesso Vizit. O sistema foi instalado após o reparo e o botão para abrir a porta do vestíbulo do apartamento não foi mantido. Para iniciar os convidados, você deve ir até a porta e abrir com o botão para abrir a porta no corredor. Unidade de controle KTM-602M.



Fechar OP + GND abre a porta / desconecta o ímã por 7 segundos.

Compartilhamos a fonte de alimentação do módulo sonoff sv e o relé removendo dois resistores, como mostrado abaixo na figura.



Conectamos o OP ao relé de entrada “input +”, na saída do relé “output +” nós apertamos GND. Entre o ELC e o GND da unidade de controle de 18v a partir da qual fornecemos energia ao próprio módulo.

Adicionamos a campainha da porta aos Domotiks e agora a Siri pode nos ajudar a abrir as portas para os hóspedes.

O assistente Siri reconhece o comando de voz "Abra a porta", melhor do que "ligue a máquina de café".

Parei por aí com a decoração dos módulos sonoff.

Bônus pequeno


Quando a bebida acabar, também ligar / desligar a TV. Desligar e ligar a TV não tem nada a ver com módulos wifi. A TV está próxima do raspberry pi. Aqui, um LED IR e um par de resistências de diferentes valores nominais nos ajudam. Instalamos o lirc, nos bancos de dados encontramos as configurações do seu controle remoto / TV.

Para trabalhar com o Domotics, executamos um pequeno script python que traduz nossos desejos de ligar / desligar a TV do mqtt para o lirc.

mqtt em lirc
 import paho.mqtt.client as mqtt import os import time import json IP = '192.168..' PORT = '1883' device = {18 : 'OpenBox', 19 : 'PHILIPS', 22 : 'air'} TOPIC_DOMOTICZ = 'domoticz/in' def send(device, command): # """ Sends IR-signal to the device """ os.system("irsend SEND_ONCE '" + device + "' '" + command + "'") # The callback for when the client receives a CONNACK response from the server. def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) # Subscribing in on_connect() means that if we lose the connection and # reconnect then subscriptions will be renewed. client.subscribe(TOPIC_DOMOTICZ,0) def on_publish(client,userdata,result): #create function for callback print("data published \n") pass # The callback for when a PUBLISH message is received from the server. def on_message(client, userdata, msg): domoticz = json.loads(msg.payload) if domoticz ['idx'] in device.keys(): idx = domoticz ['idx'] dev = device [idx] command = 'KEY_POWER' send (dev, command) client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.on_publish = on_publish client.connect(IP, PORT, 60) client.loop_forever() 


Adicionamos ao Domoticz mais três botões virtuais para a TV, o receptor e o ar condicionado.
Não é conveniente controlar a TV pelo telefone, de qualquer forma, o controle remoto é de alguma forma parecido. Mas desligue a TV quando eu esqueci e já sai da sala um bônus agradável.

Uma boa adição a tudo isso é a disponibilidade para o relógio Pebble do aplicativo Pemoticz. Adicionado o endereço nas configurações e o aplicativo puxou todos os comutadores. Agora, nem um único Siri pode ligar a máquina de café / abrir as portas e desligar as luzes. O relógio geralmente está à mão e o telefone pode não estar muito próximo. Isso também tem suas vantagens. Eu não lidei com o tópico de reconhecimento de fala por horas piscando, mas isso também é possível.



Nisto, talvez, você possa terminar a história "sem uma casa inteligente".

Conclusão


Na forma de uma conclusão, e depois o que?

Lista de tarefas:

- Ar condicionado, não foi possível encontrar as configurações do controle remoto para lirc e as primeiras tentativas de copiar cliques também não levaram ao sucesso. Serrar ainda mais.
- Estamos aguardando um pedido da empresa chinesa Mi c gateway e de vários sensores. Os sensores de abertura de porta por meio de manipulações complicadas se transformam em sensores de vazamento. Adicionaremos ao nosso sistema. Quando acionados, os sensores enviarão notificações ao proprietário.
"Os pensamentos terminam aí ..."

Fontes utilizadas


Executando o HomeBridge em um Raspberry Pi
Sonoff-Tasmota Wiki
Instalação do Domoticz em um Pi já em execução
Como fazer: adicione Wi-Fi à sua máquina de café

Source: https://habr.com/ru/post/pt403869/


All Articles