Hey all,
I am curious, right now, HA detects zigbee gateways via zeroconf if it matches the type and name. This is a fine mechanism, but also ‘Forces’ each manufacturer to come up with a pull-request.
Is it not feasible to introduce a ‘common’ entry here?
I saw some devices are based on esphome with serial-stream, which is pretty cool for a solution, but won’t work exactly like that for example for openwrt, or a linux server (well we can still use _esphome_lib.local
of course).
Naming things of course is hard, things that crossed my mind is:
diff --git a/homeassistant/components/zha/manifest.json b/homeassistant/components/zha/manifest.json
index 7087ff0b2f..a31fb37d2b 100644
--- a/homeassistant/components/zha/manifest.json
+++ b/homeassistant/components/zha/manifest.json
@@ -113,6 +113,10 @@
}
],
"zeroconf": [
+ {
+ "type": "_ser2net_zigbee-gateway._tcp.local.",
+ "name": "*"
+ },
{
"type": "_esphomelib._tcp.local.",
"name": "tube*"
but I’m sure there’s tons of useful names that are generic enough, without tying it to a brand.
In addition maybe, what about storing configurations in attributes? E.g. baudrate, modem type (znp, ezp), flow-control etc. This would make autodiscovery even more ‘automatic’ and nice for the end user.
This would also set the standard for others to follow of course, where vendor type/names would indicate deviations and ‘custom code’.
An example I’m using with ser2net to test things, looks like this. Obviously the settings are not honored, but just comming up with some specs here.
<service-group>
<name replace-wildcards="yes">%h (not zigate)</name>
<service>
<type>_zigate-zigbee-gateway._tcp</type>
<port>8888</port>
<txt-record>baudrate=115200</txt-record>
<txt-record>flow-control=software</txt-record>
<txt-record>radio=znp</txt-record>
</service>
</service-group>
wdyt?