imperituroard 0.2.9 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5dd10455562230533ca66925146fc6277ad59e8d
|
4
|
+
data.tar.gz: da05bfe279194071153aa51c7fe9071051e4a8ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5ba1bb0d2403d224fc8e96ab1a7ceb36815c4340b35174a3b7211161ae8090e7a64c38f09c34d577bb2ea66de20e4f25d098a1769b3de65a3a5a6e1c06ad34e
|
7
|
+
data.tar.gz: 5ac36913151dd8637caf0aec3723e0f327e54d336e1c0387ff263f9d8ad2e74c74df41a222c06e83b57e161eff6a19fac2f7a3be79984cf9de7e67ae1e9f88b1
|
@@ -48,23 +48,60 @@ class HuaIot
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def get_token(app_id, secret)
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
51
|
+
out_resp = {}
|
52
|
+
begin
|
53
|
+
path = "/iocm/app/sec/v1.1.0/login"
|
54
|
+
url_string = "https://" + platformip + ":" + platformport + path
|
55
|
+
uri = URI.parse url_string
|
56
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
57
|
+
https.use_ssl = true
|
58
|
+
https.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
|
59
|
+
https.key = OpenSSL::PKey::RSA.new(File.read(key_file))
|
60
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
61
|
+
request = Net::HTTP::Post.new(uri.path)
|
62
|
+
data = {
|
63
|
+
:appId => app_id,
|
64
|
+
:secret => secret
|
65
|
+
}
|
66
|
+
request.content_type = 'application/x-www-form-urlencoded'
|
67
|
+
request.body = URI.encode_www_form(data)
|
68
|
+
res = https.request(request)
|
69
|
+
out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
70
|
+
rescue
|
71
|
+
out_resp = {:code => 500, :message => "failed get token"}
|
72
|
+
end
|
73
|
+
p jjj = {:procedure => "get_token", :answ => out_resp}
|
74
|
+
out_resp
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
def token_logout(token)
|
79
|
+
|
80
|
+
p "token_logout token: #{token}"
|
81
|
+
|
82
|
+
out_resp = {}
|
83
|
+
begin
|
84
|
+
path = "/iocm/app/sec/v1.1.0/logout"
|
85
|
+
url_string = "https://" + platformip + ":" + platformport + path
|
86
|
+
uri = URI.parse url_string
|
87
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
88
|
+
https.use_ssl = true
|
89
|
+
https.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
|
90
|
+
https.key = OpenSSL::PKey::RSA.new(File.read(key_file))
|
91
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
92
|
+
request = Net::HTTP::Post.new(uri.path)
|
93
|
+
data = {
|
94
|
+
:accessToken => token
|
95
|
+
}
|
96
|
+
request.content_type = 'application/json'
|
97
|
+
request.body = URI.encode_www_form(data)
|
98
|
+
res = https.request(request)
|
99
|
+
out_resp = {:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
100
|
+
rescue
|
101
|
+
out_resp = {:code => 500, :message => "failed logout token"}
|
102
|
+
end
|
103
|
+
p jjj = {:procedure => "token_logout", :answ => out_resp}
|
104
|
+
out_resp
|
68
105
|
end
|
69
106
|
|
70
107
|
#Registering a Directly Connected Device (Verification Code Mode) (V2)
|
@@ -88,7 +125,7 @@ class HuaIot
|
|
88
125
|
{:code => res.code, :message => res.message, :body => JSON.parse(res.body.to_s)}
|
89
126
|
end
|
90
127
|
|
91
|
-
#2.2.4 Registering a Directly Connected Device (Password Mode) (V2)
|
128
|
+
#2.2.4 Registering a Directly Connected Device (Password Mode) (V2)
|
92
129
|
def dev_register_passw_code_mode2(app_id, secret, node_id, name_p, description_p, device_type, profile)
|
93
130
|
out_resp = {}
|
94
131
|
token = get_token(app_id, secret)[:body]["accessToken"]
|
@@ -113,32 +150,34 @@ class HuaIot
|
|
113
150
|
end
|
114
151
|
|
115
152
|
|
116
|
-
|
117
153
|
#2.2.12 Deleting a Directly Connected Device
|
118
|
-
def dev_delete(app_id,
|
154
|
+
def dev_delete(app_id, dev_id, token)
|
119
155
|
out_resp = {}
|
120
|
-
token = get_token(app_id, secret)[:body]["accessToken"]
|
121
|
-
path = "/iocm/app/dm/v1.1.0/devices/" + dev_id + "?app_Id=" + app_id + "&cascade=true"
|
122
|
-
url_string = "https://" + platformip + ":" + platformport + path
|
123
|
-
uri = URI.parse url_string
|
124
|
-
https = Net::HTTP.new(uri.host, uri.port)
|
125
|
-
https.use_ssl = true
|
126
|
-
https.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
|
127
|
-
https.key = OpenSSL::PKey::RSA.new(File.read(key_file))
|
128
|
-
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
129
|
-
request = Net::HTTP::Delete.new(uri.path)
|
130
|
-
request.content_type = 'application/json'
|
131
|
-
request['Authorization'] = 'Bearer ' + token
|
132
|
-
request['app_key'] = app_id
|
133
|
-
res = https.request(request)
|
134
|
-
p res.code
|
135
|
-
p res.body
|
136
|
-
if res.body != nil
|
137
|
-
out_resp = {:code => res.code, :message => res.message, :body => {:answ => JSON.parse(res.body.to_s)}}
|
138
|
-
else
|
139
|
-
out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
|
140
|
-
end
|
141
156
|
|
157
|
+
begin
|
158
|
+
path = "/iocm/app/dm/v1.1.0/devices/" + dev_id + "?app_Id=" + app_id + "&cascade=true"
|
159
|
+
url_string = "https://" + platformip + ":" + platformport + path
|
160
|
+
uri = URI.parse url_string
|
161
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
162
|
+
https.use_ssl = true
|
163
|
+
https.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
|
164
|
+
https.key = OpenSSL::PKey::RSA.new(File.read(key_file))
|
165
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
166
|
+
request = Net::HTTP::Delete.new(uri.path)
|
167
|
+
request.content_type = 'application/json'
|
168
|
+
request['Authorization'] = 'Bearer ' + token
|
169
|
+
request['app_key'] = app_id
|
170
|
+
res = https.request(request)
|
171
|
+
p res.code
|
172
|
+
p res.body
|
173
|
+
if res.body != nil
|
174
|
+
out_resp = {:code => res.code, :message => res.message, :body => {:answ => JSON.parse(res.body.to_s)}}
|
175
|
+
else
|
176
|
+
out_resp = {:code => res.code, :message => res.message, :body => {:answ => "no data"}}
|
177
|
+
end
|
178
|
+
rescue
|
179
|
+
out_resp = {:code => 500, :message => "dev_delete: Unknown IOT error"}
|
180
|
+
end
|
142
181
|
p out_resp
|
143
182
|
out_resp
|
144
183
|
|
@@ -273,21 +312,41 @@ class HuaIot
|
|
273
312
|
end
|
274
313
|
|
275
314
|
|
276
|
-
|
277
315
|
##2.10.7 Adding Members to a Device Group
|
278
316
|
|
279
317
|
|
280
|
-
##############################################################3
|
318
|
+
##############################################################3
|
281
319
|
|
282
320
|
|
283
321
|
########final procedures###############
|
284
322
|
def add_new_device_on_huawei(app_id, secret, node_id, name_p, description_p, device_type, profile)
|
285
|
-
dev_register_passw_code_mode2(app_id, secret, node_id, name_p, description_p, device_type, profile)
|
323
|
+
self.dev_register_passw_code_mode2(app_id, secret, node_id, name_p, description_p, device_type, profile)
|
286
324
|
end
|
287
325
|
|
288
326
|
|
289
327
|
def remove_one_device_from_iot(app_id, secret, dev_id)
|
290
|
-
|
328
|
+
out_resp = {}
|
329
|
+
begin
|
330
|
+
token = self.get_token(app_id, secret)
|
331
|
+
if token[:code] != 500 && token[:body]["accessToken"]!=nil
|
332
|
+
out_resp = self.dev_delete(app_id, dev_id, token[:body]["accessToken"])
|
333
|
+
if out_resp[:code].to_i == 200 || out_resp[:code].to_i == 204
|
334
|
+
###logout#
|
335
|
+
begin
|
336
|
+
self.token_logout(token[:body]["accessToken"])
|
337
|
+
rescue
|
338
|
+
nil
|
339
|
+
end
|
340
|
+
##########
|
341
|
+
end
|
342
|
+
else
|
343
|
+
out_resp = {:code => 500, :message => "remove_one_device_from_iot: Invalid IOT platform token"}
|
344
|
+
end
|
345
|
+
rescue
|
346
|
+
out_resp = {:code => 500, :message => "remove_one_device_from_iot: Unknown error"}
|
347
|
+
end
|
348
|
+
p jjj = {:procedure => "remove_one_device_from_iot", :answ => out_resp}
|
349
|
+
out_resp
|
291
350
|
end
|
292
351
|
|
293
352
|
|
@@ -271,35 +271,45 @@ class MongoIot
|
|
271
271
|
id = ""
|
272
272
|
begin
|
273
273
|
info = get_imei_info_from_db([imei])
|
274
|
+
p info
|
275
|
+
p "info"
|
274
276
|
if info[:body]==[]
|
275
277
|
out_resp = {:code => 505, :result => "get_profile_name_from_imei: get_imei_info_from_db returned empty list from database. IMEIS not found"}
|
276
278
|
else
|
277
279
|
p "fshhsdf"
|
278
280
|
p info
|
279
281
|
id = info[:body][0]["profile"]
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
282
|
+
p id
|
283
|
+
p "id"
|
284
|
+
|
285
|
+
begin
|
286
|
+
p id
|
287
|
+
res = get_profile_name_by_id(id)
|
288
|
+
p res
|
289
|
+
if res.key?("profile")
|
290
|
+
res=res
|
291
|
+
else
|
292
|
+
out_resp = {:code => 505, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not returned profile. Invalid data in database and returned: #{res.to_s}"}
|
293
|
+
end
|
294
|
+
|
295
|
+
rescue
|
296
|
+
out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
|
297
|
+
|
298
|
+
end
|
299
|
+
begin
|
300
|
+
if res["profile"]!=nil
|
301
|
+
out_resp = {:code => 200, :result => "get_profile_name_from_imei: Request completed successfully", :body => res}
|
302
|
+
end
|
303
|
+
rescue
|
304
|
+
out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
|
305
|
+
end
|
291
306
|
|
292
|
-
rescue
|
293
|
-
out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_profile_name_by_id not processed correctly and returned: #{res.to_s}"}
|
294
307
|
|
295
|
-
end
|
296
|
-
begin
|
297
|
-
if res["profile"]!=nil
|
298
|
-
out_resp = {:code => 200, :result => "get_profile_name_from_imei: Request completed successfully", :body => res}
|
299
308
|
end
|
300
309
|
rescue
|
301
|
-
out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function
|
310
|
+
out_resp = {:code => 506, :result => "get_profile_name_from_imei: Function get_imei_info_from_db not processed correctly and returned: #{info.to_s}"}
|
302
311
|
end
|
312
|
+
|
303
313
|
rescue
|
304
314
|
out_resp = {:code => 507, :result => "get_profile_name_from_imei: Unknown SDK error"}
|
305
315
|
end
|