File tree Expand file tree Collapse file tree
src/placeos-rest-api/controllers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -202,7 +202,7 @@ module PlaceOS::Api
202202 search_results.compact_map do |d |
203203 sys_id = d.control_system_id
204204 sys = sys_id ? control_systems.find { |csys | csys.id == sys_id } : nil
205- d_id = d.driver_id
205+ d_id = d.driver_id.as( String )
206206 driver = drivers.find { |drive | drive.id == d_id }
207207 next unless driver
208208
Original file line number Diff line number Diff line change @@ -267,12 +267,21 @@ module PlaceOS::Api
267267 sys.zone_data_details = ::PlaceOS ::Model ::Zone .find_all(current_control_system.zones).to_a
268268
269269 # extend the module details with the driver details
270- modules = ::PlaceOS ::Model ::Module .find_all(current_control_system.modules).to_a.map do |mod |
271- # Pick off driver name, and module_name from associated driver
272- mod.driver_details = mod.driver.try do |driver |
273- Api ::Modules ::DriverDetails .new(driver.name, driver.description, driver.module_name)
274- end
275- mod
270+ modules = ::PlaceOS ::Model ::Module .find_all(current_control_system.modules).to_a
271+ drivers = Model ::Driver .find_all modules.map(& .driver_id.as(String )).uniq!
272+ modules.select! do |mod |
273+ d_id = mod.driver_id.as(String )
274+ driver = drivers.find { |drive | drive.id == d_id }
275+ next unless driver
276+
277+ mod.connected = if mod.running
278+ storage = Driver ::RedisStorage .new(mod.id.as(String ))
279+ storage[" connected" ]? != " false"
280+ else
281+ true
282+ end
283+
284+ mod.driver_details = Api ::Modules ::DriverDetails .new(driver.name, driver.description, driver.module_name)
276285 end
277286 sys.module_data_details = modules
278287
You can’t perform that action at this time.
0 commit comments