Code Monkey home page Code Monkey logo

tube_gateways's People

Contributors

chrisdrackett avatar cybergrimes avatar devzwf avatar hedda avatar impact123 avatar ozgav avatar pessorrusso avatar t1mb0 avatar tbhova avatar tube0013 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tube_gateways's Issues

Full ESPHome configuration

Hi,

Thanks for your nice work on this!

Could you share the full ESPHome configuration? I'm particularly interested in how you implemented the "prepare for firmware update" functionality.

Updated ESPHome on my tube-zb-gw-cc2652p2-v2 and now it doesn't work :)

I did exactly the same as:

So I think I messed up my coordinator, but not really sure how. It is the tube-zb-gw-cc2652p2-v2 model :)

I updated ESPHome to the tube-zb-gw-cc2652p2-v2_2022_01_15.bin that was posted on GitHub, that worked fine, but then I could not connect to the serial port on 6638. I rolled it back to tube-zb-gw-cc2652p2-v2_2021_09_17.bin which was what I wasn on previously, but it still did not work. I attempted to flash new zstack code onto it, but that just fails - I was able to update it to this version of zstack a few days ago without problems.

But I am unable to get the device into boot mode.

I have the jumpers in this postion

image

I hold down boot, plug in the device, but my windows PC does not see it.

Any suggestions?

Please add version sensor to esphome config

I received my tubes 2652 v2, thank you.

I'm wondering how to know what the esphome and zigbee firmware versions are?

For esphome, I run several devices myself, and I add the version sensor to show me the version info, please consider adding the version sensor to the v2 yaml:
https://esphome.io/components/text_sensor/version.html

For the zigbee firmware, it would be cool if esphome could read it from uart before connecting to TCP and set a text sensor to display, or is there a way to see the zigbee firmware in z2mqtt?

Support for Tasmota32

Hi, great devices.

I'm interested in adding this device to the Tasmota compatibility list. It should be straightforward, and would make a great coordinator device working in standalone.

I have ordered an EFR32 based device, but would be interested in the CC too.

https://tasmota.github.io/docs/Zigbee/

Edit: I forgot to mention I'm the coder of the Zigbee features in Tasmota

Add "ESP Web Tools" installing/flashing firmware upgrades (or recovery) and onboarding via web site

Home Assisistant announced ESP Web Tools for simplifying onboarding by enabling website flashing ESP firmware via webserial:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#esp-web-tools-installing-projects-on-your-microcontroller-via-the-browser

https://esphome.github.io/esp-web-tools/

https://esphome.github.io/esp-web-tools/#add-website

Home Assisistant also announced ESPHome support for "Improv" open standard for setting up Wi-Fi via Bluetooth via smartphones.

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#improv-wi-fi-open-standard-to-provision-wi-fi-credentials-via-bluetooth-low-energy

https://www.improv-wifi.com

Home Assisistant have posted nice videos as part of the announcement which demos both "ESP Web Tools" and "Improv" features:

https://www.youtube.com/watch?v=du38Oir_xp8

https://www.youtube.com/watch?v=k88BS8zgWq0&t=1s&ab_channel=NabuCasa

https://www.youtube.com/watch?v=AdCsX7Ni6Jc

PS: They also announced ESPHome Dashboard has been updated with a simplified and streamlined wizard for new configurations:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#esphome-dashboard-simplified-and-streamlined

https://www.youtube.com/watch?v=luE1hjCf3HI

PPS: This was part of a larger article about making ESP firmware projects more user-friendly and easier to get started and work with:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/

Pre-compiled router firmware for E180-ZG120B

I know it's a long shot but would it be possible to generate a router-capable firmware for the EFR32 device on those cheap E180-ZG120B-TB dev boards? Like @tube0013 , I have too many coordinators laying around!

I'd like to try on my own but it seems access to the Scilabs ZigBee SDK is paywalled...

Some errors when connecting to HA

Thanks to this project, I made one myself and wrote the file CC1352P2_CC2652P_launchpad_coordinator_20210708.hex,
but when I connected to HA, an error occurred. I have wasted two days trying to solve it. I need your help.

`Logger: homeassistant.config_entries
Source: components/zha/core/gateway.py:152
First occurred: 21:40:11 (1 occurrences)
Last logged: 21:40:11

Error setting up entry socket://192.168.124.36:6638 for zha
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/types/basic.py", line 74, in serialize
return self.to_bytes(self._size, "little", signed=self._signed)
OverflowError: can't convert negative int to unsigned

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 304, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/usr/src/homeassistant/homeassistant/components/zha/init.py", line 102, in async_setup_entry
await zha_gateway.async_initialize()
File "/usr/src/homeassistant/homeassistant/components/zha/core/gateway.py", line 152, in async_initialize
self.application_controller = await app_controller_cls.new(
File "/usr/local/lib/python3.9/site-packages/zigpy/application.py", line 69, in new
await app.startup(auto_form)
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 196, in startup
return await self._startup(
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 260, in _startup
await self.set_tx_power(dbm=self.znp_config[conf.CONF_TX_POWER])
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/zigbee/application.py", line 400, in set_tx_power
f"Failed to set TX power: {t.Status(rsp.StatusOrPower)!r}", rsp
File "/usr/local/lib/python3.9/enum.py", line 384, in call
return cls.new(cls, value)
File "/usr/local/lib/python3.9/enum.py", line 709, in new
raise exc
File "/usr/local/lib/python3.9/enum.py", line 692, in new
result = cls.missing(value)
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/types/named.py", line 125, in missing
new_member = cls.member_type.new(cls, value)
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/types/basic.py", line 47, in new
instance.serialize()
File "/usr/local/lib/python3.9/site-packages/zigpy_znp/types/basic.py", line 77, in serialize
raise ValueError(str(e)) from e
ValueError: can't convert negative int to unsigned
`

No ethernet link lights

Hi,

this morning i've woken up and my ethernet coordinator appears dead.. there's a solid red light on the board and there's no link lights.. I've moved it to another switch and i'm getting the same results..

Do you have any suggestions on what could be wrong and how to fix it?

Low LQI when using cc2652p2-v2 w/ Z2M 1.22.0-2

