GithubHelp home page GithubHelp logo

phicomm_dc1-esphome's People

Contributors

samuel-0-0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phicomm_dc1-esphome's Issues

输入中文后WebServer显示错乱

`sensor:

  • platform: cse7766
    voltage:
    name: "${device_name} 电压"
    current:
    name: "${device_name} 电流"
    power:
    name: "${device_name} 功率"`

将name的值改为中文后,WebServer中name对应的state对应不上,比如:uptime的state变成了239V

修改

怎么修改WIFI名字? 还要OTA刷机吗?

大神刷完这个有个小bug

dc1刷了固件,断电后再通电 dc1可以被ha控制开关,但是插座是不通电的,需要把dc1主开关 关一编再打开就正常了通电了。

编译报错

root@iZwz9dm568mc3jd27qjlkmZ:~/esphome# esphome dc1_homeassistant_mqtt.yaml compile
INFO Reading configuration dc1_homeassistant_mqtt.yaml...
WARNING ESP8266: Pin 6 (6-11) might already be used by the flash interface. Be warned.
WARNING ESP8266: Pin 7 (6-11) might already be used by the flash interface. Be warned.
Failed config

cat9554:

Component not found: cat9554.

  • id: cat9554_hub
    address: 32
    irq_pin: GPIO4
    binary_sensor.gpio: [source dc1_homeassistant_mqtt.yaml:215]
    platform: gpio
    name: phicomm_dc1_1 key1
    internal: True
    pin: [source dc1_homeassistant_mqtt.yaml:221]

    [cat9554] is an invalid option for [pin]. Please check the indentation.
    cat9554: cat9554_hub [source dc1_homeassistant_mqtt.yaml:221]
    number: 0
    mode: INPUT
    filters:

    • invert: {}
    • delayed_on: 40ms
    • delayed_off: 40ms
      on_click:
    • min_length: 50ms
      max_length: 350ms
      then:
      • switch.toggle: switch1
        binary_sensor.gpio: [source dc1_homeassistant_mqtt.yaml:234]
        platform: gpio
        name: phicomm_dc1_1 key2
        internal: True
        pin: [source dc1_homeassistant_mqtt.yaml:240]

    [cat9554] is an invalid option for [pin]. Please check the indentation.
    cat9554: cat9554_hub [source dc1_homeassistant_mqtt.yaml:240]
    number: 1
    mode: INPUT
    filters:

    • invert: {}
    • delayed_on: 40ms
    • delayed_off: 40ms
      on_click:
    • min_length: 50ms

wifi灯一直闪烁

用api版本的配置文件编译固件,刷DC1后。wifi灯一直在闪烁。

esphome目录中没有setup.py

本地编译,总是是下载失败。想上传到guge的vps编译,但是下载的esphome文件夹中,并没有setup.py文件。如何执行python setup.py build

windows工具V1.2无法编译

选择1 提示no module named esphome,
选择3 下载完esphome-dc1.zip后提示:
Traceback (most recent call last):
File "setup.py", line 3, in
from setuptools import setup, find_packages
ImportError: No module named setuptools

使用OTA上传失败

之前按照教程先用线刷刷好了固件并接入了homeassistant,然后我就想试试OTA看能不能上传,结果到最后报错,看报错内容像是没有响应,但是它返回了具体的IP地址了应该连上了,还有就是默认设置了OTA密码但是在OTA上传过程中没有用到,请问大佬这是什么原因。
QQ截图20190608204644
QQ截图20190608205152

报错,无法解决,严格按照教程

