Tube's ZB Coordinators and Routers (was Zigbee router on steroids?)

sure DM me, the details and we can work from there.

I updated my coordinator a few days ago when I saw this and just checked it and it is not occuring with latest ESPhome so maybe it has been mitigated. You will likely need to update over usb/serial if the ota can’t work due to the flood of messages.

Hi @tube0013 - I can say that the latest ESPHome firmware has sorted this issue.
Thanks for your help.

I am having similar problems. I have updated everything I have seen on this chat and still nothing

image

I also tried Zigbee2MQTT (not at the same time) and still doesn’t work. I can post error logs if needed

Please PM me logs. Also try to use the IP address instead of Local mdns name

@tube0013 just received my poe mgm24. Got a reserved IP, esphome picked it up in HA, went to ZHA, removed my skyconnect and configured a new network pointing to the tubesZB socket. See logs below, I seem to get connected and then the serial connection and the connection count just go to zero even though it says Ha is connected. If I restart the coordinator no new logs or reconnections sow up. I can’t add any devices and ZHA doesn’t seem to pickup that it’s not actually connected. My HA config already contains the code from the following: tube_gateways/models/current/tubeszb-efr32-MGM12-eth_usb at main · tube0013/tube_gateways · GitHub

Blockquote
Time level Tag Message
21:58:59 [D] [stream_server:081]
New client connected from 192.168.0.110
21:58:59 [D] [binary_sensor:036]
‘TubesZB Serial Connected’: Sending state ON
21:58:59 [D] [sensor:094]
‘Connection Count’: Sending state 1.00000 with 0 decimals of accuracy
21:59:02 [D] [stream_server:163]
Client 192.168.0.110 disconnected
21:59:02 [D] [binary_sensor:036]
‘TubesZB Serial Connected’: Sending state OFF
21:59:02 [D] [sensor:094]
‘Connection Count’: Sending state 0.00000 with 0 decimals of accuracy
21:59:02 [D] [stream_server:081]
New client connected from 192.168.0.110
21:59:02 [D] [binary_sensor:036]
‘TubesZB Serial Connected’: Sending state ON
21:59:02 [D] [sensor:094]
‘Connection Count’: Sending state 1.00000 with 0 decimals of accuracy
21:59:06 [D] [stream_server:163]
Client 192.168.0.110 disconnected
21:59:06 [D] [binary_sensor:036]
‘TubesZB Serial Connected’: Sending state OFF
21:59:06 [D] [sensor:094]
‘Connection Count’: Sending state 0.00000 with 0 decimals of accuracy
21:59:11 [D] [stream_server:081]
New client connected from 192.168.0.110
21:59:11 [D] [binary_sensor:036]
‘TubesZB Serial Connected’: Sending state ON
21:59:11 [D] [sensor:094]
‘Connection Count’: Sending state 1.00000 with 0 decimals of accuracy
21:59:25 [D] [stream_server:163]
Client 192.168.0.110 disconnected
21:59:25 [D] [binary_sensor:036]
‘TubesZB Serial Connected’: Sending state OFF
21:59:25 [D] [sensor:094]
‘Connection Count’: Sending state 0.00000 with 0 decimals of accuracy
21:59:40 [I] [ota:117]
Boot seems successful, resetting boot loop counter.
21:59:40 [D] [esp32.preferences:114]
Saving 1 preferences to flash…
21:59:40 [D] [esp32.preferences:143]
Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
22:00:10 [D] [api.connection:197]
Home Assistant 2024.4.0 (192.168.0.110) requested disconnected
22:03:55 [D] [api:102]
Accepted 192.168.0.110
22:03:55 [D] [api.connection:1121]
Home Assistant 2024.4.0 (192.168.0.110): Connected successfully

NVM, I found the issue, it was in my config, if someone else runs into this, comment out the custom quirk line, I thought I had but I hadn’t. It’s working now.

@tube0013 for the few mgm24 - any sense for if/when thread and matter could be enabled. That would be absolutely amazing and I could finally ditch skyconnect and get more tubeszb.

1 Like

stick with the skyconnect for thread, using separate radios is the recommended approach and other existing devices in your home can act as thread border routers. check out the State of Matter Home Assistant Blog and Video Stream

Hey @tube0013 QQ. I’m trying to update my older (:frowning:) round CC2652P2 coordinator to the 20230507 launchpad coordinator firmware. When I update it using the cc2538.py script, I’m getting this near the end of the process.

