| 12345678910111213141516171819202122232425262728293031 |
- require 'mqtt_client'
- module MqttHelpers
- def mqtt_topic_prefix
- ENV.fetch('ESPMH_MQTT_TOPIC_PREFIX')
- end
- def mqtt_parameters
- topic_prefix = mqtt_topic_prefix()
- {
- mqtt_server: ENV.fetch('ESPMH_MQTT_SERVER'),
- mqtt_username: ENV.fetch('ESPMH_MQTT_USERNAME'),
- mqtt_password: ENV.fetch('ESPMH_MQTT_PASSWORD'),
- mqtt_topic_pattern: "#{topic_prefix}commands/:device_id/:device_type/:group_id",
- mqtt_state_topic_pattern: "#{topic_prefix}state/:device_id/:device_type/:group_id",
- mqtt_update_topic_pattern: "#{topic_prefix}updates/:device_id/:device_type/:group_id"
- }
- end
- def create_mqtt_client
- params = mqtt_parameters
- MqttClient.new(
- params[:mqtt_server],
- params[:mqtt_username],
- params[:mqtt_password],
- mqtt_topic_prefix()
- )
- end
- end
|