I just switched from Conbee II to cc2652p2-v2 - I wiped out my Z2M install and re-paired everything to the cc2652p2-v2. While everything seems to be working, the LQI scores for every device on my network is <70 instead of >200 like on the Conbee II. Even a Hue bulb less than 6ft from the cc2652p2-v2 has a LQI of <100, but was 255 with the Conbee II.

Not sure if this is a bug with the FW on the cc2652p2-v2, or something wrong with the device. I have tried changing the orientation of the antenna with no change. I have the Conbee disconnect and the cc2652p2-v2 is in the same spot as the stick was.

tube-zb-gw-cc2652p2 compile failed in latest esphome

esphome yaml file:

esphome:
  name: tube-zb-gw-cc2652p2
  platform: ESP32
  board: esp-wrover-kit

external_components:
  - source: github://oxan/esphome-stream-server


#  includes:
#    - stream_server.h
#    - stream_server.cpp

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16
  
  # Optional manual IP
  manual_ip:
    static_ip: 192.168.xxx.xxx
    gateway: 192.168.xxx.x
    subnet: 255.255.255.0
    dns1: 192.168.xxx.x
    
  domain: .xxxx

# Enable logging
logger:
  level: DEBUG
  
# Enable Home Assistant API
api:
  reboot_timeout: 0s

ota:

web_server:
  port: 80


script:
  - id: fw_update_mode
    then:
      - switch.turn_on: zBSL
      - delay: 1s
      - switch.turn_on: zRST_gpio
      - delay: 1s
      - switch.turn_off: zRST_gpio
      - logger.log: "Delaying ~10 seconds for cc2652p2 to settle"
      - delay: 11s
      - switch.turn_off: zBSL
      - logger.log: "Please try update with cc-bsl tool now"
      - logger.log: "cc-bsl usage: cc-bsl.py -p socket://ip-of-gw:6638 -evw firmware.hex"
      
switch:
  - platform: restart
    name: "Restart the Gateway"

  - platform: gpio
    pin: 33
    id: zRST_gpio
    inverted: yes
    restore_mode: ALWAYS_OFF
  - platform: template
    name: "zRST"
    id: zRST
    turn_on_action:
      - switch.turn_on: zRST_gpio
      - delay: 15ms
      - switch.turn_off: zRST_gpio
      
  - platform: gpio
    pin: 32
    name: "zBSL"
    id: zBSL
    inverted: yes
    restore_mode: ALWAYS_OFF
    
  - platform: template
    name: "Prep the cc2652p2 for firmware update"
    turn_on_action:
      - script.execute: fw_update_mode
    turn_off_action:
      - switch.toggle: zRST

uart:
  id: uart_bus
  rx_pin: GPIO5
  tx_pin: GPIO17
  baud_rate: 115200


custom_component:
  - lambda: |-
      auto stream_server = new StreamServerComponent(id(uart_bus));
      return {stream_server};

build info:

INFO Reading configuration /config/esphome/tube-zb-gw-cc2652p2.yaml...
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Compiling app...
Processing tube-zb-gw-cc2652p2 (board: esp-wrover-kit; framework: arduino; platform: platformio/espressif32 @ 3.3.2)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
Dependency Graph
|-- <AsyncTCP-esphome> 1.2.2
|-- <WiFi> 1.0
|-- <FS> 1.0
|-- <Update> 1.0
|-- <ESPAsyncWebServer-esphome> 2.1.0
|   |-- <AsyncTCP-esphome> 1.2.2
|-- <ArduinoJson-esphomelib> 5.13.3
|-- <ESPmDNS> 1.0
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/api_connection.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/api_frame_helper.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/api_pb2.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/api_pb2_service.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/api_server.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/list_entities.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/proto.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/user_services.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/api/util.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/esp32/core.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/esp32/gpio_arduino.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/esp32/gpio_idf.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/esp32/preferences.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/ethernet/ethernet_component.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/gpio/switch/gpio_switch.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/json/json_util.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/logger/logger.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/md5/md5.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/mdns/mdns_component.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/mdns/mdns_esp_idf.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/network/util.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/ota/ota_component.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/restart/restart_switch.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/script/script.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/switch/automation.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/switch/switch.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/template/switch/template_switch.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/uart/uart.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/uart/uart_component.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/uart/uart_component_esp32_arduino.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/uart/uart_component_esp8266.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/uart/uart_component_esp_idf.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/uart/uart_debugger.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/web_server/web_server.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/components/web_server_base/web_server_base.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/application.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/color.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/component.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/controller.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/entity_base.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/helpers.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/log.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/scheduler.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/esphome/core/util.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/main.cpp.o
Generating partitions /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/partitions.bin
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib528/AsyncTCP-esphome/AsyncTCP.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib64d/WiFi/ETH.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib64d/WiFi/WiFi.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib64d/WiFi/WiFiAP.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib64d/WiFi/WiFiClient.cpp.o
/config/esphome/tube-zb-gw-cc2652p2.yaml: In lambda function:
/config/esphome/tube-zb-gw-cc2652p2.yaml:99:32: error: expected type-specifier before 'StreamServerComponent'
       auto stream_server = new StreamServerComponent(id(uart_bus));
                                ^
/config/esphome/tube-zb-gw-cc2652p2.yaml:100:28: error: could not convert '{stream_server}' from '<brace-enclosed initializer list>' to 'std::vector<esphome::Component*>'
       return {stream_server};
                            ^
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib64d/WiFi/WiFiGeneric.cpp.o
Compiling /data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/lib64d/WiFi/WiFiMulti.cpp.o
*** [/data/tube-zb-gw-cc2652p2/.pioenvs/tube-zb-gw-cc2652p2/src/main.cpp.o] Error 1
========================== [FAILED] Took 9.17 seconds ==========================

Zigbee2MQTT reports router is not supported

I got a my powered router, thank you.

It appears to work, but in z2mqtt the device is listed as unknown.
Device '0x00124b00258f1717' with Zigbee model 'tubeszb.router' and manufacturer name 'TubesZB' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html

This is running z2mqtt from docker using latest tag, version 1.22.2 commit: 414c51f.

Could you possibly add a PR to z2mqtt to add your hardware config?

Updated ESPHome on my tube-zb-gw-cc2652p2-v2 and now it doesn't work :)

So I think I messed up my coordinator, but not really sure how. It is the tube-zb-gw-cc2652p2-v2 model :)

I updated ESPHome to the tube-zb-gw-cc2652p2-v2_2022_01_15.bin that was posted on GitHub, that worked fine, but then I could not connect to the serial port on 6638. I rolled it back to tube-zb-gw-cc2652p2-v2_2021_09_17.bin which was what I wasn on previously, but it still did not work. I attempted to flash new zstack code onto it, but that just fails - I was able to update it to this version of zstack a few days ago without problems.


./cc2538-bsl.py -p socket://10.2.3.70:6638  -evw ../CC1352P2_CC2652P_launchpad_coordinator_20220103.hex
Opening port socket://10.2.3.70:6638, baud 500000
Reading data from ../CC1352P2_CC2652P_launchpad_coordinator_20220103.hex
Firmware file: Intel Hex
Connecting to target...
ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'

And yes - lesson learned. If it ain't broke... :)

Question - E180-ZG120B programing

Hi @tube0013

I'm trying to connect to Ebyte E180 via J-Link by Segger to do SWD flashing.

in the ebyte manual I found this:
image

unfortunately I'm not sure how to localize the PF0 and PF1 on the E180-ZG120B-TB board

ebyte j-link
VCC vref
? SWDCLK
? SWDIO
GND GND

image

Could you please give me a hint - how you did this?
Thanks 👍

CC2652p2 POE Coordinator ZHA connection issue

Hi,

I just purchased a CC2652P2 Based Zigbee to Power Over Ethernet Serial Coordinator V2 to replace a ConBeeII for my Profalux covers.

I deleted all zigbee devices via zha.remove and the ZHA integration itself.
I then re set the ZHA integration according to the instructions (ZNP, socket://ip:6638, 115200, software flow control) and joined my devices to this new gateway.

All went fine except I'm having connection issues between my HA Virtual Machine (hypervised by VMM on a Synology RS1221+) & the gateway, resulting il osme lines in the Debug Log but more embarassing : my covers are slightly moving up and down on each reconnection as I guess the gateway enter permit join after a connection?

Gateway Log
Capture d’écran 2021-09-04 100453

HA Log
Capture d’écran 2021-09-04 100722

The coordinator is powered by a Unifi 8 POE switch and is set on the same VLAN as HA (so firewall shouldn't be cocnerned).
I forced the switch port to 100mbits FDX as recommended but this didn't helped.

  • Can you confirm that the coordinator should permit join after a connection (is it on the coordinator or ZHA side?), and why?
  • Is it possible to disable it?
  • Do you have any suggestion to improve the connection stability?

Disconnections happens variably from every minute to every half hour.
This is quite annoying and can't stay as it.
Any help is very welcome! :)
Thanks!

[Device Configuration] Setting Static IP - EFR32 Pro

Enhancement
Provide guideline on how to set a static IP address on EFR32 Pro Coordinator.

Reason
To perform a restoration of my previous Sonoff ZBBridge configuration without repairing router and child devices.

[REQUEST] Texas Instruments CC1352P based gateway/bridge or USB-adapter/stick/dongle

Any chance would consider making a Texas Instruments CC1352P based gateway/bridge or USB-stick/dongle hardware adapter?

The reason is that CC1352 supports all Zigbee (Zigbee SE / ZSE) radio frequencies.

CC1352 is more expensive but enable Sub-1 GHz frequencies used by Zigbee SE profile which isn't part of Zigbee 3.0

https://www.ebyte.com/en/product-view-news.aspx?id=766

https://www.szrfstar.com/product/235-en.html

https://www.szrfstar.com/product/188-en.html

Zigbee Smart Energy is the world standard used by electricity, water, and gas meters that all utility companies install in your house.

As far as I know niether zigpy or zigbee-herdsman (zigbee2mqtt and iobroker) support the Zigbee SE profile as of yet.

Having CC1352 hardware available would allow developers to add support to zigpy and zigbee-herdsman (zigbee2mqtt/iobroker).

https://zigbeealliance.org/solution/smart-energy/

https://zigbeealliance.org/wp-content/uploads/2019/11/docs-07-5356-19-0zse-zigbee-smart-energy-profile-specification.pdf

https://training.ti.com/overview-zigbee-smart-energy-internet-things

https://www.ti.com/lit/slaa467

https://www.ti.com/lit/pdf/tidu213

https://www.ti.com/lit/pdf/swra467

https://www.nxp.com/pages/jn516x-zigbee-smart-energy:ZIGBEE-SMART-ENERGY

https://www.nxp.com/docs/en/supporting-information/MAXSECZBNETART.pdf

"Zigbee Smart Energy (Zigbee SE) is the world's leading standard for interoperable wireless products that monitor, control and automate the delivery and use of energy (and other resources, such as water). A wireless network is implemented at the consumer's premises using the ZigBee PRO protocol with the Smart Energy application profile. This Home Area Network (HAN) contains devices such as a Metering Device, In-Premise Display (IPD) and Load Control Device, and is connected to the energy provider using an Energy Service Interface (ESI) via a backhaul network."

PS: ZOE2 shield/hat by Electrorama will use CC1352P radio from Texas Instruments, using the E79-400DM2005S module by EByte:

https://electrolama.com/projects/zoe2/

https://github.com/electrolama/zoe2

USB-to-Serial Bridge chip is used for Tube’s CC2652P2 USB Coordinator?

I'm curious about HW specs so wondering which USB-to-Serial Bridge chip exactly is used for Tube’s CC2652P2 USB Coordinator?

Also, wondering if the USB to Serial Bridge chip it is connected via RTS + CTS to CC2652P module for Hardware Flow Control?

I understand that CH340 series (example CH340C and CH340E) by WCH are popular because they are inexpensive, but I also understand that they have fewer features and are also known to have driver issues on Linux and Mac OS (though I read Linux is better now in newer Linux kernel versions).

I understand that FT231 chip by FTDI or CP2102N by Silicon Labs / Silabs is recommended for more feature and better support:

https://ftdichip.com/products/ft231xs/
https://ftdichip.com/products/ft231xq/

https://www.silabs.com/interface/usb-bridges/classic/device.cp2102
https://www.silabs.com/interface/usb-bridges/classic/device.cp2104
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
https://www.silabs.com/documents/public/data-sheets/cp2102n-datasheet.pdf
https://www.silabs.com/documents/public/application-notes/an197.pdf
https://www.silabs.com/documents/public/application-notes/an978-cp210x-usb-to-uart-api-specification.pdf
https://www.silabs.com/documents/public/application-notes/AN571.pdf

FYI, I read that the upcoming ZZHP/ZZH2 adapter by Electrolama will use FT231 which has more mature device drivers and will allow them to write a customized string onto the EEPROM of the USB-to-Serial chip (such as for example "Electrolama ZZHP v1.0.0") should make it more plug-and-play friendly and easier for different home automation software to automatically discover and configure without end-user interactions. I understand that a bonus feature in FT231 of allowing users to auto-reset and put the device in bootloader mode via the DTR/RTS pins exposed will enable much easier firmware upgrades for the end-users as they will no longer need to press any buttons to enter bootloader mode, and now bootloader mode can be activated via software from the firmware flasher program software which could make the firmware upgrade procedure more user-friendly.

By the way, have you read this related discussion about hardware standardisation for pins assignments in the community:

Koenkk/Z-Stack-firmware#210

The discussion resulted in this README.md file with a matrix for pins like BSL Trigger Pin, RF Switch Control Pins, LED(s) + Auto-BSL:

https://github.com/Koenkk/Z-Stack-firmware/blob/master/coordinator/Z-Stack_3.x.0/bin/README.md

Missing s37 file

The last commit is adding one /tube_zb_gw_efr32/Firmware/ZigBee Module/Pro/MGM12P32GE_ncp-uart-sw_6.9.2.axf that is normally no use for the user but insted is the s337 file for the firmware missing that can being good to have if flashing with SWD.

Only for info ;-))

