高级-生物节律

功能介绍

  • 生物节律:将自然光的概念通过设备带到室内:将一天设为N个时刻(1≤N≤8),并设置各自对应的亮度和色温。设备一天内模拟太阳自动按照这N个时刻来渐变。
  • 涂鸦人因照明(高级功能):可以选择精确到具体经纬度的目的地定位。点击保存地址后,经纬度生物节律功能开启。功能开启后,智能照明设备将会根据时间变化,自动调整其色温和亮度,来模拟定位地区的自然光照情况。自然的光环境,不仅可以帮助平衡人眼的视觉感受,还能够调节激素水平和生物钟,进而正向地影响人体心理和情绪健康。 目前只有单设备有此功能,群组屏蔽。路数 只支持二路和五路

生物节律默认模式

  • 默认模式展示4个节点,WIFI协议:实际dp下发6个节点,sigMesh协议:下发4个节点。
    • 其中下发的颜色、时间均不可调节,点击色盘置灰,默认为展示功能。

生物节律自然模式

  • 自然模式展示3个节点,WIFI协议时:实际下发5个节点,sigMesh协议:下发3个节点。 首次进入【自然模式】,默认值为与【默认模式】一样。色环上方提示选择城市,点击跳转至地图页面选择经纬度,如果手机没有开启定位功能需要提醒开启定位功能。
    进入地图,如果没有打开GPS,默认定位到北京;如果打开了GPS,默认定位到手机所在地的经纬度 只要选择过经纬度,不管是否保存,下次进入【自然模式】会记忆上次选择的经纬度。 选择经纬度后,会通过接口根据经纬度获取到日出、正午、日落三个时间节点,并根据这三个节点补充剩余两个隐藏节点并进行下发。

生物节律自定义模式

  • 自定义模式展示4个节点,WIFI协议时:实际dp下发6个节点,sigMesh协议:下发4个节点。
    • 点击时间下方的颜色圆圈,可以自定义时间和色温。

DP 协议

默认数据:

0、隐藏节点:
    hour: 6,
    minute: 0,
    hue: 0,
    saturation: 0,
    value: 0,
    brightness: 0,
    temperature: 100,
1、唤醒/日出 
    hour: 6,
    minute: 30,
    hue: 0,
    saturation: 0,
    value: 0,
    brightness: 100,
    temperature: 50,
2、正午
    hour: 11,
    minute: 30,
    hue: 0,
    saturation: 0,
    value: 0,
    brightness: 100,
    temperature: 100,
3、日落
    hour: 17,
    minute: 0,
    hue: 0,
    saturation: 0,
    value: 0,
    brightness: 70,
    temperature: 50,
4、隐藏节点
    hour: 20,
    minute: 30,
    hue: 0,
    saturation: 0,
    value: 0,
    brightness: 70,
    temperature: 50,
5、入睡
    hour: 21,
    minute: 0,
    hue: 0,
    saturation: 0,
    value: 0,
    brightness: 0,
    temperature: 0,
0号节点早于1号节点(起床)半小时
4号节点早于5号节点(入睡)半小时
当协议为Wi-Fi时,需要下发隐藏节点,否则不用。

具体协议

  • 版本 0x00
版本号任务开关模式选择日期设定节点数节点1…….节点N
1byte:0x001byte1byte1byte1byte9byte9byte
  • 版本 0x01
版本号任务开关模式选择日期设定参数模式节点数节点1…….节点N
1byte:0x011byte1byte1byte1byte: 0x01:仅含BT 0x02:仅含HSV 0x03:含HSVBT1byte5-9byte 5byte/7byte/9byte5 - 9byte
  • 字段说明
字段序号长度(byte)数据代表说明
版本号110x00:初始版本
任务开关210x00:任务关闭 0x01:任务打开
模式选择310x00:两节点之间一直渐变 0x0F:到达节点时间后开始渐变,渐变完成时间为该字段值。最小允许值15. 如:0x0F表示节点时间到达后15分钟完成渐变
日期设定41解析具体的字节位,某天生效,相应位置1,见后文五说明
节点个数510x01:1个节点。范围允许值1~8
节点参数节点开关1节点开关优先级低于任务开关,只有任务开关开启的情况下才判断节点开关的状态 0x00:节点禁能,不生效 0x01:节点使能,生效
小时10x10:hex码,16点,范围允许值0~23。
分钟10x10:hex码,16分,范围允许值0~59
色调20x03, 0x10:hex码。大端格式,第一个字节表示百位,第二个字节表示十位,个位。实际值表示316。范围允许值0~360。
饱和度百分比10x10:hex码,16%;范围允许值0~100
明度百分比10x10:hex码,16%,范围允许值1~100
亮度百分比10x10:hex码,16%,范围允许值1~100
色温百分比10x10:hex码,16%.范围允许值0~100
  • 目前的生物节律无法选择日期,默认全1
    • 如果全0,表示单次模式,只生效一次;否则为循环模式,判断相应位是否置1,位置1表示当天生效。如0x42表示任务在星期六和星期一生效(注意必须保证相应的任务开关是处于开启状态)
保留星期六星期五星期四星期三星期二星期一星期日
bit7bit6bit5bit4bit3bit2bit1bit0

生物节律接口

如何开发

import RhythmCircle from '@ray-js/lamp-rhythm-circle';

export default function Home() {
  // 每一个时间节点 8>节点个数>2
  const [rhythmNode, setRhythmNode] = useState([
    {
      activeColor: '#CE8040', //节点对应的渐变颜色
      icon: res.icon1_colour, //节点对应展示的icon
      time: 390, //节点对应的时间数据 单位为分钟
      valid: true, //节点是否可以拖动
    },
    {
      activeColor: '#CEECFE',
      icon: res.icon2_colour,
      time: 690,
      valid: true,
    },
    {
      activeColor: '#B3ABA8',
      icon: res.icon3_colour,
      time: 1020,
      valid: true,
    },
    {
      activeColor: '#1E272C',
      icon: res.icon4_colour,
      time: 1260,
      valid: true,
    },
  ]);

  const handleChange = v => {
    // 当滑动时,会返回当前的所有节点数据,以及当前拖动的节点index
    const { value, activeIndex } = v;
    setRhythmNode(value);
  };

  const handleRelease = v => {};
  return (
    <View className={styles.view}>
      <DemoBlock title="基础用法">
        <Text className={styles.demoBlockTitleText}>生物节律</Text>
        // 详细文档见 https://developer.tuya.com/material/library_oHEKLjj0/component?code=ComponentsTyLamp&subCode=LampRhythmCircle
        <RhythmsCircle
          // 外圈半径
          innerRadius={107.5}
          // 内圈背景
          radius={147.5}
          // 节点最小时间间隔
          timeOffset={30}
          // 节点数据
          data={rhythmNode}
          // move时触发的事件
          onChange={handleChange}
          // end释放时触发的事件
          onRelease={handleRelease}
        />
      </DemoBlock>
    </View>
  );
}

注意事项

  • Wi-Fi和zigbee设备若生物节律启用时开启开关,需要再次下发生物节律使其生效

相关物料