�[32mINFO Reading configuration dc1.yaml...�[0m
�[33mWARNING ESP8266: Pin 6 (6-11) might already be used by the flash interface. Be warned.�[0m
�[33mWARNING ESP8266: Pin 7 (6-11) might already be used by the flash interface. Be warned.�[0m
Failed config

cat9554: [source dc1.yaml:88]

Component not found: cat9554.
id: cat9554_hub
irq_pin: GPIO4
binary_sensor.gpio: [source dc1.yaml:130]
platform: gpio
name: phicomm_dc1_api key1
internal: True
pin: [source dc1.yaml:136]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:136]
number: 0
mode: INPUT

filters:
- invert: {}
- delayed_on: 50ms
- delayed_off: 50ms
on_click:
- min_length: 50ms
max_length: 500ms
then:
- switch.toggle: switch1
binary_sensor.gpio: [source dc1.yaml:149]
platform: gpio
name: phicomm_dc1_api key2
internal: True
pin: [source dc1.yaml:155]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:155]
number: 1
mode: INPUT

filters:
- invert: {}
- delayed_on: 50ms
- delayed_off: 50ms
on_click:
- min_length: 50ms
max_length: 500ms
then:
- switch.toggle: switch2
binary_sensor.gpio: [source dc1.yaml:168]
platform: gpio
name: phicomm_dc1_api key3
internal: True
pin: [source dc1.yaml:174]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:174]
number: 2
mode: INPUT

filters:
- invert: {}
- delayed_on: 50ms
- delayed_off: 50ms
on_click:
- min_length: 50ms
max_length: 500ms
then:
- switch.toggle: switch3
output.gpio: [source dc1.yaml:241]
platform: gpio
id: realy3
setup_priority: 900
pin: [source dc1.yaml:247]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:247]
number: 4
mode: OUTPUT
inverted: False

output.gpio: [source dc1.yaml:252]
platform: gpio
id: realy2
setup_priority: 900
pin: [source dc1.yaml:257]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:257]
number: 5
mode: OUTPUT
inverted: False

output.gpio: [source dc1.yaml:262]
platform: gpio
id: realy1
setup_priority: 900
pin: [source dc1.yaml:267]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:267]
number: 6
mode: OUTPUT
inverted: False

output.gpio: [source dc1.yaml:272]
platform: gpio
id: realy0
setup_priority: 900
pin: [source dc1.yaml:277]

[cat9554] is an invalid option for [pin]. Please check the indentation.
cat9554: cat9554_hub [source dc1.yaml:277]
number: 7
mode: OUTPUT
inverted: False

作者有无研究过原厂ota方式?

如果能用dns劫持方式劫持到自己的服务器,使用原厂ota方式升级,那就避免了拆外壳等一系列动作,省事多了。我尝试了将原厂bin升级到一块nodemcu中,想看下串口信息,试了几个常用波特率,全是乱码,感觉串口在不停输出。
不知道有人抓过原厂ota或者了解这个串口调试的人是否可以贡献点信息,如果能破解原厂ota,那后续升级就好办多了

设备掉线

模块型号:csm64f02
固件:dc1_homeassistant
路由器:斐讯k2p A2 官改固件
固件编译环境:win10 1803

问题描述:
未接入HA平台状态下, wifi指示灯一直闪烁,连接上wifi后还是闪烁,并且连接上wifi之后路由器后台在线设备列表里没有DC1插排,300S后自动重启。
定时重启能关闭,但是WIFI-LED灯光一直闪烁,路由器后台不显示是怎么回事呢,请问固件就是这么设计的,接入HA平台才算在线,其他状态算离线,还是bug,或者是操作不对?

建议:插座名称根据wifi MAC地址后几位自动生成

yaml配置文件里边只用填写插座名称的头部,比如我的是dc1,最终编译后的设备名称大概为dc1_AABBCCDD,这里的AABBCCDD是mac地址后六位。这样,配置最终配置文件比较通用。
我家里有8个dc1插座,需要维护的配置文件就有8个

你好 编译出这样的错 是什么原因

ERROR Error while reading config: Invalid YAML syntax. Please see YAML syntax reference or use an online YAML syntax validator:

Error reading file secrets.yaml: [Errno 2] No such file or directory: 'secrets.yaml'
就算 直接下载你的yaml文件什么都不改都会出这样的错 改了下wifi名和密码 也是同样的错误

大神,mqtt的那个配置文件验证不通过是啥原因呢

INFO Reading configuration...
Failed config

