Alguém com problema de sincrização do status atual do robô usando o tuya v2? Se eu reniciar o HA, ele funciona normalmente, mas depois de um tempo, qualquer alteração que o robô tenha, os status não atualizam.
Houve alguns problemas do tipo com a integração nativa, a correção veio com uma atualização do SDK da Tuya. Talvez seja necessário realizar também na V2, mas como ela foi descontinuada deve ser realizado manualmente pelo usuário. Segue o link do SDK atualizado..
Bom dia pessoal.
Os comandos estão funcionando na v1.6.0, apenas o TURN_OFF que não, pelo app da Tuya se eu criar uma cena colocando o robô no status SWITCH.TURN_OFF, ele entra em standby, mas não consegui fazer isso pelos serviços do HA.
Alguma dica?
Obrigado.
Alguns links pra correção da versão 1.5 estão offline, pode corrigir isso?
Atualizado os links!
Os serviços turn_on
e turn_off
para o aspiradores não foram implementados pelo custom component Tuya V2. Já na integração nativa do HA devem funcionar (observe que os aspiradores Kabum Smart 500 possuem um erro de ortografia nos status que não funcionaram na integração nativa).
Pessoal,
Bom dia.
No HACS nao encontro o Tuya V2, somente o local tuya.
Alguem poderia ajudar?
Edit: consegui com o tuya no integrations.
Obrigado pessoal
O Tuya v2 foi descontinuado em novembro de 2021 e com isso foi adicionada a nova integração da Tuya no Home Assistant.
Obrigado Leandro.
Sempre prestativo.
Já consegui configurar
Você consegui ativar os sensores adicionais na integração Tuya? COnfesso que não consegui instalar o tuya v2, até pq foi descontinuado…
Opa pessoal
Tudo bem?
Gostaria de entender melhor… Essa melhoria altera em que o Robo Smart 500 da Kabum === C30B?
Alguém sabe informar se existe integração com o neatsvor x600 ?
alguém ja testou o novo robô da Kabum?
KBSF006
ele esta com um preço bom hoje, gostaria de comprar.
sabe se integra beleza com o HA? é simples?
obrigado
Olá @Prates !
Estou a dias tentando fazer esta integração com o ZK, já consegui o local Key… etc… mas simplesmente nao funciona… pode me ajudar?
Alguém ai tem o Kabum Smart 900? Consegui fazer funcionar com o LocalTuya mas pra minha surpresa a integracao desativa quando o aspirador entra em standby, dai preciso ir la e reconfigurar o aspirador de novo na integracao..
o mesmo acontece com o mapa, ele so vem um pedacinho rs, nao vem o mapa completo…
também tenho o 900… fiz a integração com a oficial tuya… mas não consegui usar direito… está só integrado mas sem uso! Não aparece mapa e quando fiz a integração encontrei dificuldades em mandar os comandos separados para iniciar a aspiração e passar o mop!
Acabei desistindo e não tentando mais!
Usei no LocalTuya, deu trampo mas está funcionando, apesar de não aparecer o mapa, mas acho que vou resolver isso em breve…
Pra quem está com dificuldade de integrar esse modelo segue ai…
Configurações
ID 2: Ligar
ID 101: Retoma a Limpeza
ID 102: Pausa
ID 103: Retorna à Base
ID 3: Modo de Limpeza
left_bow
: Arco à Esquerdaleft_spiral
: Espiral à Esquerdamop
: Passar Panopartial_bow
: Curvar Parcialmenterandom
: Aleatórioright_bow
: Arco à Direitaright_spiral
: Espiral à Direitasmart
: Inteligentespiral
: Espiralstandby
: Em Esperawall_follow
: Seguir Parede
ID 109: Velocidade de Sucção
auto
: Padrãomax
: Máximaquiet
: Ecológicastrong
: Turbo
ID 110: Nível de Água
high
: Altolow
: Baixomid
: Médio
Diagnósticos
ID 105: Estado do Robô
ID 106: Bateria
ID 107: Tempo de Limpeza Atual
ID 108: Área de Limpeza Atual
ID 116: Tempo de Limpeza Total
ID 117: Área Total Limpa
ID 118: Quantidade de Limpezas
ID 119: Tempo da Escova Lateral
ID 120: Tempo da Escova Principal
ID 121: Tempo do Filtro
ID 122: Falha do Robô
##Card Personalizado do Aspirador##
type: vertical-stack
cards:
- type: custom:button-card
entity: vacuum.sua_entidade_aqui
show_icon: false
show_name: false
show_state: false
layout: vertical
custom_fields:
header: |
[[[
const status = states['sensor.sua_entidade_aqui_estado_do_robo'].state.toLowerCase();
const tempo = parseFloat(states['sensor.sua_entidade_aqui_tempo_de_limpeza_atual'].state || 0);
const tempoMin = Math.round(tempo > 500 ? tempo / 60 : tempo); // se vier em segundos, converte
let icon = "mdi:help-circle-outline";
let label = "Desconhecido";
if (status === "chargring") {
icon = "mdi:battery-charging";
label = "Carregando";
} else if (status === "totaling") {
icon = "mdi:robot-vacuum";
label = `Limpando • ${tempoMin} min`;
} else if (status === "pause") {
icon = "mdi:pause";
label = `Pausado • ${tempoMin} min`;
} else if (status === "tocharg") {
icon = "mdi:home-import-outline";
label = "Voltando à Base";
}
return `
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; gap: 6px;">
<div style="display: flex; align-items: center; gap: 6px;">
<ha-icon icon="mdi:robot-vacuum" style="width: 24px; height: 24px; color: #00c853;"></ha-icon>
<span style="font-size: 16px; font-weight: bold; color: white;">Aspirador</span>
</div>
<div style="display: flex; align-items: center; gap: 6px;">
<ha-icon icon="${icon}" style="width: 18px; height: 18px; color: #bbbbbb;"></ha-icon>
<span style="font-size: 14px; color: #bbbbbb;">${label}</span>
</div>
</div>
`;
]]]
styles:
card:
- background: "#1e1e1e"
- border-radius: 16px
- padding: 16px
- display: flex
- align-items: center
- justify-content: center
- min-height: 64px
custom_fields:
header:
- width: 100%
- type: horizontal-stack
cards:
- type: custom:button-card
entity: button.sua_entidade_aqui_ligar
icon: mdi:play
name: Ligar
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.sua_entidade_aqui_ligar
styles:
card:
- background: "#2e2e2e"
- border-radius: 12px
- padding: 12px
icon:
- color: "#00e676"
- width: 28px
- height: 28px
name:
- color: white
- font-size: 13px
- type: custom:button-card
entity: button.sua_entidade_aqui_pausa
icon: mdi:pause
name: Pausa
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.sua_entidade_aqui_pausa
styles:
card:
- background: "#2e2e2e"
- border-radius: 12px
- padding: 12px
icon:
- color: "#ffeb3b"
- width: 28px
- height: 28px
name:
- color: white
- font-size: 13px
- type: custom:button-card
entity: button.sua_entidade_aqui_retorna_a_base
icon: mdi:home-map-marker
name: Base
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.sua_entidade_aqui_retorna_a_base
styles:
card:
- background: "#2e2e2e"
- border-radius: 12px
- padding: 12px
icon:
- color: "#ff5252"
- width: 28px
- height: 28px
name:
- color: white
- font-size: 13px
- type: entities
show_header_toggle: false
style: |
ha-card {
background: #1e1e1e;
border-radius: 16px;
padding: 12px 16px;
color: white;
}
entities:
- entity: select.sua_entidade_aqui_modo_de_limpeza
name: Modo de Limpeza
- entity: select.sua_entidade_aqui_velocidade_de_succao
name: Velocidade de Sucção
- type: entities
show_header_toggle: false
style: |
ha-card {
background: #1e1e1e;
border-radius: 16px;
padding: 12px 16px;
color: white;
}
entities:
- entity: sensor.sua_entidade_aqui_area_de_limpeza_atual
name: Área
Esse ainda tá em teste e não sei se vai resolver a questão do aspirador desligar quando estiver em idle mas, vou colocar aqui caso alguém tenha alguma ideia do que fazer…
## Automação para Manter o Aspirador Ligado Burlando o Idle##
alias: Manter Aspirador acordado e forçar reconexão se necessário
description: >
Tenta manter o aspirador acessível no LocalTuya. Se falhar após 2
minutos, força o reload da integração para restabelecer a conexão.
triggers:
- minutes: /5
trigger: time_pattern
- entity_id: vacuum.coloque_sua_entidade_aqui
to: unavailable
for:
minutes: 2
trigger: state
conditions:
- condition: state
entity_id: vacuum.coloque_sua_entidade_aqui
state: unavailable
actions:
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.platform == 'time_pattern' }}"
sequence:
- target:
entity_id: vacuum.coloque_sua_entidade_aqui
action: homeassistant.update_entity
data: {}
- conditions:
- condition: template
value_template: "{{ trigger.platform == 'state' }}"
sequence:
- data:
entry_id: id_sua_entidade_no_local_tuya
action: homeassistant.reload_config_entry
mode: single
Espero contribuir de alguma forma e se alguém tiver soluções melhores pra compartilhar, isso pra mim está funcionando, a automação ainda nao testei 100% fiz agora a tarde e como coloquei antes o aspirador pra passar ele ainda está carregando então, online.
Detalhe do card: Nao estou usando a função passar pano, por isso no card não tem definido mas com os detalhes ai acredito que consigam fazer tranquilamente seguindo a lógica do codigo.