Unable to update firmware

I am trying to update the CC2652 firmware (just out of curiousity) but the process seems to fail.

$ cc2538-bsl.py -p socket://zigbee_gateway.local:6638 -evw CC1352P2_CC2652P_launchpad_coordinator_20210708.hex
Opening port socket://zigbee_gateway.local:6638, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20210708.hex
Your firmware looks like an Intel Hex file
Connecting to target...
CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:23:7B:9B:C8
    Performing mass erase
Erasing all main bank flash sectors
    Erase done
Writing 360448 bytes starting at address 0x00000000
ERROR: No response from target on status request. (Did you disable the bootloader?)

Provide reboot option on web server

When setting up the device and moving it onto the correct IP / subnet / VLAN, it would be helpful to have a reboot option in the onboard web page.

Add support for "Improv" open standard for setting Wi-Fi via Bluetooth (using a smart phone) in tube gateways firmware

Home Assisistant announced ESPHome support for "Improv" open standard to configure network via Bluetooth using a smartphone.

Maybe you would consider adding support for "Improv via Bluetooth" to tube gateways firmware for setting a static IP address?

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#improv-wi-fi-open-standard-to-provision-wi-fi-credentials-via-bluetooth-low-energy

https://www.improv-wifi.com

Home Assisistant also announced ESP Web Tools for simplifying onboarding by enabling website flashing ESP firmware via webserial:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#esp-web-tools-installing-projects-on-your-microcontroller-via-the-browser

https://esphome.github.io/esp-web-tools/

https://esphome.github.io/esp-web-tools/#add-website

Home Assisistant have posted nice videos as part of the announcement which demos both "ESP Web Tools" and "Improv" features:

https://www.youtube.com/watch?v=du38Oir_xp8

https://www.youtube.com/watch?v=k88BS8zgWq0&t=1s&ab_channel=NabuCasa

https://www.youtube.com/watch?v=AdCsX7Ni6Jc

By the way, they mention at the end of the O&A section of that video that they also plan to add support for "Improv via serial" in the future so that can configure WiFi network and/or IP-address via webserial directly after flashing firmware via "ESP Web Tools".

PS: They also announced ESPHome Dashboard has been updated with a simplified and streamlined wizard for new configurations:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#esphome-dashboard-simplified-and-streamlined

https://www.youtube.com/watch?v=luE1hjCf3HI

PPS: This was part of a larger article about making ESP firmware projects more user-friendly and easier to get started and work with:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/

Not able to connect to zigbee2mqtt with cc2652p2_poe

the zigbee2mqtt keep running in circle

[19:02:06] INFO: Socat not enabled, marking service as down [19:02:06] INFO: MQTT available, fetching server detail ... [19:02:06] INFO: MQTT server settings not configured, trying to auto-discovering ... [19:02:07] INFO: Configuring 'mqtt://core-mosquitto:1883' mqtt server [19:02:07] INFO: Previous config file found, checking backup [19:02:07] INFO: Creating backup config in '/config/zigbee2mqtt/.configuration.yaml.bk' [19:02:07] INFO: Adjusting Zigbee2mqtt core yaml config with add-on quirks ... [19:02:07] INFO: Handing over control to Zigbee2mqtt Core ... [19:03:16] INFO: Handing over control to Zigbee2mqtt Core ...

I get the "502: Bad Gateway" on the UI

i have got the zigbee2mqtt running with a Conbee before this so the plugin is working.

i have followed the instructions and use tcp://xxx.xxx.xxx.xxx:6638 ip address instead of mDNS

after a while the log is updated with this:

[19:04:24] INFO: Handing over control to Zigbee2mqtt Core ...
Zigbee2MQTT:error 2021-10-01 19:05:33: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2021-10-01 19:05:33: Failed to start zigbee
Zigbee2MQTT:error 2021-10-01 19:05:33: Check https://www.zigbee2mqtt.io/information/FAQ.html#help-zigbee2mqtt-fails-to-start for possible solutions
Zigbee2MQTT:error 2021-10-01 19:05:33: Exiting...
Zigbee2MQTT:error 2021-10-01 19:05:33: Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby
at ZnpAdapterManager.beginCommissioning (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:347:23)
at ZnpAdapterManager.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:92:17)
at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:123:29)
at Zigbee.start (/app/lib/zigbee.js:66:27)
at Controller.start (/app/lib/controller.js:110:27)
at start (/app/index.js:95:5)
[19:05:34] INFO: Handing over control to Zigbee2mqtt Core ...
[email protected] start
node index.js
[19:06:42] INFO: Handing over control to Zigbee2mqtt Core ...

