You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1012 B

  1. #!/bin/sh /etc/rc.common
  2. START=99
  3. USE_PROCD=1
  4. PROG=/usr/sbin/vallumd
  5. add_topic() {
  6. procd_append_param command -t "$1"
  7. }
  8. start_service() {
  9. local enabled mqtt_ca mqtt_host mqtt_pass mqtt_port mqtt_tls mqtt_user
  10. config_load "vallumd"
  11. config_get_bool enabled "mqtt" "enabled" 1
  12. [ "$enabled" -gt 0 ] || return 1
  13. config_get mqtt_ca "mqtt" "ca"
  14. config_get mqtt_host "mqtt" "host"
  15. config_get mqtt_pass "mqtt" "pass"
  16. config_get mqtt_port "mqtt" "port"
  17. config_get mqtt_tls "mqtt" "tls"
  18. config_get mqtt_user "mqtt" "user"
  19. procd_open_instance
  20. procd_set_param command $PROG
  21. [ -n "$mqtt_host" ] && procd_append_param command -h "$mqtt_host"
  22. [ -n "$mqtt_pass" ] && procd_append_param command -P "$mqtt_pass"
  23. [ -n "$mqtt_port" ] && procd_append_param command -p "$mqtt_port"
  24. [ -n "$mqtt_user" ] && procd_append_param command -u "$mqtt_user"
  25. [ $mqtt_tls -gt 0 ] && procd_append_param command -T -c "$mqtt_ca"
  26. config_list_foreach mqtt topics add_topic
  27. procd_set_param respawn
  28. procd_close_instance
  29. }