Any hints?

ERROR: int() can't convert non-string with explicit base

It looks like it goes all the way to the end of writing and then just errors out.

Full log:

bill@bill-desktop:/home/bill/zigbee_tools$ python3 cc2538-bsl.py -p socket://192.168.1.11:6638 -evw CC1352P2_CC2652P_launchpad_coordinator_20230507.hex
Opening port socket://192.168.1.11:6638, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20230507.hex
Firmware file: Intel Hex
Connecting to target...
CC1350 PG2.0 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:22:98:3A:28
    Performing mass erase
Erasing all main bank flash sectors
    Erase done
Writing 360448 bytes starting at address 0x00000000
Write 104 bytes at 0x00057F988
    Write done
Verifying by comparing CRC32 calculations.
    Verified (match: 0xe83aa727)
ERROR: int() can't convert non-string with explicit base

Edit: My google fu was lacking: ERROR: int() can't convert non-string with explicit base · Issue #172 · JelmerT/cc2538-bsl · GitHub

Disregard this.

I don’t think I’d be too worried about that, the fw write succeeds and verifies, so it should be good to go. are there any issues once starting back up the network after the update?

Yeah, Z2M times out trying to get to the coordinator:

04/21/2024 12:19:50 PM Using '/app/data' as data directory
04/21/2024 12:19:56 PM Zigbee2MQTT:info  2024-04-21 12:19:56: Logging to console and directory: '/app/data/log/2024-04-21.12-19-55' filename: log.txt
04/21/2024 12:19:56 PM Zigbee2MQTT:info  2024-04-21 12:19:56: Starting Zigbee2MQTT version 1.36.1 (commit #ffc2ff1)
04/21/2024 12:19:56 PM Zigbee2MQTT:info  2024-04-21 12:19:56: Starting zigbee-herdsman (0.40.3)
04/21/2024 12:20:15 PM Zigbee2MQTT:error 2024-04-21 12:20:15: Error while starting zigbee-herdsman
04/21/2024 12:20:15 PM Zigbee2MQTT:error 2024-04-21 12:20:15: Failed to start zigbee
04/21/2024 12:20:15 PM Zigbee2MQTT:error 2024-04-21 12:20:15: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
04/21/2024 12:20:15 PM Zigbee2MQTT:error 2024-04-21 12:20:15: Exiting...
04/21/2024 12:20:15 PM Zigbee2MQTT:error 2024-04-21 12:20:15: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
04/21/2024 12:20:15 PM at ZStackAdapter.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:103:27)
04/21/2024 12:20:15 PM at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:132:29)
04/21/2024 12:20:15 PM at Zigbee.start (/app/lib/zigbee.ts:62:27)
04/21/2024 12:20:15 PM at Controller.start (/app/lib/controller.ts:109:27)
04/21/2024 12:20:15 PM at start (/app/index.js:107:5)

I can also get to the ESP32 web interface as well:

Maybe this is foreshadowing that I need to order one of the POE ones? :wink:

And yet another edit: So, Z2M decided it wanted to work finally. I think the bug in the script was preventing something? Anyhow, Z2M is reconnected (after a LONG delay) and things are back up… BUT… I’m really thinking now about upgrading my older coordinator with one of the POE ones. I’ll check the website and put an order in.

Thanks as always @tube0013!!!

In August of 2021 I bought a tubeszb-cc2652-poe Zigbee coordinator, and it works great. I’d like to flash a new esphome firmware to it to give it a static IP and put a password on the OTA component. Looking at the GitHub repo I see two YAML files: tubeszb-cc2652-poe-idf.yaml and tubeszb-cc2652-poe.yaml. They differ in the ESP32 board and framework type, but I don’t know which of the two is correct for my hardware.

Which of these should I use? If it’s useful: the Item Description in my Order Summary is “CC2652P2 Based Zigbee to Power Over Ethernet Serial Coordinator V2 - WL1” with SKU “tube_zb_gw_cc2652p2_v4_poe”.

You can use either. The idf version will require you to flash over USB though. I’ve moved most current firmwares to IDF because it one less abstraction layer and seems a bit faster to me.

For a static ip OTA update, the devices current dhcp assigned ip should match, as ESPHome will try to use the defined static ip in the yaml to flash OTA once compiled. You can also flash over usb.

