sfjnjau 发表于 2019-5-7 22:01:54

智能插座 TCP 控制求助

本帖最后由 sfjnjau 于 2019-5-7 22:04 编辑

手头有个reco4life的插座,可以通过UDP广播地址批量识别,通过TCP协议控制开关、读取信息……但是作为小白,实在没能力写插件,参照switch.command_line和sensor.tcp 摸索了一阵,command_on和command_off 用不了,点击开关没反应(直接在PUTTY里输命令行是可以开关插座的),sensor.tcp 可以读取信息,但不知是端口占用还是设备拒绝,信息读取不稳定。求大佬指点指点,或者帮忙搞个插件哈:)

switch:
platform: command_line
switches:
    recoplug:
      command_on: " echo AT+YZSWITCH=1,ON,20190505 >/dev/tcp/192.168.50.69/8899"
      command_off: " echo AT+YZSWITCH=1,OFF,20190505 >/dev/tcp/192.168.50.69/8899"
#      command_state: "cat <echo AT+YZOUT >/dev/tcp/192.168.50.69/8899"
#      value_template: '{{ value == "1" }}'
      friendly_name: test


sensor:
- platform: tcp
    name: recoplug-I
    host: 192.168.50.69
    port: 8899
    payload: "AT+YZOUT"
    value_template: "{{ (value.split(',')).split('=') | multiply(0.01) | round(2) }}"
    unit_of_measurement: A

- platform: tcp
    name: recoplug-U
    host: 192.168.50.69
    port: 8899
    payload: "AT+YZOUT"
    value_template: "{{ value.split(',') | multiply(0.01) | round(2) }}"
    unit_of_measurement: V

- platform: tcp
    name: recoplug-F
    host: 192.168.50.69
    port: 8899
    payload: "AT+YZOUT"
    value_template: "{{ value.split(',') | multiply(0.01) | round(2) }}"
    unit_of_measurement: Hz

- platform: tcp
    name: recoplug-P
    host: 192.168.50.69
    port: 8899
    payload: "AT+YZOUT"
    value_template: "{{ value.split(',') | multiply(0.1) | round(2) }}"
    unit_of_measurement: W

- platform: tcp
    name: recoplug-E
    host: 192.168.50.69
    port: 8899
    payload: "AT+YZOUT"
    value_template: "{{ value.split(',') | round(2) }}"
    unit_of_measurement: WH
以下是在GITHUB上搜到的用这款插座的项目,看看能不能参考……
https://github.com/legendmohe/LEHome/blob/a959a2fe64a23c58de7c0ff3254eae8c27732320/lib/helper/SwitchHelper.py


余歌唱晚 发表于 2019-12-3 22:28:51

看不懂 太厉害 难道不是被转义了?
页: [1]
查看完整版本: 智能插座 TCP 控制求助