找回密码
 立即注册
查看: 705|回复: 18

[流程系列] 如何实现与或非逻辑

[复制链接]

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
发表于 2024-12-31 17:59:42 | 显示全部楼层 |阅读模式
本帖最后由 qawsedfffrr 于 2024-12-31 20:48 编辑

1-1=1;1-0=0;0-1=0;0-0=1  就是类似这种功能,同时检测2个状态ON才能输出ON。 nodered应该怎样编写呢?
回复

使用道具 举报

jjcs 手机认证

51

主题

1918

回帖

7761

积分

论坛元老

积分
7761
金钱
5782
HASS币
40
发表于 2024-12-31 18:24:02 | 显示全部楼层
这不是最基本的吗
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

15

主题

451

回帖

3151

积分

论坛元老

积分
3151
金钱
2685
HASS币
0
发表于 2024-12-31 20:12:47 | 显示全部楼层
你是不是說這個
螢幕擷取畫面 2024-12-31 201211.png
回复

使用道具 举报

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
 楼主| 发表于 2024-12-31 20:47:38 | 显示全部楼层

我不是用HA的自动化,用的是nodered
回复

使用道具 举报

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
 楼主| 发表于 2024-12-31 20:49:22 | 显示全部楼层
jjcs 发表于 2024-12-31 18:24
这不是最基本的吗

人无完人
回复

使用道具 举报

7

主题

165

回帖

1404

积分

金牌会员

积分
1404
金钱
1232
HASS币
0
发表于 2024-12-31 21:34:17 | 显示全部楼层
确实是最基本的,拖两个state节点连接起来不就行了么
回复

使用道具 举报

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
 楼主| 发表于 2024-12-31 22:39:37 | 显示全部楼层
hungheo 发表于 2024-12-31 21:34
确实是最基本的,拖两个state节点连接起来不就行了么

这种用法局限,这种方法是按顺序判断的。假设第一个条件判断ON,第二个条件判断OFF,在一定时间后才变成ON,在state第二个条件已经是OFF无法再变成ON,即使实际情况第二个条件的实物是ON。
回复

使用道具 举报

9

主题

46

回帖

182

积分

注册会员

积分
182
金钱
127
HASS币
0
 楼主| 发表于 2024-12-31 22:41:17 | 显示全部楼层
hungheo 发表于 2024-12-31 21:34
确实是最基本的,拖两个state节点连接起来不就行了么

我要是的不是这种简单串起来的判断,而是2个条件分开来独自判断得出结果对比结果再输出总结果并且是不断有判断当前开关究竟什么结果。
回复

使用道具 举报

7

主题

165

回帖

1404

积分

金牌会员

积分
1404
金钱
1232
HASS币
0
发表于 2025-1-1 00:36:27 | 显示全部楼层
qawsedfffrr 发表于 2024-12-31 22:41
我要是的不是这种简单串起来的判断,而是2个条件分开来独自判断得出结果对比结果再输出总结果并且是不断 ...

那就别什么:1-1=1;1-0=0之类的比喻,直接说你想实现的内容是什么,没人会闲得没事去揣测你的隐私。
2个条件分开判断再输出结果,一个function就搞定
回复

使用道具 举报

hhh. 手机认证

9

主题

292

回帖

2736

积分

论坛UI达人

积分
2736
金钱
2435
HASS币
0
发表于 2025-1-1 00:47:24 | 显示全部楼层
流程:
时间戳(循环时间自定)- current state(添加两个分别获取)- function - 输出

function 内容如下:

# 计算两个设备的 msg.payload("ON" 或 "OFF")并返回最终结果
def calculate_final_result(msg):
    # 获取设备 1 和 设备 2 的值(假设值是 "ON" 或 "OFF")
    device1_value = msg.payload.get('device1', 'OFF')  # 默认 'OFF' 如果没有找到
    device2_value = msg.payload.get('device2', 'OFF')  # 默认 'OFF' 如果没有找到
   
    # 根据规则计算结果
    if device1_value == device2_value:
        result = "ON"
    else:
        result = "OFF"
   
    # 返回一个只包含最终结果的字典对象
    result_object = {
        'final_result': result
    }
   
    return result_object


这类流程完全可以借助AI去实现,如:chatGPT,通义千问等。
                                          
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 15:23 , Processed in 1.148279 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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