Too much assumption folks here know the open source development terms.
A pull request is a “request” to the HA devs that they “pull” code from your repository into Home Assistant.
In this case it would not be computer code, but just documentation text. The same platform (github) supports both in HA’s case. See Home Assistant · GitHub.
Probably too much to expect a casual user to get into the intricacies of learning all that’s necessary, but I guess it doesn’t hurt to ask.
@belastingvormulier Thank you for your script! It worked very well. On my mac it made some problems at first, probably again because of the m1, but on my debian (proxmox) server it worked without problems. (At least after i looked what the requirements were and installed them )
Using this on Arch, after hitting y to proceed I get:
# Get device ready for flashing:
This is a debug log
This is an info log
This is critical
An error occurred
/dev/ttyUSB0 - Sonoff Zigbee 3.0 USB Dongle Plus
选择串口(输入串口序号即可):
Hit enter after this, and supplied the dongle’s address (that same /dev/ttyUSB0) and hit enter again:
# Please supply the serial port again:
/dev/ttyUSB0
# Flashing the device:
sonoff
Opening port /dev/ttyUSB0, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20220219.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:24:C1:73:A4
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: 0xddfc152d)
# Cleaning up env, Till next time!
…and everything seems to have worked on three dongles, just a little confusing on the output. Thanks regardless!
Glad It worked, The output is indeed MEH at best… But the reason is that I wanted to keep things as “Original” as possible ( I do not have evil intentions, but you never know ) now you can easily verify the sources and stuff!
Hey all, I’m trying to use the script above but I’m getting a timeout. The dongle shows up as /dev/tty/ACM0 also but neither port seems to work. I have the E variant of the dongle.
# Please supply the serial port again:
/dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220811144022-if00
# Flashing the device:
sonoff
Opening port /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220811144022-if00, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_coordinator_20220219.hex
Firmware file: Intel Hex
Connecting to target...
ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'
# Cleaning up env, Till next time!
I didn’t actually use /dev/serial or /dev/tty/ for mine. The script scanned the ports and displayed the exact text I needed to type in. In my case it was
/dev/ttyUSB1
note there’s no / inbetween tty and USB, and USB needed to be in caps to match the output the script gave me
Mine mapped to /dev/ttyACM0 but that didn’t work for the script. It’s working fine in Zigbee2MQTT but I can’t get the firmware update. I suppose I can probably leave it as is for now.
I have taken the bash script from @jerrm (see above, May 12th) as base and enhanced it including several checks for ease of use. In the meanwhile from when he created that script, the router and the dev firmare has been removed from z2m. This caused the original script to fail.
With the new changes incorporated, steps are now modular and can easily be commented for testing, You can also quickly identfy the USB port used, repsectively the script denies flashing if no Sonoff stick is connected. I also took care that the pip dependencies are handled by the bash script (and are then only checked by the python flasher) so you are in better control of these.
I can state that flashing my Sonoff using the new script was a no brainer. For all who are interested, you can download it at: firmware_sonoff.sh (dont forget to make it executable )
If there will be once a new firmware, adapting the script is quite easy as you - as far I have understood the upgrade process - only need to fix the downloaded firmware filename.
/dev/ttyUSB0 designates a port in linux, under Windows it will be something like COM3, however you have to make sure you have the drivers installed. This video helped me: