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

 找回密码
 立即注册
楼主: liy517

[流程系列] NodeRed时间的判断

[复制链接]

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-5 16:11:15 | 显示全部楼层
Solita 发表于 2023-2-4 22:05
流很简单啊,就是累加1,然后后面判断是否等于1,等于1才执行
至于延时200ms是因为我用的蓝牙人体包含关 ...

照葫芦画瓢,设置好了,谢谢啊~~
回复

使用道具 举报

220

主题

1284

帖子

7847

积分

超级版主

Rank: 8Rank: 8

积分
7847
金钱
6533
HASS币
86

教程狂人论坛风云人物突出贡献

发表于 2023-2-6 22:35:23 | 显示全部楼层
node-red-contrib-time-range-switch
这个节点很方便设定时间限制
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-7 08:52:34 | 显示全部楼层
lidicn 发表于 2023-2-6 22:35
node-red-contrib-time-range-switch
这个节点很方便设定时间限制

谢谢L大指点
回复

使用道具 举报

12

主题

100

帖子

780

积分

高级会员

Rank: 4

积分
780
金钱
680
HASS币
0
发表于 2023-2-7 16:26:23 | 显示全部楼层
Solita 发表于 2023-2-4 12:17
第2个问题就更简单了,一个stoptimer节点就能搞定

这个流,如果书房灯是手动按下开关打开的,并且希望它一直亮着,就有冲突了
逻辑应该是流本身打开的,才能去关闭,其它情况不关闭.
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-7 22:36:08 | 显示全部楼层
cxz7411 发表于 2023-2-7 16:26
这个流,如果书房灯是手动按下开关打开的,并且希望它一直亮着,就有冲突了
逻辑应该是流本身打开的,才能去 ...

有道理,按你这个逻辑,应该还要添加什么节点限制一下?
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-8 13:23:01 | 显示全部楼层
lidicn 发表于 2023-2-6 22:35
node-red-contrib-time-range-switch
这个节点很方便设定时间限制

L大大,这个帖子里14楼的朋友提出的问题,我试了一下,确实是如果是手动打开了某个灯,但是自动化里有延时关灯的设置,那么时间到后,这个手动打开的灯会关闭。
如何能设置如果是手动开启的,不执行该自动化
回复

使用道具 举报

12

主题

100

帖子

780

积分

高级会员

Rank: 4

积分
780
金钱
680
HASS币
0
发表于 2023-2-9 16:12:34 | 显示全部楼层
liy517 发表于 2023-2-7 22:36
有道理,按你这个逻辑,应该还要添加什么节点限制一下?

添加一个变量即可,是流打开灯就设置变量为一个特定值,关闭以前判断变量值,不是特定值就不去关闭.
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-9 16:58:30 | 显示全部楼层
cxz7411 发表于 2023-2-9 16:12
添加一个变量即可,是流打开灯就设置变量为一个特定值,关闭以前判断变量值,不是特定值就不去关闭. ...

我没啥nodered的基础,都是拿别人的节点学习、模仿,能不能劳烦您出个json的流,或者变量设置的截图。
回复

使用道具 举报

12

主题

100

帖子

780

积分

高级会员

Rank: 4

积分
780
金钱
680
HASS币
0
发表于 2023-2-10 08:26:45 | 显示全部楼层
本帖最后由 cxz7411 于 2023-2-10 08:30 编辑

