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

 找回密码
 立即注册
查看: 1527|回复: 29

[技术探讨] dnake(狄耐克)的ha集成、API和接入ha对讲

[复制链接]

1

主题

19

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
113
HASS币
0
发表于 2025-2-4 02:07:29 | 显示全部楼层 |阅读模式
本帖最后由 flofire 于 2025-3-5 23:27 编辑

【门禁或网关接入ha控制灯具、窗帘】
<a href="https://github.com/YangLang116/ha_dnake_home">YangLang116/ha_dnake_home: 狄耐克集成是一个非官方提供支持的 Home Assistant 的集成组件,它可以让您在 Home Assistant 中使用狄耐克 IoT 智能设备。</a>
YangLang116 大佬编写,请到原文查看

【门禁或网关内网API】

/*
******************以下全文的192.168.1.8请替换为你自己的门禁ip******************
// 网关信息-浏览器打开
http://192.168.1.8/smart/iot.info
// 设备列表-浏览器打开 (devNo是nm,devCh是ch)
http://192.168.1.8/smart/speDev.info
// 场景列表-浏览器打开
http://192.168.1.8/smart/speScene.info
// 场景详情-浏览器打开(nm由场景列表获取)
http://192.168.1.8/smart/scene/{nm}.json

我只有灯具和窗帘设备,
如有其他设备不知道要传什么参数,可以先将其加入场景,然后查看场景详情里的参数来猜测。
更多cmd取值看https://github.com/dnakeyun/DNKSmartHomeSDK/blob/main/DNKSmartHomeSDK/DNKSmartHomeSDK.framework/Headers/SDKInterface.h
*/

const GATEWAY = {
  ip: '192.168.1.8', // 改成你的门禁ip
  iotDeviceName: '', // (获取方法:网关信息-iotDeviceName)
  gwIotName: '', // (获取方法:网关信息-gwIotName)
  authUsername: 'admin', // 一般是固定的
  authPassword: '123456', // 一般是固定的
};

function b64EncodeUnicode(str) {
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
        function(match, p1) {
        return String.fromCharCode('0x' + p1);
    }));
}

function getUuid(len = 32, radix = 10) {
    var n, r, i = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), o = [];
    if (radix = radix || i.length,
    len)
        for (n = 0; n < len; n++)
            o[n] = i[0 | Math.random() * radix];
    else
        for (o[8] = o[13] = o[18] = o[23] = "-",
        o[14] = "4",
        n = 0; n < 36; n++)
            o[n] || (r = 0 | 16 * Math.random(),
            o[n] = i[19 == n ? 3 & r | 8 : r]);
    return o.join("")
}

function request(data) {
    return fetch('http://'+GATEWAY.ip+'/route.cgi?api=request', {
        method: 'POST',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json',
          'authorization': 'Basic ' + b64EncodeUnicode(GATEWAY.authUsername + ':' + GATEWAY.authPassword)
        },
        body: JSON.stringify({
           "fromDev": GATEWAY.iotDeviceName,
            "toDev": GATEWAY.gwIotName,
            "data": data
        })}
    );
}

// 获取所有设备状态(state=0为关,state=1为开,state=3貌似是待机.电动窗帘有level值,猜测:0-254。0全关,254全开。)
request({"action":"readAllDevState","uuid":getUuid()}).then(()=>{})

// 获取单个设备状态(state=0为关,state=1为开,state=3貌似是待机.电动窗帘有level值,猜测:0-254。0全关,254全开。)
request({"action": "readDev", "devNo":38,"devCh":1, "uuid": getUuid()}).then(()=>{})

// 开灯 (devNo是设备列表的nm,devCh是设备列表的ch)
request({"cmd": "on", "action": "ctrlDev", "devNo":26,"devCh":1, "uuid": getUuid()}).then(()=>{})

// 关灯 (devNo是设备列表的nm,devCh是设备列表的ch)
request({"cmd": "off", "action": "ctrlDev", "devNo":26,"devCh":1, "uuid": getUuid()}).then(()=>{})

