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

[已解决] nodered时间节点没效?

[复制链接]
cook 手机认证

5

主题

34

回帖

157

积分

注册会员

积分
157
金钱
118
HASS币
0
 楼主| 发表于 2025-5-29 23:26:33 | 显示全部楼层
hungheo 发表于 2025-5-29 23:21
打开灯的时候,符合时间条件,就可以开空调,还是打开空调?

打开灯的时候,符合时间内,空调同时开了。
反之点击打开灯按钮的时候,如果不在时间断内,开灯同时空调也关闭掉。(感觉有漏洞,原本开空调时候给关闭了,缺少条件判断)
回复

使用道具 举报

10

主题

191

回帖

1769

积分

金牌会员

积分
1769
金钱
1568
HASS币
0
发表于 2025-5-29 23:35:57 | 显示全部楼层
cook 发表于 2025-5-29 23:26
打开灯的时候,符合时间内,空调同时开了。
反之点击打开灯按钮的时候,如果不在时间断内,开灯同时空调 ...

这样的不?

屏幕截图 2025-05-29 233505.png


[
    {
        "id": "d80206f1def63828",
        "type": "function",
        "z": "e9514e52a1f8e5cf",
        "name": "6:00到22:00",
        "func": "function timeToMinutes(timeStr) {\n    const [hours, minutes] = timeStr.split(':').map(Number);\n    return hours * 60 + minutes;\n}\nvar nowTime = timeToMinutes(`${new Date().getHours().toString().padStart(2, '0')}:${new Date().getMinutes().toString().padStart(2, '0')}`);\nif (nowTime > 360 && nowTime < 1320){\n    return { payload: "on" }\n}else{\n    return { payload: "off" }\n}\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 310,
        "y": 2120,
        "wires": [
            [
                "fdd0fa502f14cf00"
            ]
        ]
    },
    {
        "id": "fdd0fa502f14cf00",
        "type": "switch",
        "z": "e9514e52a1f8e5cf",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "on",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "off",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 450,
        "y": 2120,
        "wires": [
            [
                "af5179c503689ffc"
            ],
            [
                "cad8a0da03afc726"
            ]
        ]
    },
    {
        "id": "bc079345c4ec9553",
        "type": "inject",
        "z": "e9514e52a1f8e5cf",
        "name": "开灯",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 150,
        "y": 2120,
        "wires": [
            [
                "d80206f1def63828"
            ]
        ]
    },
    {
        "id": "af5179c503689ffc",
        "type": "api-current-state",
        "z": "e9514e52a1f8e5cf",
        "name": "检查空调状态 为关",
        "server": "df3fa6f0d06a05bd",
        "version": 3,
        "outputs": 2,
        "halt_if": "off",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "entity_id": "",
        "state_type": "str",
        "blockInputOverrides": true,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "entity"
            }
        ],
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 630,
        "y": 2080,
        "wires": [
            [
                "150526bfe14504c2"
            ],
            []
        ]
    },
    {
        "id": "150526bfe14504c2",
        "type": "api-call-service",
        "z": "e9514e52a1f8e5cf",
        "name": "打开空调",
        "server": "df3fa6f0d06a05bd",
        "version": 7,
        "debugenabled": false,
        "action": "",
        "floorId": [],
        "areaId": [],
        "deviceId": [],
        "entityId": [],
        "labelId": [],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "blockInputOverrides": true,
        "domain": "",
        "service": "",
        "x": 820,
        "y": 2080,
        "wires": [
            []
        ]
    },
    {
        "id": "cad8a0da03afc726",
        "type": "api-current-state",
        "z": "e9514e52a1f8e5cf",
        "name": "检查空调状态 为开",
        "server": "df3fa6f0d06a05bd",
        "version": 3,
        "outputs": 2,
        "halt_if": "off",
        "halt_if_type": "str",
        "halt_if_compare": "is_not",
        "entity_id": "",
        "state_type": "str",
        "blockInputOverrides": true,
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "entity"
            }
        ],
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "override_topic": false,
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "x": 630,
        "y": 2140,
        "wires": [
            [
                "05be7ab558a6e1d2"
            ],
            []
        ]
    },
    {
        "id": "05be7ab558a6e1d2",
        "type": "api-call-service",
        "z": "e9514e52a1f8e5cf",
        "name": "关闭空调",
        "server": "df3fa6f0d06a05bd",
        "version": 7,
        "debugenabled": false,
        "action": "",
        "floorId": [],
        "areaId": [],
        "deviceId": [],
        "entityId": [],
        "labelId": [],
        "data": "",
        "dataType": "jsonata",
        "mergeContext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "blockInputOverrides": true,
        "domain": "",
        "service": "",
        "x": 820,
        "y": 2140,
        "wires": [
            []
        ]
    },
    {
        "id": "1f115614e6e87476",
        "type": "comment",
        "z": "e9514e52a1f8e5cf",
        "name": "在时间段内",
        "info": "",
        "x": 560,
        "y": 2040,
        "wires": []
    },
    {
        "id": "2e35ab37c44e3bf0",
        "type": "comment",
        "z": "e9514e52a1f8e5cf",
        "name": "在时间段外",
        "info": "",
        "x": 560,
        "y": 2180,
        "wires": []
    },
    {
        "id": "df3fa6f0d06a05bd",
        "type": "server",
        "name": "Home Assistant",
        "version": 5,
        "addon": false,
        "rejectUnauthorizedCerts": false,
        "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
    }
]