[
    {
        "id": "738747e3a7efec0f",
        "type": "api-call-service",
        "z": "315241eea03eb53d",
        "name": "打开玄关灯",
        "server": "1322427d28179114",
        "version": 5,
        "debugenabled": false,
        "domain": "switch",
        "service": "turn_on",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "switch.isa_kg03hl_dd9c_left_switch_service"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 830,
        "y": 120,
        "wires": [
            [
                "44deb376f221f035"
            ]
        ]
    },
    {
        "id": "afc0b42dc7a05828",
        "type": "api-call-service",
        "z": "315241eea03eb53d",
        "name": "关闭玄关灯",
        "server": "1322427d28179114",
        "version": 5,
        "debugenabled": false,
        "domain": "switch",
        "service": "turn_off",
        "areaId": [],
        "deviceId": [],
        "entityId": [
            "switch.isa_kg03hl_dd9c_left_switch_service"
        ],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 1190,
        "y": 220,
        "wires": [
            [
                "9740e457f5ba2665"
            ]
        ]
    },
    {
        "id": "019adaac41bf4c4e",
        "type": "api-current-state",
        "z": "315241eea03eb53d",
        "name": "环境光_移动",
        "server": "1322427d28179114",
        "version": 3,
        "outputs": 2,
        "halt_if": "0",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "sensor.bmgl01_event_p8ec00_motion_illumination",
        "state_type": "str",
        "blockInputOverrides": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            }
        ],
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 630,
        "y": 120,
        "wires": [
            [
                "738747e3a7efec0f"
            ],
            []
        ]
    },
    {
        "id": "9443b75c056bec68",
        "type": "server-state-changed",
        "z": "315241eea03eb53d",
        "name": "人员移动事件",
        "server": "1322427d28179114",
        "version": 4,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "sensor.bmgl01_event_p8ec00_motion",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 1,
        "output_only_on_state_change": false,
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "ignorePrevStateNull": false,
        "ignorePrevStateUnknown": false,
        "ignorePrevStateUnavailable": false,
        "ignoreCurrentStateUnknown": false,
        "ignoreCurrentStateUnavailable": false,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "eventData"
            },
            {
                "property": "topic",
                "propertyType": "msg",
                "value": "",
                "valueType": "triggerId"
            }
        ],
        "x": 150,
        "y": 160,
        "wires": [
            [
                "c4630e517468b60c"
            ]
        ]
    },
    {
        "id": "0402a48a73912b65",
        "type": "ha-wait-until",
        "z": "315241eea03eb53d",
        "name": "延时等待",
        "server": "1322427d28179114",
        "version": 2,
        "outputs": 2,
        "entityId": "sensor.bmgl01_event_p8ec00_motion",
        "entityIdFilterType": "exact",
        "property": "payload",
        "comparator": "is",
        "value": "123",
        "valueType": "str",
        "timeout": "35",
        "timeoutType": "num",
        "timeoutUnits": "seconds",
        "checkCurrentState": true,
        "blockInputOverrides": true,
        "outputProperties": [],
        "entityLocation": "data",
        "entityLocationType": "none",
        "x": 1020,
        "y": 220,
        "wires": [
            [],
            [
                "afc0b42dc7a05828"
            ]
        ]
    },
    {
        "id": "c4630e517468b60c",
        "type": "api-current-state",
        "z": "315241eea03eb53d",
        "name": "判断玄关灯",
        "server": "1322427d28179114",
        "version": 3,
        "outputs": 2,
        "halt_if": "off",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "switch.isa_kg03hl_dd9c_left_switch_service",
        "state_type": "str",
        "blockInputOverrides": false,
        "outputProperties": [],
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 330,
        "y": 160,
        "wires": [
            [
                "019adaac41bf4c4e"
            ],
            [
                "a7ef649c114660e0"
            ]
        ]
    },
    {
        "id": "44deb376f221f035",
        "type": "function",
        "z": "315241eea03eb53d",
        "name": "设置变量",
        "func": "context.set (\"kaideng\",true);\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1000,
        "y": 120,
        "wires": [
            [
                "0402a48a73912b65"
            ]
        ]
    },
    {
        "id": "9740e457f5ba2665",
        "type": "function",
        "z": "315241eea03eb53d",
        "name": "设置变量",
        "func": "context.set (\"kaideng\",false);\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1360,
        "y": 220,
        "wires": [
            []
        ]
    },
    {
        "id": "a7ef649c114660e0",
        "type": "function",
        "z": "315241eea03eb53d",
        "name": "判断变量",
        "func": "if( context.get (\"kaideng\")==true){return msg;}\nreturn null;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 200,
        "wires": [
            [
                "0402a48a73912b65"
            ]
        ]
    },
    {
        "id": "1322427d28179114",
        "type": "server",
        "name": "Home Assistant",
        "addon": false,
        "rejectUnauthorizedCerts": true,
        "ha_boolean": "",
        "connectionDelay": false,
        "cacheJson": false,
        "heartbeat": false,
        "heartbeatInterval": "",
        "statusSeparator": "",
        "enableGlobalContextStore": false
    }
] 导出的.txt.pdf (7.87 KB, 下载次数: 12) 去掉.pdf

回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-10 20:59:28 | 显示全部楼层
cxz7411 发表于 2023-2-10 08:26
[
    {
        "id": "738747e3a7efec0f",

参照着把nodered流设置好了,也试了,确实是手动开启后,不再执行自动化命令。
但有一点小问题:开关关闭,触发自动化后,在设定的关灯时间内,人体感应再次感应到人,时间不会重新计算,尝试着折腾了一下,以失败告终。


额外有个问题也想请教一下:比如在nodered里设定了A自动化的流,然后再新建页面设定一个流,在新建的流里能不能设定,按下开关,A的自动化开始执行。
EODERED.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 22:29 , Processed in 0.057631 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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