Есть еще один вариант, который сразу не учли: переписать решение на wb-rules. Вероятно, это самый безболезненный вариант.
Первый вариант фактически тоже сводится к wb-rules: правило будет отслеживать готовность датчика и через runshell перезапускать службу сценария. Второй вариант менее предпочтителен, так как при обновлении конфиг может быть перезаписан. Третий вариант также возможен, но его реализация может занять больше времени.
Да, код выше должен нивелировать данную проблему, хотя это и является обходным решением.
upd: может, что-то не так я делаю, но отслеживать готовность датчика при перезапуске mqtt-serial таким образом не получается. НО. Если отключаю питание шины и включаю, то правило срабатывает.