cat9554: [source config/999.yaml:146]

'irq' is a required option for [cat9554].

  • [source config/999.yaml:146]
    id: cat9554_hub
    address: 32

    [irq_pin] is an invalid option for [cat9554]. Did you mean [irq]?
    irq_pin: GPIO4

[W][i2c:080]: Received NACK on transmit of data for address 0x20 esphome

你们有没有遇到“[W][i2c:080]: Received NACK on transmit of data for address 0x20 esphome”这样的报错??

错误发生在操作开关开启或者关闭时,出现这个错误会导致其他的开关断电,虽然1秒后会复位,但是会造成很大的麻烦。特别是常供电的设备

我看了下貌似是cat9554的问题??
有没有避免的方法?

esphome:
  name: $device_name
  platform: ESP8266
  board: $board_model
  #状态恢复保持
  esp8266_restore_from_flash: yes
#--------------指定esphome_core来源------------------
  esphome_core_version:
    #指定本地来源
    #local: path/to/esphome-core
    #指定外部来源
    repository: https://github.com/Samuel-0-0/esphome-core.git
    #指定分支
    branch: dc1
#----------------------------------------------------
  #指定编译临时文件存放位置
  build_path: build\$device_name
  #指定arduino版本
  arduino_version: 2.5.0
#-----------------platform相关设置-------------------
  platformio_options:
    #指定platform-espressif8266来源
    platform: https://github.com/Samuel-0-0/platform-espressif8266.git#dc1
#----------------------------------------------------

#--------------------- 只需要改这下面的内容 ---------------------
substitutions:
  #WiFi芯片版本,型号中带B的为csm64f02_b,不带B的为csm64f02
  board_model: csm64f02_b
  #设备名称(多个dc1改成不一样的)
  device_name: dc4
  #WiFi_SSID名称
  wifi_ssid: '****'
  #WiFi密码
  wifi_password: '****'
  #如果SSID是隐藏的,设置为true
  wifi_fast_connect: 'false'
  #WiFi离线多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s
  wifi_reboot_timeout: 0s
  mqtt_reboot_timeout: 0s

  #OTA密码
  ota_password: '12345'
  #与客户端(如Home Assistant)失去连接多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s
  #api_reboot_timeout: 600s
  #电量统计的数据更新时间,秒s/分钟min/小时h
  cse7766_update_interval: 30s
#--------------------- 只需要改这上面的内容 ---------------------

wifi:
  ssid: $wifi_ssid
  password: $wifi_password
#----------需要设置静态地址的改下面的配置------------
#  manual_ip:
#    static_ip: 192.168.178.230
#    gateway: 192.168.178.1
#    subnet: 255.255.255.0
#    dns1: 1.1.1.1
#    dns2: 1.2.2.1
#----------------------------------------------------
  domain: .local
  reboot_timeout: $wifi_reboot_timeout
  power_save_mode: light
  fast_connect: $wifi_fast_connect

#---------不使用api与设备连接的话删除api配置---------
# api:
#   reboot_timeout: $api_reboot_timeout
#----------------------------------------------------
mqtt:
  broker: mqtt # mqtt服务器ip/域名
  #username: mosquitto # 账号
  #password: 123 # 密码
  #-------------------------------#
  #birth_message: # 连接通知,设备发起
    #topic: phicomm_dc1/state # 默认{TOPIC_PREFIX}/status
   # payload: online # 默认通知online状态
  #will_message: # 离线通知,由mqtt服务器发起
   # topic: phicomm_dc1/state # 默认{TOPIC_PREFIX}/status
    #payload: offline # 默认通知offline状态
  # 如果不设置,默认就是如上配置;如果birth_message、will_message的topic为空或不一样,则不生效。
  #-------------------------------#
  topic_prefix: "${device_name}" #不设置默认{NodeName}
  discovery: True # 发现标记设置(全局)
  discovery_prefix: homeassistant # 配置数据topic,默认homeassistant,要与Home Assistant的mqtt组件设置保持一直(默认也是homeassistant)
  reboot_timeout: $mqtt_reboot_timeout