回复

使用道具 举报

cook 手机认证

5

主题

34

回帖

157

积分

注册会员

积分
157
金钱
118
HASS币
0
 楼主| 发表于 2025-5-29 23:41:19 | 显示全部楼层

看流程图有点感觉了
回复

使用道具 举报

cook 手机认证

5

主题

34

回帖

157

积分

注册会员

积分
157
金钱
118
HASS币
0
 楼主| 发表于 2025-5-29 23:51:39 | 显示全部楼层

软件版本问题?复制黏贴,看了on位置不是数字,引号也是英文啊

微信图片_20250529235021.png
回复

使用道具 举报

10

主题

191

回帖

1769

积分

金牌会员

积分
1769
金钱
1568
HASS币
0
发表于 2025-5-30 00:01:48 | 显示全部楼层
cook 发表于 2025-5-29 23:51
软件版本问题?复制黏贴,看了on位置不是数字,引号也是英文啊

有可能吧,点击复制代码,不要框选
实在不行,function节点内容,我之前回复了的,接一个switch 分出on off ,在分别接 state event(设置is ,is not条件),最后接一个action
回复

使用道具 举报

cook 手机认证

5

主题

34

回帖

157

积分

注册会员

积分
157
金钱
118
HASS币
0
 楼主| 发表于 2025-5-30 11:16:49 | 显示全部楼层


判断状态节点的可视化界面能给一下吗?我这里输出都是制冷模式cool,并不是想要的是否关闭状态


微信图片_20250530111448.png
回复

使用道具 举报

10

主题

191

回帖

1769

积分

金牌会员

积分
1769
金钱
1568
HASS币
0
发表于 2025-5-30 14:52:12 | 显示全部楼层
cook 发表于 2025-5-30 11:16
判断状态节点的可视化界面能给一下吗?我这里输出都是制冷模式cool,并不是想要的是否关闭状态

你的截图上不是有么,if state. is off ,对的呀。我是临时编辑的,没保存。
回复

使用道具 举报

cook 手机认证

5

主题

34

回帖

157

积分

注册会员

积分
157
金钱
118
HASS币
0
 楼主| 发表于 2025-5-30 16:06:03 | 显示全部楼层
hungheo 发表于 2025-5-30 14:52
你的截图上不是有么,if state. is off ,对的呀。我是临时编辑的,没保存。

检查空调状态:这里有时候是cool,有时候是on/off。
如果状态是on/off,能够执行下一步。
如果状态显示cool,没法下一步了。

有时候好莫名其妙。不知道什么时候是cool,什么时候是onoff
回复

使用道具 举报

10

主题

191

回帖

1769

积分

金牌会员

积分
1769
金钱
1568
HASS币
0
发表于 2025-5-30 19:16:53 | 显示全部楼层
本帖最后由 hungheo 于 2025-5-30 19:25 编辑
cook 发表于 2025-5-30 16:06
检查空调状态:这里有时候是cool,有时候是on/off。
如果状态是on/off,能够执行下一步。
如果状态显示coo ...

。。。。。。
这个是你空调的状态,你开的制冷模式,状态就是cool,实在搞不清楚,在ha开发者工具-->状态,输入entity id查看下
一般空调是没有no的状态的
没有on就用is not off作为条件也可以
屏幕截图 2025-05-30 191509.png

current state直接填ID,啥也别改,action,根据自己需求改
flows.zip (1.59 KB, 下载次数: 3)





回复

使用道具 举报

cook 手机认证

5

主题

34

回帖

157

积分

注册会员

积分
157
金钱
118
HASS币
0
 楼主| 发表于 7 天前 | 显示全部楼层
微信图片_20250531011342.png


可能是老式空调,通过涂鸦红外遥控弄出来的实体,加上网络反应各种问题导致。我用遥控开机的时候,发现HA里面的空调操作界面还是off状态。或者空调已经处于关机,但HA系统里面正在cool制冷模式。总之就是网络和实体不在同步上,只有投机取巧的方法,在时间后面直接补刀一下,无论是cool/off都添加条件上去,这样就无碍了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-6-7 13:20 , Processed in 0.077202 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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