Class: Ocpp::Rails::Actions::BootNotificationHandler
- Inherits:
-
Object
- Object
- Ocpp::Rails::Actions::BootNotificationHandler
- Defined in:
- app/services/ocpp/rails/actions/boot_notification_handler.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(charge_point, message_id, payload) ⇒ BootNotificationHandler
constructor
A new instance of BootNotificationHandler.
Constructor Details
#initialize(charge_point, message_id, payload) ⇒ BootNotificationHandler
Returns a new instance of BootNotificationHandler.
5 6 7 8 9 |
# File 'app/services/ocpp/rails/actions/boot_notification_handler.rb', line 5 def initialize(charge_point, , payload) @charge_point = charge_point @message_id = @payload = payload end |
Instance Method Details
#call ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/services/ocpp/rails/actions/boot_notification_handler.rb', line 11 def call # Update charge point with boot information old_connected = @charge_point.connected @charge_point.update( vendor: @payload["chargePointVendor"], model: @payload["chargePointModel"], serial_number: @payload["chargePointSerialNumber"], firmware_version: @payload["firmwareVersion"], iccid: @payload["iccid"], imsi: @payload["imsi"], meter_type: @payload["meterType"], meter_serial_number: @payload["meterSerialNumber"], connected: true, last_heartbeat_at: Time.current ) ::Rails.logger.info("[OCPP] BootNotification from #{@charge_point.identifier}: #{@payload['chargePointVendor']} #{@payload['chargePointModel']}") # Log connection state change if it actually changed log_connection_change(old_connected, true) # Return acceptance with heartbeat interval { "status" => "Accepted", "currentTime" => Time.current.iso8601, "interval" => Ocpp::Rails.configuration.heartbeat_interval } end |