ota:
  safe_mode: true
  password: $ota_password
#  port: 3286

#----------------------WEB后台----------------------
web_server:
 port: 80
 css_url: https://esphome.io/_static/webserver-v1.min.css
 js_url: https://esphome.io/_static/webserver-v1.min.js
#----------------------------------------------------

#----------------------深度睡眠----------------------
#deep_sleep:
#  run_duration: 20s
#  sleep_duration: 50s
#----------------------------------------------------

i2c:
  sda: GPIO3
  scl: GPIO12
  scan: false
  frequency: 20kHz

cat9554:
  - id: cat9554_hub
    address: 0x20
    irq: GPIO4

uart:
  rx_pin: GPIO13
  baud_rate: 4800

#debug:

logger:
#  hardware_uart: UART1
#  level: DEBUG
  level: info

sensor:
  - platform: cse7766
    voltage:
      name: "${device_name} voltage"
    current:
      name: "${device_name} current"
    power:
      name: "${device_name} power"
    update_interval: $cse7766_update_interval
  # - platform: uptime
  #   name: "${device_name} uptime"
  # - platform: wifi_signal
  #   name: "${device_name} wifi_signal"

binary_sensor:
  - platform: status
    #设备状态
    name: "${device_name} status"
    #是否对外隐藏(true/false)
    internal: false
  - platform: gpio
    #第一个按钮(内部引用,对外隐藏)
    name: "${device_name} key1"
    #是否对外隐藏(true/false)
    internal: true
    pin:
      cat9554: cat9554_hub
      # Use pin number 0
      number: 0
      mode: INPUT
    filters:
      - invert:
      - delayed_on: 40ms
      - delayed_off: 40ms
    on_click:
      - min_length: 50ms
        max_length: 350ms
        then:
          - switch.toggle: switch1
  - platform: gpio
    #第二个按钮(内部引用,对外隐藏)
    name: "${device_name} key2"
    #是否对外隐藏(true/false)
    internal: true
    pin:
      cat9554: cat9554_hub
      # Use pin number 1
      number: 1
      mode: INPUT
    filters:
      - invert:
      - delayed_on: 40ms
      - delayed_off: 40ms
    on_click:
      - min_length: 50ms
        max_length: 350ms
        then:
          - switch.toggle: switch2

  - platform: gpio
    #第三个按钮(内部引用,对外隐藏)
    name: "${device_name} key3"
    #是否对外隐藏(true/false)
    internal: true
    pin:
      cat9554: cat9554_hub
      # Use pin number 2
      number: 2
      mode: INPUT
    filters:
      - invert:
      - delayed_on: 40ms
      - delayed_off: 40ms
    on_click:
      - min_length: 50ms
        max_length: 350ms
        then:
          - switch.toggle: switch3
  - platform: gpio
    #总开关(内部引用,对外隐藏)
    name: "${device_name} key0"
    #是否对外隐藏(true/false)
    id: key0
    internal: true
    pin:
      number: GPIO16
      mode: INPUT_PULLDOWN_16
    filters:
      - invert:
      - delayed_on: 40ms
      - delayed_off: 40ms
    on_click:
      - min_length: 50ms
        max_length: 350ms
        then:
          - switch.toggle: switch0

  #影子
  - platform: template
    name: "shadow1"
    id: shadow1
    internal: true
  - platform: template
    name: "shadow2"
    id: shadow2
    internal: true
  - platform: template
    name: "shadow3"
    id: shadow3
    internal: true
    
#WiFi状态灯
status_led:
  pin: GPIO0

# text_sensor:
#   - platform: template
#     #配置文件版本
#     name: "${device_name} config_version"
#     lambda: |-
#       return {"v2019.03.28.002"};
#   - platform: version
#     #esphome版本
#     name: "${device_name} esphome_version"
#     icon: mdi:information-outline
#   - platform: wifi_info
#     ip_address:
#       name: "${device_name} IP Address"
#     ssid:
#       name: "${device_name} Connected SSID"
#    bssid:
#      name: "${device_name} Connected BSSID"

