Currently the idea is to just bring the frontend online and the user must configure zigbee2mqtt in the frontend, e.g.: Insert MQTT server settings and the /dev/serial/by-id/... path.
The install looks ok. But there is a problem: The Zigbee2MQTT frontend will not work, if a supported Zigbee Adapter can be accessed!
I just add this to manifest.toml:
[install.serial_port] # __SERIAL_PORT__
ask.en = "Serial port of our Zigbee adapter"
type = "string"
example = "/dev/serial/by-id/your-CC2652RB_usb_stick_id"
default = "/dev/ttyUSB0"
help.en = "See also: https://www.zigbee2mqtt.io/guide/configuration/adapter-settings.html - Use 'ls /dev/serial/by-id/*' to find the correct serial port."
This string will be used in systemd.service, e.g.:
Zigbee2MQTT:error: Error while starting zigbee-herdsman
Zigbee2MQTT:error: Failed to start zigbee
Zigbee2MQTT:error: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error: Exiting...
Specify a not existing adapter path like /dev/ttyUSB0 will also just ran into: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyUSB0'
So: The YunoHost CI will always ran into 502 Bad Gateway, see: See: YunoRunner for CI
So the question is: How to get the YunoHost CI green?!?
Just skip all tests is a bad idea, isn’t it?
You can try emulating it, or creating a symlink to another device. I also read about “mkfifo /tmp/my_serial_pipe” to be symlinked… But that’s beyond my knowledge.
I also wondered whether as part of the Setup UI it might be possible to have you select the device you want to use - If there are no devices then you couldn’t proceed.
I need to get a test yunohost. instance running that I can create and test this on. I am just learning so may mis-understand things but it would be great to have zigbee2mqtt running in yunohost.