Suggest design next-gen Tube's Zigbee Gateway as modular with seperate Zigbee Radio Shield compatible with the Raspberry Pi GPIO Header

Would like to suggest redesigning your next Tube Gateway to have a pin-header compatible with the standard Raspberry Pi GPIO.

Similar to what fairecasoimeme did with this ZiGate-Ethernet platform which is primarily designed to be used with his PiZiGate:

https://github.com/fairecasoimeme/ZiGate-Ethernet

https://zigate.fr/documentation/descriptif-de-la-zigate-ethernet/

https://zigate.fr/produit/zigate-ethernet/

https://zigate.fr/produit/pizigatev2/

As a bonus users could then buy Tube's Zigbee Shield separately and use it on the Raspberry Pi GPIO header without the gateway.

"The GPIOs are compatible with the Raspberry Pi GPIOs. Here is the correspondence of the GPIO with the ESP32":

image

Because of this design ZiGate-Ethernet gateway can not only be used with PiZiGate but also with other Zigbee shields for RPI.

Including technically supporting adapter shields from other manufacturers such as PiZiGate, RaspBee I/II, and Elelabs EFR32 shield:

https://zig-star.com/projects/zigbee-shield/

https://github.com/egony/cc2652p_cc1352p_RF-STAR/wiki/Home-EN#shield-for-single-board-computers

https://github.com/egony/cc2652p_E72-2G4M20S1E/wiki/Home-EN#shield-pi-hat-for-single-board-computers

https://zigate.fr/produit/pizigatev2/

https://phoscon.de/en/raspbee2

https://phoscon.de/en/raspbee

https://elelabs.com/products/elelabs-zigbee-shield.html

https://www.popp.eu/zb-shield/

And while not tested it should in theory also work with Aeotec and z-wave.me Z-Wave adapters and other radio adapters as well

https://aeotec.com/z-wave-home-automation/development-kit-pcb.html

https://z-wave.me/products/razberry/

Meaning that the ZiGate-Ethernet platform could really be used as a serial stream server proxy for any serial shield for RPI.

image

image

image

image

Fix IP address for CC2652P2 Serial Coordinator

I cannot see a way to fix the IP address of the coordinator. It has picked up an address from my DHCP server which has a block of addresses available but also has a reserved block. I wish to "fix" the coordinator to an address in the reserved block.

Under normal circumstances, Tasmota defaults to DHCP but by using the Tasmota console one can change the device to a fixed IP address, Gateway and Net Mask. How can I do the same with the CC2652P2 based Coordinator?

Many thanks

compile failed in latest esphome

while doing some house keeping i saw that esphome was updated in my home assistant and tried to update my poe board. however it failed to compile.

i am on currently 2021.9.2, all working fine, was trying to compile 2021.11.1.

INFO Reading configuration /config/esphome/tube_zb_gw_cc2652p2_olimex_POE.yaml...
WARNING 'tube_zb_gw_cc2652p2_poe': Using the '_' (underscore) character in the hostname is discouraged as it can cause problems with some DHCP and local name services. For more information, see https://esphome.io/guides/faq.html#why-shouldn-t-i-use-underscores-in-my-device-name
INFO Generating C++ source...
INFO Compiling app...
Processing tube_zb_gw_cc2652p2_poe (board: esp-wrover-kit; framework: arduino; platform: platformio/espressif32 @ 3.3.2)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
Dependency Graph
|-- <AsyncTCP-esphome> 1.2.2
|-- <WiFi> 1.0
|-- <FS> 1.0
|-- <Update> 1.0
|-- <ESPAsyncWebServer-esphome> 2.1.0
|   |-- <AsyncTCP-esphome> 1.2.2
|-- <ArduinoJson-esphomelib> 5.13.3
|-- <ESPmDNS> 1.0
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/api_connection.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/api_frame_helper.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/api_pb2.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/api_pb2_service.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/api_server.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/list_entities.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/proto.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/user_services.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/api/util.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/esp32/core.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/esp32/gpio_arduino.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/esp32/gpio_idf.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/esp32/preferences.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/ethernet/ethernet_component.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/gpio/switch/gpio_switch.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/json/json_util.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/logger/logger.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/md5/md5.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/mdns/mdns_component.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/mdns/mdns_esp_idf.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/network/util.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/ota/ota_component.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/restart/restart_switch.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/script/script.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/switch/automation.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/switch/switch.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/template/switch/template_switch.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/uart/uart.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/uart/uart_component.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/uart/uart_component_esp32_arduino.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/uart/uart_component_esp8266.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/uart/uart_component_esp_idf.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/uart/uart_debugger.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/web_server/web_server.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/components/web_server_base/web_server_base.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/application.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/color.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/component.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/controller.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/entity_base.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/helpers.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/log.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/scheduler.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/esphome/core/util.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/main.cpp.o
Compiling /data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/stream_server.cpp.o
src/stream_server.cpp: In member function 'void StreamServerComponent::read()':
src/stream_server.cpp:59:65: error: 'min' was not declared in this scope
         size_t read = this->stream_->readBytes(buf, min(len, 128));
                                                                 ^
src/stream_server.cpp:59:65: note: suggested alternative:
In file included from /data/cache/platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/algorithm:62:0,
                 from src/esphome/core/optional.h:19,
                 from src/esphome/core/component.h:7,
                 from src/stream_server.h:19,
                 from src/stream_server.cpp:17:
/data/cache/platformio/packages/toolchain-xtensa32/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:3451:5: note:   'std::min'
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^
In file included from src/stream_server.cpp:19:0:
src/stream_server.cpp: In member function 'virtual void StreamServerComponent::dump_config()':
src/stream_server.cpp:75:64: error: 'network_get_address' was not declared in this scope
     ESP_LOGCONFIG(TAG, "  Address: %s:%u", network_get_address().c_str(), this->port_);
                                                                ^