output:
  - platform: gpio
    #继电器3(内部引用,对外隐藏)
    id: realy3
    pin:
      cat9554: cat9554_hub
      # Use pin number 4
      number: 4
      mode: OUTPUT
      inverted: false
  - platform: gpio
    #继电器2(内部引用,对外隐藏)
    id: realy2
    pin:
      cat9554: cat9554_hub
      # Use pin number 5
      number: 5
      mode: OUTPUT
      inverted: false

  - platform: gpio
    #继电器1(内部引用,对外隐藏)
    id: realy1
    pin:
      cat9554: cat9554_hub
      # Use pin number 6
      number: 6
      mode: OUTPUT
      inverted: false
  - platform: gpio
    #总继电器(内部引用,对外隐藏)
    id: realy0
    pin:
      cat9554: cat9554_hub
      # Use pin number 7
      number: 7
      mode: OUTPUT
      inverted: false

switch:
  - platform: output
    #总开关(显示为一个开关)
    name: "${device_name} switch0"
    output: realy0
    id: switch0
    on_turn_on:
      #- switch.turn_on: LOGO_light
      - lambda: |-
          if (id(shadow1).state) {
            id(switch1).turn_on();
            id(shadow1).publish_state(false);
          }
          if (id(shadow2).state) {
            id(switch2).turn_on();
            id(shadow2).publish_state(false);
          }
          if (id(shadow3).state) {
            id(switch3).turn_on();
            id(shadow3).publish_state(false);
          }
    on_turn_off:
      #- switch.turn_off: LOGO_light
      - lambda: |-
          if (id(switch1).state) {
            id(switch1).turn_off();
            id(shadow1).publish_state(true);
          }
          if (id(switch2).state) {
            id(switch2).turn_off();
            id(shadow2).publish_state(true);
          }
          if (id(switch3).state) {
            id(switch3).turn_off();
            id(shadow3).publish_state(true);
          }
  - platform: output
    #开关1(显示为一个开关)
    name: "${device_name} switch1"
    output: realy1
    id: switch1
    on_turn_on:
      - lambda: |-
          if (!id(switch0).state) {
            id(switch0).turn_on();
          }
  - platform: output
    #开关2(显示为一个开关)
    name: "${device_name} switch2"
    output: realy2
    id: switch2
    on_turn_on:
      - lambda: |-
          if (!id(switch0).state) {
            id(switch0).turn_on();
          }
    
  - platform: output
    #开关3(显示为一个开关)
    name: "${device_name} switch3"
    output: realy3
    id: switch3
    on_turn_on:
      - lambda: |-
          if (!id(switch0).state) {
            id(switch0).turn_on();
          }
  - platform: gpio
    pin: GPIO14
    #LOGO灯
    name: "${device_name} LOGO_light"
    id: LOGO_light
    internal: false
    inverted: true

编译时报错

使用最新的版本 (2719167) 编译时报错

dc1_homeassistant.yaml 只改了wifi 和密码

tet@ubuntu ~/Templates $ esphome dc1_homeassistant.yaml compile
INFO Reading configuration...
Failed config

cat9554: [source dc1_homeassistant.yaml:79]
  
  'irq' is a required option for [cat9554].
  - [source dc1_homeassistant.yaml:79]
    id: cat9554_hub
    address: 32

OTA上传失败

报错, 问下需要怎么设置
yaml
dc1_homeassistant.yaml.txt

chenny@ubuntu ~/Templates $ esphome dc1_homeassistant.yaml upload
INFO Reading configuration dc1_homeassistant.yaml...
INFO Resolving IP address of phicomm_dc1_35132.local
INFO  -> 192.168.31.138
INFO Uploading build/phicomm_dc1_35132/.pioenvs/phicomm_dc1_35132/firmware.bin (401808 bytes)
ERROR Error binary size: Error: ESP has been flashed with wrong flash size. Please choose the correct 'board' option (esp01_1m always works) and then flash over USB.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.