For the round PoE TubesZB coordinators, to flash with usb, remove the ethernet cable, and the case lid, unless you have a right angle micro usb cable you will need to partially lift the whole pcb out of the case to access the usb port. (Never use usb and PoE simultaneously as it will fry the board and the usb port on connected device).

1 Like

Hi there,
i own a tubezb-cc2652p2-ethusb-2022 and from one day to another my zha service stoped working.
When i have a look in the console of the cc2652 i can see that HA is connecting and a few seconds later disconnecting.
Logs like like that every 2 minutes:

18:00:33 [D] [streamserver:074] New client connected from 192.168.0.9
18:00:33 [D] [binary_sensor:036] ‘TubesZB Serial Connected’: Sending state ON
18:00:43 [D] [streamserver:102] Client 192.168.0.9 disconnected
18:00:43 [D] [binary_sensor:036] ‘TubesZB Serial Connected’: Sending state OFF
18:01:27 [D] [streamserver:074] New client connected from 192.168.0.9
18:01:27 [D] [binary_sensor:036] ‘TubesZB Serial Connected’: Sending state ON
18:01:37 [D] [streamserver:102] Client 192.168.0.9 disconnected
18:01:37 [D] [binary_sensor:036] ‘TubesZB Serial Connected’: Sending state OFF

Logs in HA state nothing, even with debug logging enabled.

Could please some give me a hint where to search?

with zha debug logging on there should be something. can you ensure that is on, and trigger a reload of the integration? if that fails turn off debug logging and the log will download, DM or email that to me (store @ tubeszb.com )

thanks for your fast reply.
double checked logs in HA. No events shown.
i send you the debug log via email.

thanks for your support.

This ist what i found in the debug log several times:

2024-06-30 17:52:04.866 DEBUG (MainThread) [zigpy_znp.uart] Connecting to socket://192.168.0.230:6638 at 115200 baud
2024-06-30 17:52:04.866 DEBUG (MainThread) [zigpy.serial] Opening a serial connection to 'socket://192.168.0.230:6638' (115200 baudrate)
2024-06-30 17:52:04.869 DEBUG (MainThread) [zigpy_znp.uart] Opened socket://192.168.0.230:6638 serial port
2024-06-30 17:52:04.870 DEBUG (MainThread) [zigpy_znp.uart] Connected to socket://192.168.0.230:6638 at 115200 baud
2024-06-30 17:52:04.870 DEBUG (MainThread) [zigpy_znp.api] Toggling RTS/DTR pins to skip bootloader or reset chip
2024-06-30 17:52:05.325 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:05.826 DEBUG (MainThread) [zigpy_znp.api] Sending CC253x bootloader skip bytes
2024-06-30 17:52:08.330 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:09.331 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:10.332 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:11.333 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:12.334 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:13.335 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:14.336 DEBUG (MainThread) [zigpy_znp.api] Sending request: SYS.Ping.Req()
2024-06-30 17:52:14.871 DEBUG (MainThread) [zigpy_znp.api] Connection to socket://192.168.0.230:6638 failed, cleaning up
2024-06-30 17:52:14.872 DEBUG (MainThread) [zigpy_znp.uart] Closing serial port

Interesting. it’s not able to talk to the module. Are you running HAOS with addons*? can you try re flashing the coordinator FW?

*I have an add-on for flashing if you you do.
https://github.com/tube0013/tubeszb_addons

yeah, still tried that.
also stops with an error…

-----------------------------------------------------------
 Add-on: TubesZB TI CC2652 FW Flasher
 TubesZB TI CC2652 firmware flasher add-on
-----------------------------------------------------------
 Add-on version: 0.2.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 12.4  (aarch64 / odroid-n2)
 Home Assistant Core: 2024.6.4
 Home Assistant Supervisor: 2024.06.2
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service cc2652-flasher: starting
[19:59:20] INFO: Starting cc2652 flasher with socket://192.168.0.230:6638
Setting filename to /root/firmware.hex
Opening port socket://192.168.0.230:6638, baud 500000
Reading data from /root/firmware.hex
Your firmware looks like an Intel Hex file
Connecting to target...
ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'
[19:59:31] INFO: cc2652-flasher-up script exited with code 1
s6-rc: warning: unable to start service cc2652-flasher: command exited 1
s6-rc: info: service banner: stopping
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

can you try again but first toggle the boot loader mode in the coordinator’s web ui, before running, it’s the switch called prep for firmware or bootloader mode has had a few names.