src/esphome/core/log.h:97:90: note: in definition of macro 'esph_log_config'
   esp_log_printf_(ESPHOME_LOG_LEVEL_CONFIG, tag, __LINE__, ESPHOME_LOG_FORMAT(format), ##__VA_ARGS__)
                                                                                          ^
src/stream_server.cpp:75:5: note: in expansion of macro 'ESP_LOGCONFIG'
     ESP_LOGCONFIG(TAG, "  Address: %s:%u", network_get_address().c_str(), this->port_);
     ^
*** [/data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/stream_server.cpp.o] Error 1
/config/esphome/tube_zb_gw_cc2652p2_olimex_POE.yaml: In lambda function:
/config/esphome/tube_zb_gw_cc2652p2_olimex_POE.yaml:86:62: error: no matching function for call to 'StreamServerComponent::StreamServerComponent(esphome::uart::ESP32ArduinoUARTComponent*&)'
       auto stream_server = new StreamServerComponent(id(uart_bus));
                                                              ^
In file included from src/main.cpp:56:0:
src/stream_server.h:35:14: note: candidate: StreamServerComponent::StreamServerComponent(Stream*)
     explicit StreamServerComponent(Stream *stream) : stream_{stream} {}
              ^
src/stream_server.h:35:14: note:   no known conversion for argument 1 from 'esphome::uart::ESP32ArduinoUARTComponent*' to 'Stream*'
src/stream_server.h:33:7: note: candidate: StreamServerComponent::StreamServerComponent(const StreamServerComponent&)
 class StreamServerComponent : public esphome::Component {
       ^
src/stream_server.h:33:7: note:   no known conversion for argument 1 from 'esphome::uart::ESP32ArduinoUARTComponent*' to 'const StreamServerComponent&'
src/stream_server.h:33:7: note: candidate: StreamServerComponent::StreamServerComponent(StreamServerComponent&&)
src/stream_server.h:33:7: note:   no known conversion for argument 1 from 'esphome::uart::ESP32ArduinoUARTComponent*' to 'StreamServerComponent&&'
/config/esphome/tube_zb_gw_cc2652p2_olimex_POE.yaml:87:28: error: could not convert '{stream_server}' from '<brace-enclosed initializer list>' to 'std::vector<esphome::Component*>'
       return {stream_server};
                            ^
*** [/data/tube_zb_gw_cc2652p2_poe/.pioenvs/tube_zb_gw_cc2652p2_poe/src/main.cpp.o] Error 1
========================= [FAILED] Took 29.45 seconds =========================

no network connection

when i plug the controller to an POE port in my switch i get a green light in the switch indicating it is powered.

the controller board i get a red and a yellow light but no connection.

connecting a serial adapter to the header i get this:

[15:21:20]ets Jul 29 2019 12:21:46 [15:21:20] [15:21:20]rst:0x1 (POWERON_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT) [15:21:20]configsip: 0, SPIWP:0xee [15:21:20]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 [15:21:20]mode:DIO, clock div:2 [15:21:20]load:0x3fff0018,len:4 [15:21:20]load:0x3fff001c,len:1044 [15:21:20]load:0x40078000,len:8896 [15:21:20]load:0x40080400,len:5828 [15:21:20]entry 0x400806ac [15:21:20][I][logger:166]: Log initialized [15:21:20][C][ota:366]: There have been 0 suspected unsuccessful boot attempts. [15:21:20][I][app:029]: Running through setup()... [15:21:20][C][uart_esp32:072]: Setting up UART... [15:21:20][C][switch.gpio:011]: Setting up GPIO Switch 'zRST_gpio'... [15:21:20][D][switch:025]: 'zRST_gpio' Turning OFF. [15:21:20][D][switch:045]: 'zRST_gpio': Sending state ON [15:21:20][D][switch:025]: 'zRST_gpio' Turning OFF. [15:21:20][C][switch.gpio:011]: Setting up GPIO Switch 'zBSL'... [15:21:20][D][switch:025]: 'zBSL' Turning OFF. [15:21:20][D][switch:045]: 'zBSL': Sending state ON [15:21:20][D][switch:025]: 'zBSL' Turning OFF. [15:21:20][C][ethernet:025]: Setting up Ethernet... [15:21:35][W][ethernet:041]: Connecting via ethernet failed! Re-connecting... [15:21:36][D][esp-idf:000]: E (16109) emac: Timed out waiting for PHY register 0x2 to have value 0x0007(mask 0xffff). Current value 0xffff [15:21:36] [15:21:37][D][esp-idf:000]: E (17110) emac: Timed out waiting for PHY register 0x3 to have value 0xc0f0(mask 0xfff0). Current value 0xffff [15:21:37] [15:21:37][D][esp-idf:000]: E (17112) emac: Initialise PHY device Timeout [15:21:37] [15:21:37][E][ethernet:125]: ETH enable error: -1 [15:21:37][E][component:092]: Component was marked as failed.

Zeroconf providing DNS TXT records for passing along setting parameters to integration config flows

Suggest implementing the use of DNS TXT records for passing setting parameters to Home Assistant integration config flows.

DNS TXT records could be used to pass along recommended settings parameters config flow to Home Assistant's ZHA integration:

  • radio_type=ezsp
  • baud_rate=value
  • data_flow_control=software
  • tcp_port_serial_gateway=value

Zeroconf DNS TXT records could also be used to pass along hostname, versions, location, MAC address, and more, etc..

thegroove Zeroconf custom component for ESPHome started work on that -> https://github.com/thegroove/esphome-zeroconf

More information about idea of using DNS TXT records for passing along setting parameters in -> thegroove/esphome-zbbridge#1

Issue setting up a new EFR32 coordinator with HASS

I am running my new EFR32 coordinator via serial/USB and so have put the jumpers in the middle per the GitHub instructions. However, the instructions here seem to focus on Ethernet, and I am having issues with USB.

Here is what I am doing:

  1. I go into integrations and add ZHA and Hass sees a device at /dev/ttyAMA0.
  2. I choose that and EZSP radio type.
  3. This brings me to the screen where it shows the path, asks for port speed and data flow. The default port speed is 57200 and I choose 115200 per GitHub. Once, I click “Submit”, I get “failed to connect.”
  4. I have tried playing with data control and port speed and always seem to get failed to connect.

Any advice on what I should do?

Oh and I added those lines to configuration.yaml. TIA for any ideas!

[Device Configuration] - Changing Zigbee Channel

The Problem
Unable to change coordinator radio channel to channel 25.

Reason
Improving the stability of zigbee radio connection. There are 7 UniFi AP AC LR located in my home, sometimes zigbee radio interference occur resulting in a loss of data (mostly from battery powered zigbee).

Note: I have now changed the channel of my WIFI AP to only channel 1 & 6.

What I have tried

  1. Following this guide, I have added the config into my configuration.yaml. However, after viewing the logs, it is still stated as "radioChannel=15".

YAML snippet is as follows-

zha:
  zigpy_config:
    network:
      channel: 25
  1. Using this code sudo bellows -d socket://xxx.xxx.x.xx:6638 form -c 25, resulting in an error of "Invalid value for "-D" /"database": file "/root/.config/bellows/app.db" does not exist". During the execution of this command, the EFR32 coordinator is completely disconnected from HA as I can execute sudo bellows -d socket://xxx.xxx.x.xx:6638 info successfully.

Import oxan's serial stream server custom component for ESPHome as an external component in ESPHome

FYI, @oxan has now made his UART/Serial stream server available as a new external component for ESPHome v1.18+ on GitHub:

https://github.com/oxan/esphome-stream-server

external_components:
  - source: github://oxan/esphome-stream-server

stream_server:

ESPHome version 1.18 and later has added a new feature to support such external component which can now easily be imported:

https://esphome.io/components/external_components.html

HomeAssistant ZHA can't find new Router/Repeater

I recently was able to order and received 2 of the Router/Repeater devices. I have the Ethernet/Serial Coordinator which I've been using successfully just fine. The 1st Router/Repeater was found right away by HA/ZHA, joined quickly and great. However the 2nd Router/Repeater I have been unable to get it to be found. I've tried hitting the BSL and RST buttons separately, while powered, but still nothing.

Add ESPHome standard project identifier, version, logo, and link to docs in firmware

Home Assisistant announced latest ESPHome added a new standard for project identifier, version, logo, and link to docs in firmware:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#esphome-embracing-projects

ESPHome: embracing projects

We want to make it easy for creators to sell ESPHome powered products that offer a great user experience. ESPHome projects embrace local control and integrate nicely with Home Assistant, and so each extra ESPHome product that our users can buy is a win.

To make it easier to keep creators and users connected once a product is installed, projects can now add a project identifier and version to their firmware (docs). With today’s release this information will be available in the device information, logging output and the mDNS discovery info.

The goal is to integrate the projects tighter into the ESPHome dashboard by showing the project’s logo, link to the documentation and issue pages and allow installing updates.

https://www.esphome.io/components/esphome.html#project-information

Project information

"This allows creators to add the project name and version to the compiled code. It is currently only exposed via the logger, mDNS and the device_info response via the native API. The format of the name should be author_name.project_name."

# Example configuration
esphome:
  ...
  project:
    name: "tube0013.tube_zb_gw_cc2652p2"
    version: "1.0.0"

PS: They also announced ESPHome Dashboard has been updated with a simplified and streamlined wizard for new configurations:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/#esphome-dashboard-simplified-and-streamlined

PPS: This was part of a larger article about making ESP firmware projects more user-friendly and easier to get started and work with:

https://www.home-assistant.io/blog/2021/06/16/power-up-your-esp-projects/

Lower LQI Performance

Using one of the POE coordinators and finding significantly lower LQI results when using this over my previous Sonoff ZHA bridge

For example with both devices next to each other, the poe coordinator on channel 11 (which I moved from 15 to test if it would improve, it made no change), and the Sonoff on 15

Sonoff
Device info
TS0014
by _TYZB01_bagt1e4o
Zigbee Coordinator
Zigbee info
IEEE: 5c:02:72:ff:fe:cf:53:e0
Nwk: 0x579f
Device Type: EndDevice
LQI: 188
RSSI: -53
Last Seen: 2021-10-02T20:29:53
Power Source: Battery or Unknown

Tubesz
Device info
TS0014
by _TYZB01_bagt1e4o
Zigbee Coordinator
Zigbee info
IEEE: 5c:02:72:ff:fe:cf:53:e0
Nwk: 0x101c
Device Type: EndDevice
LQI: 81
RSSI: Unknown
Last Seen: 2021-10-02T20:32:43
Power Source: Battery or Unknown

Seems really odd, I am also seeing a lot of strange issues recently with this device with the latest ZStack firmware, going to downgrade shortly and see if this resolves it, but since updating the switch doesn't even work at all on the tubesz coordinator.

Has anyone else come across this?

Missing install step in docs

Attempting to flash z2mqtt coordinator firmware, when following the docs, Im running into:

./cc2538-bsl.py -p socket://192.168.66.8:6638 -evw CC1352P2_CC2652P_launchpad_coordinator_20210120.hex
Opening port socket://192.168.66.8:6638, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20210120.hex
Your firmware looks like an Intel Hex file
ERROR: Firmware is Intel Hex, but the IntelHex library could not be imported.
Install IntelHex in site-packages or program your device with a raw binary (.bin) file.
Please see the readme for more details.

The readme in the programmer specifies that I need the following three dependencies:

pip install pyserial
pip install intelhex
pip install python-magic

After installing the above three items, the flash still fails with the same message about intelhex not being available.

What step(s) is/are missing here?

Connect to Philips Hue Bulb

Just wondering how can I link my old philips hue bulb to my new cc2652p2. I cant seems to find the bulbs on HA scan ZHA. I cant also find a way to make the bulb go into discovery mode. Anyone have any idea?

Cc2652 coordinator issues

Sorry if this is in the wrong area. I have a tubes cc2652 coordinator and the router. Router has been flawless. Coordinator just drops out of hom assistant using zha and I have to power cycle the coordinator to see it again. Also before having these issues I had devices connected as children through the coordinator and now I can’t get a device to connect to it? Any help is greatly appreciated

Provide option to enable Zigbee Router mode and activate pairing from gateway web server

Might be cool for an option to enable "Zigbee Router" mode and have a button to activate pairing mode from the gateway web server so that Tube's Zigbee Gateways could alternatively be used as stand-alone Zigbee Routers instead of remote serial-to-ip Zigbee coordinator by third-party software applications.

I am not sure about Z-Stack ZNP but at least EmberZNet NCP should allow this with the same firmware as already use for EFR32.

BOM and and Gerber files for new Tube USB CC2652P2 USB Coordinator

BOM and Gerber files for new Tube USB CC2652P2 USB Coordinator ("Version 1") if it too is also open source hardware licensed(?).

https://github.com/tube0013/tube_gateways/tree/main/tube_usb_cc_coordinator

Bin image file for the firmware is also missing. but guess really only need to include link to https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

PS: @tube0013 you might also want to consider submit PR updating this README.md file:

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

Update: Submitted this PR based on the info available so far -> Koenkk/Z-Stack-firmware#287

https://github.com/Koenkk/Z-Stack-firmware/blob/master/coordinator/Z-Stack_3.x.0/bin/README.md

PPS: Off-topic but related; it would also be interesting to know if Tube USB CC2652P2 USB Coordinator support this router firmware:

https://github.com/Koenkk/Z-Stack-firmware/tree/master/router/Z-Stack_3.x.0/bin

Unable to update or connect to zigbee2mqtt with cc2652p2_poe.

Trying to get the cc2652p2_poe working, however I keep getting this error in zigbee2mqtt:

Zigbee2MQTT:error 2021-11-01 17:39:16: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:102:27)
    at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:123:29)
    at Zigbee.start (/app/lib/zigbee.ts:63:27)
    at Controller.start (/app/lib/controller.js:116:27)
    at start (/app/index.js:95:5)

