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

 找回密码
 立即注册
查看: 4218|回复: 24

[流程系列] 钉钉应用机器人接收和推送消息

[复制链接]

3

主题

47

帖子

213

积分

中级会员

Rank: 3Rank: 3

积分
213
金钱
166
HASS币
0
发表于 2023-8-29 23:56:07 | 显示全部楼层 |阅读模式
本帖最后由 dreamyuf 于 2024-6-20 13:28 编辑

node-red钉钉应用机器人接收消息 - 『Node-RED』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
钉钉应用消息推送 - 『Node-RED』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)

在早上发帖的基础上,学习了既有的帖子,同样,钉钉设置部分看别人的帖子吧。

其实群里都有相关的内容,我自己研究的时候走了些弯路,群里发的很多细节都没有讲,所以用起来不那么顺畅,既然我自己都研究好了,就不麻烦大家再研究了。
1.钉钉机器人可以单聊推送、可以群推送,目前都是群推送
2.钉钉机器人有两种,目前写的都是后台创建应用的。 flows.zip (3.52 KB, 下载次数: 69)


--------------------2024-6-20更新消息队列-------------

flows.zip (3.69 KB, 下载次数: 15)

评分

参与人数 1金钱 +10 收起 理由
隔壁的王叔叔 + 10 厉害了word楼主!

查看全部评分

回复

使用道具 举报

3

主题

47

帖子

213

积分

中级会员

Rank: 3Rank: 3

积分
213
金钱
166
HASS币
0
 楼主| 发表于 2023-8-30 08:56:33 | 显示全部楼层
2023-08-30_085424.jpg
回复

使用道具 举报

5

主题

128

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
金钱
924
HASS币
0
发表于 2023-8-30 22:09:21 | 显示全部楼层
感谢,请问一下G_openConversationId如何获取
回复

使用道具 举报

5

主题

128

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
金钱
924
HASS币
0
发表于 2023-8-30 22:33:54 | 显示全部楼层
补充一下,本人也是小白,群会话ID(chatId/openConversationId)
获取教程:https://open.dingtalk.com/docume ... ition#35531e30ffynt,群会话ID(chatId/openConversationId)获取地址:https://open-dev.dingtalk.com/ap ... onversationByCorpId,填写corpId即可,其它保持默认,手机扫描二维码,选择需要调试的机器人,即可得到chatId/openConversationId
回复

使用道具 举报

3

主题

47

帖子

213

积分

中级会员

Rank: 3Rank: 3

积分
213
金钱
166
HASS币
0
 楼主| 发表于 2023-8-30 22:35:21 | 显示全部楼层
心之向阳 发表于 2023-8-30 22:09
感谢,请问一下G_openConversationId如何获取

登录开发者后台后,打开这个路径,按照说明操作就可以了
https://open.dingtalk.com/tools/explorer/jsapi?id=10303
回复

使用道具 举报

5

主题

128

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
金钱
924
HASS币
0
发表于 2023-8-30 22:40:18 | 显示全部楼层
后面自己解决了
回复

使用道具 举报

5

主题

128

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
金钱
924
HASS币
0
发表于 2023-8-30 22:42:59 | 显示全部楼层
咨询一下,这样弄好之后,ha如何调用和使用通知,谢谢
回复

使用道具 举报

5

主题

128

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
金钱
924
HASS币
0
发表于 2023-8-30 22:46:51 | 显示全部楼层
需要在config.yaml里面添加下面这个代码吗

notify:
  - platform: dingtalk_notify
    name: dingtalk        # 实体ID  比如这个出来就是notify.dingtalk
    appkey:               # 这个是钉钉应用里面新建应用的应用AppKey
    appsecret:            # 这个是钉钉应用里面新建应用的应用AppSecret
    touser: 'userid1'     # 默认接收者,用户的userid,每次最多传20个。: 如:userid1|userid2|userid3,在钉钉管理后台——内部通讯录管理——成员详情的最上显示“员工UserID”。
    https_proxies: username:[email protected]:8080   #支持https的代理服务器地址(可选项)初步测试公共代理可以使用
    resource: http://XXX.XXX.XXX.XXX:1880/endpoint   #选配服务器中转地址(可选项),默认为: https://api.dingtalk.com ,可设置为 http:xxx.xxx.com:1880/endpoint 或 http:xxx.xxx.com:1880(具体根据node-red的设置)
    resource_username: username  #选配服务器中转基本认证用户 如 node-red中的http_node username (可选项)
    resource_password: password  #选配服务器中转地址认证密码 如 node-red中的http_node password (可选项)
回复

使用道具 举报

3

主题

47

帖子

213

积分

中级会员

Rank: 3Rank: 3

积分
213
金钱
166
HASS币
0
 楼主| 发表于 2023-8-30 22:48:55 | 显示全部楼层
在nodered里面读取ha里面的家居数据,处理后,利用这个接口发送信息到钉钉群,或者在钉钉群@机器人,收到后判断指令,连接ha执行操作家居设备就可以了,附一个读取ha的天气的模块,构建了需要发送的信息,连接上发送程序就可以了发到钉钉群了
[
    {
        "id": "fd0b37d28f4ca7ad",
        "type": "api-current-state",
        "z": "b07b9e629f1e3946",
        "name": "家里感觉温度",
        "server": "0d791a796fc66ffe",
        "version": 3,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.wo_de_jia_gan_jue_wen_du",
        "state_type": "str",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "wo_de_jia_gan_jue_wen_du",
                "valueType": "str"
            }
        ],
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 340,
        "y": 540,
        "wires": [
            [
                "fc7565f511ea7c7c"
            ]
        ]
    },
    {
        "id": "fc7565f511ea7c7c",
        "type": "function",
        "z": "b07b9e629f1e3946",
        "name": "温度查询处理",
        "func": "let message = {\n    "title": "温度查询",\n    "text": "#### 家里的温度 \\n > 感知温度:"+msg.payload+"°C"\n}\nlet dmsg = {\n    "msgParam": JSON.stringify(message),\n    "msgKey": "sampleMarkdown",\n\n}\n\nglobal.set("dingMsg", JSON.stringify(dmsg));\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 540,
        "y": 540,
        "wires": [
            [
                "02b5c8ae84c5521f"
            ]
        ]
    },
    {
        "id": "0d791a796fc66ffe",
        "type": "server",
        "name": "Home Ass",
        "version": 5,
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "y|yes|true|on|home|open",
        "connectionDelay": true,
        "cacheJson": true,
        "heartbeat": false,
        "heartbeatInterval": "30",
        "areaSelector": "friendlyName",
        "deviceSelector": "friendlyName",
        "entitySelector": "friendlyName",
        "statusSeparator": ": ",
        "statusYear": "hidden",
        "statusMonth": "short",
        "statusDay": "numeric",
        "statusHourCycle": "default",
        "statusTimeFormat": "h:m",
        "enableGlobalContextStore": false
    }
]



回复

使用道具 举报

3

主题

47

帖子

213

积分

中级会员

Rank: 3Rank: 3

积分
213
金钱
166
HASS币
0
 楼主| 发表于 2023-8-30 22:50:39 | 显示全部楼层
心之向阳 发表于 2023-8-30 22:46
需要在config.yaml里面添加下面这个代码吗

notify:

你说的这个是ha里的机器人,我发的是node red的机器人,不是一个东西。
他的这个是直接发送给指定人的,属于单聊
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 10:59 , Processed in 0.056674 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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