『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 756|回复: 3

[技术探讨] 支持涂鸦智能tuya网关锁有插件了,但加网关出错 ,求帮助

[复制链接]

22

主题

731

帖子

3810

积分

论坛元老

Rank: 8Rank: 8

积分
3810
金钱
3074
HASS币
20
发表于 2024-7-6 11:14:38 | 显示全部楼层 |阅读模式
本帖最后由 ms2 于 2024-7-15 19:18 编辑

根据智能门锁集成到ha问题这个帖子里说的涂鸦智能插件,可以自动发现我的网关跟zigbee的涂鸦智能锁,但在添加时,网关出错,请各位大神们帮我看看什么问题。
我添加是可以,界面也显示,但控制不了。
1、我添加设备时, 自动搜索会找到涂鸦网关跟智能锁,但自动添加时,显示网关添加失败(出错信息:Gateway:no configured entities:[]- wg2),如下图:
微信图片_20240705091744.png
论坛里的大神们能帮一下我,告诉我Gateway:no configured entities:[]- wg2这个出错信息需要怎么配置吗?
2、添加后,会多了如下图的锁开关:
微信图片_20240705091319.png
3、进入开关点击开锁,显示有,点击图标也会显示动作切换(感觉应该是添加网关出错的问题有问,锁的接入应该没问题),但实际锁没动作:
微信图片_20240705092108.png
回复

使用道具 举报

22

主题

731

帖子

3810

积分

论坛元老

Rank: 8Rank: 8

积分
3810
金钱
3074
HASS币
20
 楼主| 发表于 2024-7-15 19:19:15 | 显示全部楼层
唉,连回帖的人都没有一个
回复

使用道具 举报

19

主题

251

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
金钱
887
HASS币
0
发表于 2024-7-18 22:24:52 | 显示全部楼层
这个插件写了不支持门锁。
回复

使用道具 举报

22

主题

731

帖子

3810

积分

论坛元老

Rank: 8Rank: 8

积分
3810
金钱
3074
HASS币
20
 楼主| 发表于 2024-7-19 15:26:04 | 显示全部楼层
本帖最后由 ms2 于 2024-7-19 15:29 编辑
itispip 发表于 2024-7-18 22:24
这个插件写了不支持门锁。

custom_components/localtuya/lock.py,这插件专门写明了支持门锁,要不也不会出来锁的2个实体
custom_components/localtuya/water_heater.py,不光支持门锁,还支持热水器呢,不过热水器我自己调用了,就没用这个了。
@@ -0,0 +1,64 @@
"""Platform to present any Tuya DP as a Lock."""

import logging
from functools import partial
from typing import Any
from .config_flow import _col_to_select

import voluptuous as vol
from homeassistant.components.lock import DOMAIN, LockEntity
from .entity import LocalTuyaEntity, async_setup_entry

from .const import CONF_JAMMED_DP, CONF_LOCK_STATE_DP

_LOGGER = logging.getLogger(__name__)


def flow_schema(dps):
    """Return schema used in config flow."""
    return {
        vol.Optional(CONF_LOCK_STATE_DP): _col_to_select(dps, is_dps=True),
        vol.Optional(CONF_JAMMED_DP): _col_to_select(dps, is_dps=True),
    }


class LocalTuyaLock(LocalTuyaEntity, LockEntity):
    """Representation of a Tuya Lock."""

    def __init__(
        self,
        device,
        config_entry,
        Lockid,
        **kwargs,
    ):
        """Initialize the Tuya Lock."""
        super().__init__(device, config_entry, Lockid, _LOGGER, **kwargs)
        self._state = None

    async def async_lock(self, **kwargs: Any) -> None:
        """Lock the lock."""
        await self._device.set_dp(True, self._dp_id)

    async def async_unlock(self, **kwargs: Any) -> None:
        """Unlock the lock."""
        await self._device.set_dp(False, self._dp_id)

    def status_updated(self):
        """Device status was updated."""
        state = self.dp_value(self._dp_id)
        if (lock_state := self.dp_value(CONF_LOCK_STATE_DP)) or lock_state is not None:
            state = lock_state

        self._attr_is_locked = state not in (False, "closed", "close", None)

        if jammed := self.dp_value(CONF_JAMMED_DP, False):
            self._attr_is_jammed = jammed

    # No need to restore state for a Lock
    async def restore_state_when_connected(self):
        """Do nothing for a Lock."""
        return


async_setup_entry = partial(async_setup_entry, DOMAIN, LocalTuyaLock, flow_schema)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 14:10 , Processed in 0.089359 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表