Há umas semanas, a Mauser teve a amabilidade de nos ceder três lâmpadas wifi da Nedis para efectuarmos testes à integração destas com o Home Assistant e este tutorial é o resultado desses mesmos testes.
Um grande obrigado ao Marko e ao @andrefilipecruz da Mauser pela cedência das lâmpadas para os testes e também ao @Maddoctor pela ajuda com o Tasmota e a criação dos templates para as lâmpadas!
As lâmpadas que nos foram cedidas são as seguintes:
-
Nedis RGBW WIFILW10WTB22-0718 (link)
E27 RGB+W (2700k) 6W 470lm
-
Nedis WIFILC10WTE14 (link)
E14 RGB+W (2700k) 4.5W 350lm
-
Nedis WIFILW10WTE27 (link)
E27 (2700-6500K) 9W 800lm
Neste tutorial vamos usar a Nedis WIFILW10WTB22-0718 mas este procedimento é igual para a Nedis WIFILC10WTE14. A Nedis WIFILW10WTE27 será alvo de um tutorial separado.
Podem ver todas as lâmpadas da Nedis disponiveis na Mauser aqui.
Material Necessário
Para seguirem este tutorial devem ter o seguinte material:
- Raspberry Pi 3B / 3B+ com Raspbian Stretch
- Telemóvel ou Tablet
- Dispositivo Tuya (neste caso uma lâmpada)
Instalação do Tuya Convert
O Tuya Convert foi criado em 2018 após se ter detectada uma falha grave de segurança com o firmware da Tuya, e é uma colecção de scripts criados para flashar firmwares alternativos. Estes dispositivos aparecem no mercado sob diversas marcas sendo a Nedis apenas uma de muitas. Para saber mais sobre o Tuya Convert, visitem o link:
- Após ligar o Raspberry Pi 3B ou 3B+ com Raspbian Stretch, instalar o git com o comando:
sudo apt-get install -y git
- Quando o comando acima concluir, devem iniciar a instalação com os seguintes três comandos:
git clone https://github.com/ct-Open-Source/tuya-convert
cd tuya-convert
./install_prereq.sh
- O ultimo comando acima irá demorar algum tempo dependendo da velocidade e tipo de ligação à internet que tenham. Para finalizar a instalação, executam o comando:
sudo apt-get update && sudo apt-get upgrade -y
Este comando irá também demorar algum tempo, especialmente se for a primeira vez que o executam.
- Terminado este último comando devem reiniciar o Raspberry Pi e estão prontos para o próximo passo.
Conversão de Tuya para Tasmota
- Após a instalação do Tuya Convert, e tendo já todo o material necessário pronto, devem iniciar o procedimento com o comando
cd tuya-convert
seguido de./start_flash.sh
.
- Escrever
yes
seguido de ENTER.
- Neste passo iremos utilizar um telemóvel ou tablet para ligar à rede
vtrust-flash
- No telemóvel irá aparecer a rede
vtrust-flash
. Clicar no nome da rede para ligar e usar a passwordflashmeifyoucan
.
- O telemóvel estará agora ligado à rede
vtrust-flash
.
- Ligar a lâmpada à electricidade e colocá-la em modo de emparelhamento. Na linha de comandos devem carregar em ENTER
- O conversor irá agora procurar o dispositivo para emparelhar.
- Quando emparelhar irá ser atribuido o IP 10.42.42.42 e irá converter o sistema.
- Para confirmar se ficou tudo bem com a conversão, devem correr o comando
curl http://10.42.42.42/flash2
.
- Para flashar o Tasmota (que com este Tuya Convert vem na versão 6.5.0) devem correr o comando
curl http://10.42.42.42/flash3
.
- Após a conclusão do comando acima, no vosso telemóvel irá aparecer uma rede começada por
sonoff-xxxx
, neste casosonoff-1256
.
- Agora basta ligar a esta rede e começar a configurar o Tasmota.
Configuração do Tasmota
- Depois de ligar à rede
sonoff-xxxx
(neste casosonoff-1256
) devem aceder à interface do Tasmota para efectuar a configuração através do endereço192.168.4.1
.
- Seleccionar a opção
Configuration
e depoisConfigure Other
.
Colar o código abaixo no campo Template
, seleccionar Activate
e finalmente Save
.
{"NAME":"Nedis RGBW CPHA","GPIO":[0,0,0,0,140,37,0,0,0,142,141,0,0],"FLAG":1,"BASE":18}
Quando reiniciar já estará activo o template.
- No menu principal carregar em
Console
e escrever os seguintes comandos seguidos de ENTER.
NOTA: Não esquecer de substituir pelas vossas configurações as entradas marcadas com
<>
. Por exemplo<MqttHost_XXX>
será192.168.1.20
- Para acertar a data e hora:
backlog TimeZone 99; TimeDST 0,0,3,1,1,60; TimeSTD 0,0,10,1,2,0
- Servidor de MQTT
backlog MqttHost <MqttHost_XXX>; MqttUser <MqttUser_XXX>; MqttPassword <MqttPassword_XXX>
- Ligação Wifi
backlog IPAddress1 <IPfixoDoDispositivo>; IPAddress2 <IPdoRouter>; IPAddress3 255.255.255.0; IPAddress4 <IPdoRouter>; SSId <NomeRedeWifi>; Password <PasswordRedeWifi>
- No Home Assistant utilizem a seguinte configuração:
light:
#### Lampada Nedis
- platform: mqtt
name: "Luz de Presença Q1"
state_topic: "stat/sonoff/POWER"
command_topic: "cmnd/sonoff/POWER"
availability_topic: "tele/sonoff/LWT"
brightness_command_topic: "cmnd/sonoff/Dimmer"
brightness_state_topic: "tele/sonoff/STATE"
brightness_scale: 100
brightness_value_template: "{{value_json.Dimmer}}"
rgb_command_topic: "cmnd/sonoff/Color2"
rgb_state_topic: "tele/sonoff/NIGHTLIGHT_Q2/STATE"
rgb_value_template: "{% set red = (value_json.Color.split(',')[0] | round(0)) %}{% set green = (value_json.Color.split(',')[1] | round(0)) %}{% set blue = (value_json.Color.split(',')[2] | round(0)) %}{% set white = (value_json.Color.split(',')[3] | round(0)) %}{{ red + white }},{{ green + white }},{{ blue + white }}"
rgb_command_template: "{% set white = ([red,green,blue]|min) %}{{ red - white }},{{ green - white }},{{ blue - white }},{{ white }}"
effect_command_topic: "cmnd/sonoff/Scheme"
effect_state_topic: "tele/sonoff/STATE"
effect_value_template: "{{value_json.Scheme}}"
effect_list:
- 0
- 1
- 2
- 3
- 4
qos: 1
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
retain: false