class Agents::RenaultZeBatteryAgent
Public Instance Methods
check()
click to toggle source
# File lib/huginn_renault_ze_agent/renault_ze_battery_agent.rb, line 50 def check username = interpolated["username"].present? ? interpolated["username"] : credential("renault_ze_username") password = interpolated["password"].present? ? interpolated["password"] : credential("renault_ze_password") redacted_password = password.size.times.map { "•" }.join log("Logging in #{username} with #{redacted_password}...") service = RenaultZE::Client.new(username, password) begin content = service.get_battery(service.login()) rescue error("Could not fetch battery level: #{$!}") return end if memory["last_update"] != content["last_update"] created_event = create_event payload: content log("Creating new event as newer data received, updated #{content["last_update_hours_ago"]}h ago.", :outbound_event => created_event) memory["last_update"] = content["last_update"] else log("Not creating event as no update since last run. Last update was #{content["last_update_hours_ago"]}h ago.") end end
default_options()
click to toggle source
# File lib/huginn_renault_ze_agent/renault_ze_battery_agent.rb, line 31 def default_options { "username" => "", "password" => "" } end
validate_options()
click to toggle source
# File lib/huginn_renault_ze_agent/renault_ze_battery_agent.rb, line 41 def validate_options errors.add(:base, "you need to specify your Renault ZE username or provide a credential names renault_ze_username") unless options["username"].present? || credential("renault_ze_username").present? errors.add(:base, "you need to specify your Renault ZE password or provide a credential names renault_ze_password") unless options["password"].present? || credential("renault_ze_password").present? end
working?()
click to toggle source
# File lib/huginn_renault_ze_agent/renault_ze_battery_agent.rb, line 46 def working? checked_without_error? end