class Iot
Attributes
Public Class Methods
# File lib/imperituroard.rb, line 122 def initialize(mongoip, mongoport, iotip, mongo_database, iotplatform_ip, iotplatform_port, cert_path, key_path, telegram_api_url, telegram_chat_id #real_ip, #remote_ip ) @param_all = {:mongoip => mongoip, :mongoport => mongoport, :iotip => iotip, :mongo_database => mongo_database, :iotplatform_ip => iotplatform_ip, :cert_path => cert_path, :key_path => key_path } @mongo_client = MongoIot.new(param_all[:mongoip], param_all[:mongoport], param_all[:mongo_database]) @add_functions_connector = AdditionalFunc.new(telegram_api_url, telegram_chat_id) #@real_ip = real_ip #@remote_ip = remote_ip @hua_aceanconnect_connector = HuaIot.new(iotplatform_ip, iotplatform_port, cert_path, key_path, param_all[:mongoip], param_all[:mongoport], param_all[:mongo_database]) @internal_func = InternalFunc.new @iot_connector = IotFunctions_2.new(param_all[:mongoip], param_all[:mongoport], iotip, param_all[:mongo_database], iotplatform_ip, iotplatform_port, cert_path, key_path, telegram_api_url, telegram_chat_id) end
Public Instance Methods
!!1. Add device to profile (only for new device) login - login for client identification profile - profile for device imei_list - device identificator imei_list = [{“imei” => 131234123412341233, “description” => “dfdsf”, “note”=>“second description”, “profile”=>0, “device_type”=>“phone”}, {“imei” => 56213126347645784, “description” => “dfdsf”, “note”=>“second description”, “profile”=>0}] massive commands +++ iot logic added
# File lib/imperituroard.rb, line 168 def add_device_to_profile(login, imei_list, real_ip, remote_ip) iot_connector.add_device_to_prof_2(login, imei_list, real_ip, remote_ip) end
# File lib/imperituroard.rb, line 172 def add_device_to_profile2(request_f, real_ip, remote_ip) iot_connector.add_device_to_prof2_2(request_f, real_ip, remote_ip) end
6 add service by SPA imei profile imsi msisdn newdevice_list=[{:imei=>7967843245665, :attributes=>{:address=>“Golubeva51”, :profile=>“wqeqcqeqwev”, :msisdn=>375298766719, :imsi=>25702858586756875}}] +
# File lib/imperituroard.rb, line 230 def add_service(login, device_list, real_ip, remote_ip) iot_connector.add_service_2(login, device_list, real_ip, remote_ip) end
7 procedure for subscriber autorization
# File lib/imperituroard.rb, line 235 def autorize_subscriber(login, password, real_ip, remote_ip) iot_connector.autorize_subscriber_2(login, password, real_ip, remote_ip) end
technological procedures
# File lib/imperituroard.rb, line 294 def delete_all_iot_device_in_db iot_connector.delete_all_devices_in_database end
!5 add address to device login imei = newdevice_list address = newdevice_list newdevice_list=[{:imei=>7967843245665, :address=>“Golubeva51”}] +++ iot platform integration completed
# File lib/imperituroard.rb, line 219 def device_add_address(login, newdevice_list, real_ip, remote_ip) iot_connector.device_add_address_2(login, newdevice_list, real_ip, remote_ip) end
!!2 Find device (only mongo datebase. IOT platform not need)
procedure for data selection from mongo database. for this function IOT platform not need login imei imei_list =[41234,23452345,132412]
++
# File lib/imperituroard.rb, line 184 def device_find(login, imei_list, real_ip, remote_ip) iot_connector.device_find_2(login, imei_list, real_ip, remote_ip) end
!!4 remove device login imei
not massive commands
imei=11341341234 login=“test” +++ IOT logic added
# File lib/imperituroard.rb, line 207 def device_remove(login, imei, real_ip, remote_ip) iot_connector.device_remove_2(login, imei, real_ip, remote_ip) end
8 get available profiles for login
# File lib/imperituroard.rb, line 240 def get_available_profiles(login, real_ip, remote_ip) iot_connector.get_available_prof_2(login, real_ip, remote_ip) end
9 get available types for login
# File lib/imperituroard.rb, line 245 def get_available_types(login, real_ip, remote_ip) iot_connector.get_available_types_2(login, real_ip, remote_ip) end
9-1 get available types for login and profile
# File lib/imperituroard.rb, line 250 def get_available_types2(login, profile, real_ip, remote_ip) iot_connector.get_available_types2_2(login, profile, real_ip, remote_ip) end
11 get info for profile
# File lib/imperituroard.rb, line 260 def get_info_data_profile(profile, real_ip, remote_ip) iot_connector.get_info_data_profile_2(profile, real_ip, remote_ip) end
10 get info for device type
# File lib/imperituroard.rb, line 255 def get_info_data_type(type, real_ip, remote_ip) iot_connector.get_info_data_type_2(type, real_ip, remote_ip) end
!3 device modify, change imei login imei_old imei_new massive commands im_list = [{“imei_old”=>7967843245667, “imei_new”=>7967843245665}] ++
# File lib/imperituroard.rb, line 195 def imei_replace(login, im_list, real_ip, remote_ip) iot_connector.imei_replace_2(login, im_list, real_ip, remote_ip) end
# File lib/imperituroard.rb, line 286 def logger_to_audit_database(proc_name, src_ip, input_json, output_json, real_ip) mongo_client.audit_logger(proc_name, src_ip, input_json, output_json, real_ip) end
15 integration with SPA
add imei to correct profile
# File lib/imperituroard.rb, line 275 def sdk_spa_service_set(soapgw_params, real_ip, remote_ip) #imei #imsi #msisdn #unp #note #descriptiot iot_connector.spa_service_set_2(soapgw_params, real_ip, remote_ip) end
13 replace data for imei. Replace Type and Profile new procedure 2020-06-06 params =
{"autorization"=>{"login"=>"test", "token"=>"token"}, "datalist"=>[{"imei"=>"524523654366", "new_profile"=>"3", "new_type"=>"1000001"}, {"imei"=>"53623413423", "new_profile"=>"1", "new_type"=>"1000003"}]} answer = {:code=>200, :result=>"Success", :body=>{:processednum=>1, :failednum=>1, :deviceserr=>[{:failedimei=>524523654366}]}}
# File lib/imperituroard.rb, line 269 def set_data_replace(soapgw_params, real_ip, remote_ip) iot_connector.set_data_replace_2(soapgw_params, real_ip, remote_ip) end
# File lib/imperituroard.rb, line 298 def test111 iot_connector.test1278493 end