tube0013 / tube_gateways Goto Github PK
View Code? Open in Web Editor NEWInformation and Documentation on Tube's Zigbee Gateways
Information and Documentation on Tube's Zigbee Gateways
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.
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
I hold down boot, plug in the device, but my windows PC does not see it.
Any suggestions?
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?
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
Home Assisistant announced ESP Web Tools for simplifying onboarding by enabling website flashing ESP firmware via webserial:
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.
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.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/
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...
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
`
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?
FYI, Koenkk has now uploaded an experimental firmware for CC2652P/CC1352P with a default set to 9 dBm (and a max of 20 dBm):
He mentions in Koenkk/zigbee2mqtt#8885 that he does not have RF measurement equipment so cannot confirm RF output power.
Would be great if you can test and verify Koenkk experimental firmware for CC2652P configurable up to 20 dBm TX power output.
I would love to see an upload of the Pick & Place file for SMT assembly. Then I could order a PCB and build the zigbee coordinator by myself.
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.
Hello there,
i would like to add a one channel relay module to your coordonator. Like this
Possible to use the ethernet connection pins to connect it? My idea is that solder this type of pin header and use the free pins in WT32-ETH01
Is it possible to use Tasmota's Serial to TCP Bridge option to connect to zigbee2mqtt instead of Z2T? This is its related introduction.https://tasmota.github.io/docs/Serial-to-TCP-Bridge/
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};
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 ==========================
Add instructions for optional ZHA automatic discovery via Zeroconf as an alternative to manual configuration in initial config flow:
PS: Not supported in current Home Assistant 2021.4 release but should be supported in upcoming Home Assistant 2021.5 release.
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?
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... :)
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:
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 |
Could you please give me a hint - how you did this?
Thanks 👍
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?
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.
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!
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.
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://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:
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:
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
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 ;-))
Are there any plans to have a PoE option, such as using the Olimex ESP32-POE-ISO or the LILYGO TTGO T-Internet-POE?
Hi,
I just got my gw, I'm wondering if the ESP Home could be expanded on it to do more, like to run https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32 as well via ethernet?
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?)
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.
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?
Home Assisistant also announced ESP Web Tools for simplifying onboarding by enabling website flashing ESP firmware via webserial:
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.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/
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 ...
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":
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://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.
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
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 =========================
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.
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:
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
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:
Any advice on what I should do?
Oh and I added those lines to configuration.yaml. TIA for any ideas!
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
YAML snippet is as follows-
zha:
zigpy_config:
network:
channel: 25
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.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:
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.
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
"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:
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/
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?
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?
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?
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
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 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
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:
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?
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
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
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
Hey guys,
I want to upgrade firmware of my coordinator EFR32 Series 2 and do not have a MAC machine, so I can't follow the isntructions provide by this link:
https://www.youtube.com/watch?v=zKrISuWEzL4tube-
My machine is a UBUNTU, if some one already knew how to procede, your help will be very welcome.
Thanks
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.