// 开窗帘 (devNo是设备列表的nm,devCh是设备列表的ch)
request({"cmd":"on","action": "ctrlDev", "devNo":38,"devCh":1, "uuid": getUuid()}).then(()=>{})

// 关窗帘 (devNo是设备列表的nm,devCh是设备列表的ch)
request({"cmd":"off","action": "ctrlDev", "devNo":38,"devCh":1, "uuid": getUuid()}).then(()=>{})

// 停窗帘 (devNo是设备列表的nm,devCh是设备列表的ch)
request({"cmd":"stop","action": "ctrlDev", "devNo":38,"devCh":1, "uuid": getUuid()}).then(()=>{})

// 开一半窗帘 (devNo是设备列表的nm,devCh是设备列表的ch)
request({"cmd":"level", "level":127, "action": "ctrlDev", "devNo":38,"devCh":1, "uuid": getUuid()}).then(()=>{})
本人编写,欢迎讨论。

【接入HA控制门禁开关、查看rtsp流、控制电梯】
HA集成接入狄耐克(Dnake)门禁系统
hadiy大佬编写,请到原文查看

评分

参与人数 3金钱 +22 收起 理由
cqyyds + 5 论坛有你更精彩!
Beichenthe + 5 大神666!
隔壁的王叔叔 + 12 我只有这么多了,太牛了。

查看全部评分

回复

使用道具 举报

1

主题

19

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
113
HASS币
0
 楼主| 发表于 2025-2-4 02:10:12 | 显示全部楼层
本帖最后由 flofire 于 2025-2-16 15:08 编辑

111111111111
回复

使用道具 举报

0

主题

2

帖子

30

积分

新手上路

Rank: 1

积分
30
金钱
28
HASS币
0
发表于 2025-2-4 18:49:34 | 显示全部楼层
太川的门禁有研究吗
回复

使用道具 举报

0

主题

47

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
金钱
343
HASS币
0
发表于 2025-2-16 20:46:17 | 显示全部楼层
已实现接入~
回复

使用道具 举报

1

主题

19

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
113
HASS币
0
 楼主| 发表于 2025-2-17 00:25:28 | 显示全部楼层

更新了,重新下一次
回复

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
金钱
14
HASS币
0
发表于 2025-2-22 19:00:04 | 显示全部楼层
大神可以加一个中央空调和新风机的集成吗?用你的已经接入了灯光和窗帘,特别好用
回复

使用道具 举报

1

主题

19

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
113
HASS币
0
 楼主| 发表于 2025-2-22 19:34:13 | 显示全部楼层
blandrake 发表于 2025-2-22 19:00
大神可以加一个中央空调和新风机的集成吗?用你的已经接入了灯光和窗帘,特别好用 ...

登录你的网关截个图看看
回复

使用道具 举报

1

主题

19

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
113
HASS币
0
 楼主| 发表于 2025-2-22 19:39:31 | 显示全部楼层
blandrake 发表于 2025-2-22 19:00
大神可以加一个中央空调和新风机的集成吗?用你的已经接入了灯光和窗帘,特别好用 ...

网关能网页控制的一般都可以
回复

使用道具 举报

0

主题

2

帖子

38

积分

新手上路

Rank: 1

积分
38
金钱
36
HASS币
0
发表于 2025-2-24 13:37:35 | 显示全部楼层
老哥  请教狄耐克aclan文件夹在哪找
回复

使用道具 举报

0

主题

18

帖子

84

积分

注册会员

Rank: 2

积分
84
金钱
66
HASS币
0
发表于 2025-2-24 14:11:37 | 显示全部楼层
大佬厉害,有福州米立物联网门禁的接入教程吗,配的平板是一台安卓10的,有搜到福建冠林和涂鸦有战略合作,这两家是同一家公司。
这个是中控的介绍,可以进工程模式查看网络接口这些的https://www.miligc.com/pd.jsp?id=50
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-14 03:15 , Processed in 0.068067 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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