So I decided to install firmware to see if this resolves the issue. However when I click Prep the cc2652p2 for firmware update nothing happens in the debug log. This is after waiting 2 minutes:
image
Switching browsers or incognito also doesnt work. The only button that seems to do something is restart, which it then does.

Anything I can do to resolve this?

EFR32 Pro Coordinator - CRC Error in frame

The Problem
Getting CRC error in frame from time to time

Logger: bellows.uart
Source: /usr/local/lib/python3.8/site-packages/bellows/uart.py:84
First occurred: 10:33:01 AM (4 occurrences)
Last logged: 11:55:08 AM

CRC error in frame b'36bea1a9a52ab7b24794f025dd5592499c4e27abedce648bffc66389fc7e3ca7ebcdde6f8fffc7dbd5d2698c4623a9ec763ba5ea758241984c13b1e070381c0e07bb26e5ca658a459a4d9e4f9ff7c3d9d46a35a251904824c5eb7e' (b'c5eb' != b'f715')
CRC error in frame b'45f9a1a9a52af6b19a94f421435792499c4e27abedce468be6c66589fe7e2aa7ebcddeff6f8fffc7dbd5d2698c4623a9ec763ba5ea758241984c2613b1e070381c0e07bbe5ca658a459a4d9e4f9ff7c3d9d46a35a251904824e5797e' (b'e579' != b'c0a6')
CRC error in frame b'42fab1a90d2a4d7d66c92f07aa1e8049ff5c8227a67d7e' (b'a67d' != b'111d')
CRC error in frame b'0064b1a90d2ade14cc3f0726aa1e804960952769ea7e' (b'69ea' != b'198e')
CRC error in frame b'6242a1a9312afcb19e94e621735792499c4e27abedce7a8bf1c66589ff7e29a7ebcdde6f8fffc7dbd5d2698c4623a9ec763ba5ea758241984c2613b1e070381c0e07bbe5ca658a459a4d9e4f9ff7c3d9d46a35a2519048248caaff7e' (b'aaff' != b'aa00')

Last known working coordinator
Using Sonoff ZBBridge, I never encountered CRC error in frame (within 2+ months of usage).

Currently Paired Devices
3 pcs of Sonoff Zigbee (BASICZBR3)

What I have tried

  1. Removing the devices (routers and end devices) manually
  2. Removing ZHA integration
  3. Removing Zigbee.db from /config
  4. Readding ZHA integration and pairing the devices manually again

YAML Configuration

zha:
  zigpy_config:
    network:
      channel: 25
    source_routing: true
    ezsp_config:
      CONFIG_APS_UNICAST_MESSAGE_COUNT: 30
      CONFIG_MAX_END_DEVICE_CHILDREN: 64
      CONFIG_SOURCE_ROUTE_TABLE_SIZE: 200
      CONFIG_ROUTE_TABLE_SIZE: 16
      CONFIG_ADDRESS_TABLE_SIZE: 32
      CONFIG_PACKET_BUFFER_COUNT: 254
      CONFIG_BINDING_TABLE_SIZE: 32
      CONFIG_NEIGHBOR_TABLE_SIZE: 26

Production Environment
Hardware: HA Blue (Odroid N2+) connected via Ethernet
HA Core: core-2021.6.6
Installation type: HA OS
Supervisor: supervisor-2021.06.6
OS: Home Assistant OS 6.1
Zigbee Coordinator: EFR32 Pro by TubesZB connected via Ethernet
EmberZNet version: 6.9.2.0 build 256

Energy scan issue

I'm trying to debug why I can't start using Tube's CC2652p2, but with no success
I can't start the device, tried with unscrewed antenna but with no success. Have this issue Koenkk/zigbee2mqtt#8282

Later, wanted to debug Energy scan but with no success too
image

Q: what do I need to fill in for Devices: on zigbee2mqtt docker-compose.yml

What should I input as devices on this scenario?

tcp://IPADDRESS:6638:tcp://IPADDRESS:6638

version: '3.8'
services:
  mqtt:
    image: eclipse-mosquitto:2.0
    restart: unless-stopped
    volumes:
      - "./mosquitto-data:/mosquitto"
    ports:
      - "1883:1883"
      - "9001:9001"
    command: "mosquitto -c /mosquitto-no-auth.conf"

  zigbee2mqtt:
    container_name: zigbee2mqtt
    restart: unless-stopped
    image: koenkk/zigbee2mqtt
    volumes:
      - ./zigbee2mqtt-data:/app/data
      - /run/udev:/run/udev:ro
    ports:
      - 8080:8080
    environment:
      - TZ=Europe/Berlin
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0

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.