Ability to insert chip ID in update URL and MQTT client name #1871
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Tasmota supports the placeholder "%06X" for the MQTT client name which inserts the chip ID in hexadecimal - unfortunately, it does not support other placeholders. I have added "%d" for the chip ID in decimal, and "%04d" for the short chip ID (same as used in the hostname). This is because I identify my sonoff devices using the 4-digit hostname number and also have that in the MQTT client name.
In addition, I added support for placeholders to the OTA update URL. If the update URL contains "%d" (or "%04d"), that will be replaced by the short chip ID (chipID & 0x1fff). If it contains "%u", that will be replaced by the (long) chip ID (both in decimal).
This means, one could now compile one firmware, flash that to multiple Sonoffs, and they'd have different MQTT client names including the ID (in different variants, not just 6-digit hex), and, if the OTA url in the firmware is set correctly (containing a placeholder), the server which you load the update from knows which device requested the update - great for deploying a new testing firmware to just one device.