homebridge-tsvesync 1.0.39 → 1.0.41
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.
- package/package.json +2 -2
- package/scripts/get_response.sh +94 -115
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-tsvesync",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.41",
|
|
4
4
|
"description": "Homebridge plugin for VeSync devices including Levoit air purifiers, humidifiers, and Etekcity smart outlets",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"axios": "^1.6.5",
|
|
98
98
|
"dotenv": "^16.3.1",
|
|
99
99
|
"js-yaml": "^4.1.0",
|
|
100
|
-
"tsvesync": "1.0.
|
|
100
|
+
"tsvesync": "1.0.36"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@types/jest": "^29.5.11",
|
package/scripts/get_response.sh
CHANGED
|
@@ -73,9 +73,8 @@ MD5_PASS=$(echo -n "$VESYNC_PASSWORD" | md5sum | cut -d ' ' -f 1)
|
|
|
73
73
|
|
|
74
74
|
# Step 1: Login to get token and account ID
|
|
75
75
|
echo "Logging in to VeSync..."
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
LOGIN_RESPONSE=$(curl -s -X POST "$LOGIN_URL" \
|
|
76
|
+
|
|
77
|
+
LOGIN_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v1/user/login" \
|
|
79
78
|
-H "Content-Type: application/json" \
|
|
80
79
|
-H "Accept: application/json" \
|
|
81
80
|
-H "Accept-Language: en" \
|
|
@@ -109,9 +108,7 @@ echo "Successfully logged in"
|
|
|
109
108
|
|
|
110
109
|
# Step 2: Get list of devices
|
|
111
110
|
echo "Getting device list..."
|
|
112
|
-
|
|
113
|
-
echo "Calling URL: $DEVICES_URL"
|
|
114
|
-
DEVICES_RESPONSE=$(curl -s -X POST "$DEVICES_URL" \
|
|
111
|
+
DEVICES_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/devices" \
|
|
115
112
|
-H "Content-Type: application/json" \
|
|
116
113
|
-H "Accept: application/json" \
|
|
117
114
|
-H "Accept-Language: en" \
|
|
@@ -184,9 +181,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
184
181
|
# Get device details based on device type
|
|
185
182
|
if [[ "$DEVICE_TYPE" == "ESO15-TB" ]]; then
|
|
186
183
|
echo "Getting device details..."
|
|
187
|
-
|
|
188
|
-
echo "Calling URL: $DETAILS_URL"
|
|
189
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
184
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/outdoorsocket15a/v1/device/devicedetail" \
|
|
190
185
|
-H "Content-Type: application/json" \
|
|
191
186
|
-H "accept-language: en" \
|
|
192
187
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -208,9 +203,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
208
203
|
}')
|
|
209
204
|
elif [[ "$DEVICE_TYPE" == "ESW15-USA" ]]; then
|
|
210
205
|
echo "Getting 15A outlet details..."
|
|
211
|
-
|
|
212
|
-
echo "Calling URL: $DETAILS_URL"
|
|
213
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
206
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/15a/v1/device/devicedetail" \
|
|
214
207
|
-H "Content-Type: application/json" \
|
|
215
208
|
-H "accept-language: en" \
|
|
216
209
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -237,9 +230,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
237
230
|
# Get energy data
|
|
238
231
|
for period in week month year; do
|
|
239
232
|
echo "Getting $period energy data..."
|
|
240
|
-
|
|
241
|
-
echo "Calling URL: $ENERGY_URL"
|
|
242
|
-
ENERGY_RESPONSE=$(curl -s -X POST "$ENERGY_URL" \
|
|
233
|
+
ENERGY_RESPONSE=$(curl -s -X POST "$BASE_URL/15a/v1/device/energy$period" \
|
|
243
234
|
-H "Content-Type: application/json" \
|
|
244
235
|
-H "accept-language: en" \
|
|
245
236
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -264,9 +255,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
264
255
|
done
|
|
265
256
|
elif [[ "$DEVICE_TYPE" == "ESW01-EU" ]]; then
|
|
266
257
|
echo "Getting EU outlet details..."
|
|
267
|
-
|
|
268
|
-
echo "Calling URL: $DETAILS_URL"
|
|
269
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
258
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/10a/v1/device/devicedetail" \
|
|
270
259
|
-H "Content-Type: application/json" \
|
|
271
260
|
-H "accept-language: en" \
|
|
272
261
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -293,9 +282,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
293
282
|
# Get energy data
|
|
294
283
|
for period in week month year; do
|
|
295
284
|
echo "Getting $period energy data..."
|
|
296
|
-
|
|
297
|
-
echo "Calling URL: $ENERGY_URL"
|
|
298
|
-
ENERGY_RESPONSE=$(curl -s -X POST "$ENERGY_URL" \
|
|
285
|
+
ENERGY_RESPONSE=$(curl -s -X POST "$BASE_URL/10a/v1/device/energy$period" \
|
|
299
286
|
-H "Content-Type: application/json" \
|
|
300
287
|
-H "accept-language: en" \
|
|
301
288
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -320,9 +307,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
320
307
|
done
|
|
321
308
|
elif [[ "$DEVICE_TYPE" =~ ^ESL100(CW|MC)?$ ]]; then
|
|
322
309
|
echo "Getting smart bulb details..."
|
|
323
|
-
|
|
324
|
-
echo "Calling URL: $DETAILS_URL"
|
|
325
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
310
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/SmartBulb/v1/device/devicedetail" \
|
|
326
311
|
-H "Content-Type: application/json" \
|
|
327
312
|
-H "accept-language: en" \
|
|
328
313
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -348,9 +333,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
348
333
|
|
|
349
334
|
# Get device status
|
|
350
335
|
echo "Getting smart bulb status..."
|
|
351
|
-
|
|
352
|
-
echo "Calling URL: $STATUS_URL"
|
|
353
|
-
STATUS_RESPONSE=$(curl -s -X POST "$STATUS_URL" \
|
|
336
|
+
STATUS_RESPONSE=$(curl -s -X POST "$BASE_URL/SmartBulb/v1/device/devicestatus" \
|
|
354
337
|
-H "Content-Type: application/json" \
|
|
355
338
|
-H "accept-language: en" \
|
|
356
339
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -369,9 +352,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
369
352
|
echo "$STATUS_RESPONSE" | jq '.'
|
|
370
353
|
elif [[ "$DEVICE_TYPE" == "XYD0001" ]]; then
|
|
371
354
|
echo "Getting XYD0001 smart bulb details..."
|
|
372
|
-
|
|
373
|
-
echo "Calling URL: $DETAILS_URL"
|
|
374
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
355
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/bypassV2" \
|
|
375
356
|
-H "Content-Type: application/json; charset=UTF-8" \
|
|
376
357
|
-H "User-Agent: okhttp/3.12.1" \
|
|
377
358
|
-d '{
|
|
@@ -400,9 +381,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
400
381
|
|
|
401
382
|
# Get device status
|
|
402
383
|
echo "Getting XYD0001 smart bulb status..."
|
|
403
|
-
|
|
404
|
-
echo "Calling URL: $STATUS_URL"
|
|
405
|
-
STATUS_RESPONSE=$(curl -s -X POST "$STATUS_URL" \
|
|
384
|
+
STATUS_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/bypassV2" \
|
|
406
385
|
-H "Content-Type: application/json; charset=UTF-8" \
|
|
407
386
|
-H "User-Agent: okhttp/3.12.1" \
|
|
408
387
|
-d '{
|
|
@@ -430,9 +409,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
430
409
|
echo "$STATUS_RESPONSE" | jq '.'
|
|
431
410
|
elif [[ "$DEVICE_TYPE" =~ ^ESWL0[13]$ ]]; then
|
|
432
411
|
echo "Getting wall switch details..."
|
|
433
|
-
|
|
434
|
-
echo "Calling URL: $DETAILS_URL"
|
|
435
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
412
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/inwallswitch/v1/device/devicedetail" \
|
|
436
413
|
-H "Content-Type: application/json" \
|
|
437
414
|
-H "accept-language: en" \
|
|
438
415
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -457,9 +434,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
457
434
|
echo "$DETAILS_RESPONSE" | jq '.'
|
|
458
435
|
elif [[ "$DEVICE_TYPE" == "ESWD16" ]]; then
|
|
459
436
|
echo "Getting dimmer switch details..."
|
|
460
|
-
|
|
461
|
-
echo "Calling URL: $DETAILS_URL"
|
|
462
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
437
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/dimmer/v1/device/devicedetail" \
|
|
463
438
|
-H "Content-Type: application/json" \
|
|
464
439
|
-H "accept-language: en" \
|
|
465
440
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -485,9 +460,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
485
460
|
|
|
486
461
|
# Get RGB status for dimmer
|
|
487
462
|
echo "Getting dimmer RGB status..."
|
|
488
|
-
|
|
489
|
-
echo "Calling URL: $RGB_URL"
|
|
490
|
-
RGB_RESPONSE=$(curl -s -X POST "$RGB_URL" \
|
|
463
|
+
RGB_RESPONSE=$(curl -s -X POST "$BASE_URL/dimmer/v1/device/devicergbstatus" \
|
|
491
464
|
-H "Content-Type: application/json" \
|
|
492
465
|
-H "accept-language: en" \
|
|
493
466
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -506,9 +479,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
506
479
|
echo "$RGB_RESPONSE" | jq '.'
|
|
507
480
|
elif [[ "$DEVICE_TYPE" == "wifi-switch-1.3" ]]; then
|
|
508
481
|
echo "Getting device details..."
|
|
509
|
-
|
|
510
|
-
echo "Calling URL: $DETAILS_URL"
|
|
511
|
-
DETAILS_RESPONSE=$(curl -s -X GET "$DETAILS_URL" \
|
|
482
|
+
DETAILS_RESPONSE=$(curl -s -X GET "$BASE_URL/v1/device/$DEVICE_CID/detail" \
|
|
512
483
|
-H "Content-Type: application/json" \
|
|
513
484
|
-H "accept-language: en" \
|
|
514
485
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -517,9 +488,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
517
488
|
-H "tz: America/New_York")
|
|
518
489
|
elif [[ "$DEVICE_TYPE" == *"Core"* ]] || [[ "$DEVICE_TYPE" == *"LAP"* ]] || [[ "$DEVICE_TYPE" == "Dual200S" ]] || [[ "$DEVICE_TYPE" == *"LTF-"* ]] || [[ "$DEVICE_TYPE" == *"Classic"* ]] || [[ "$DEVICE_TYPE" == *"LUH"* ]] || [[ "$DEVICE_TYPE" == *"LEH"* ]]; then
|
|
519
490
|
echo "Getting device details..."
|
|
520
|
-
|
|
521
|
-
echo "Calling URL: $DETAILS_URL"
|
|
522
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
491
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/bypassV2" \
|
|
523
492
|
-H "Content-Type: application/json; charset=UTF-8" \
|
|
524
493
|
-H "User-Agent: okhttp/3.12.1" \
|
|
525
494
|
-d '{
|
|
@@ -532,12 +501,9 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
532
501
|
"deviceRegion": "US",
|
|
533
502
|
"method": "bypassV2",
|
|
534
503
|
"payload": {
|
|
535
|
-
"
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
},
|
|
539
|
-
"method": "getPurifierStatus",
|
|
540
|
-
"source": "APP"
|
|
504
|
+
"method": "getHumidifierStatus",
|
|
505
|
+
"source": "APP",
|
|
506
|
+
"data": {}
|
|
541
507
|
},
|
|
542
508
|
"phoneBrand": "SM N9005",
|
|
543
509
|
"phoneOS": "Android",
|
|
@@ -547,9 +513,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
547
513
|
}')
|
|
548
514
|
elif [[ "$DEVICE_TYPE" == *"LV-"* ]]; then
|
|
549
515
|
echo "Getting device details..."
|
|
550
|
-
|
|
551
|
-
echo "Calling URL: $DETAILS_URL"
|
|
552
|
-
DETAILS_RESPONSE=$(curl -s -X POST "$DETAILS_URL" \
|
|
516
|
+
DETAILS_RESPONSE=$(curl -s -X POST "$BASE_URL/131airPurifier/v1/device/deviceDetail" \
|
|
553
517
|
-H "Content-Type: application/json" \
|
|
554
518
|
-H "accept-language: en" \
|
|
555
519
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -575,9 +539,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
575
539
|
|
|
576
540
|
# Get device status
|
|
577
541
|
echo "Getting device status..."
|
|
578
|
-
|
|
579
|
-
echo "Calling URL: $STATUS_URL"
|
|
580
|
-
STATUS_RESPONSE=$(curl -s -X POST "$STATUS_URL" \
|
|
542
|
+
STATUS_RESPONSE=$(curl -s -X POST "$BASE_URL/131airPurifier/v1/device/deviceStatus" \
|
|
581
543
|
-H "Content-Type: application/json" \
|
|
582
544
|
-H "accept-language: en" \
|
|
583
545
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -600,11 +562,10 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
600
562
|
echo "$DETAILS_RESPONSE" | jq '.'
|
|
601
563
|
|
|
602
564
|
# Get device status based on device type
|
|
603
|
-
if [[ "$DEVICE_TYPE" == *"Core"* ]] || [[ "$DEVICE_TYPE" == *"LAP"* ]]
|
|
565
|
+
if [[ "$DEVICE_TYPE" == *"Core"* ]] || [[ "$DEVICE_TYPE" == *"LAP"* ]]; then
|
|
566
|
+
# Air purifiers
|
|
604
567
|
echo "Getting purifier status..."
|
|
605
|
-
|
|
606
|
-
echo "Calling URL: $STATUS_URL"
|
|
607
|
-
STATUS_RESPONSE=$(curl -s -X POST "$STATUS_URL" \
|
|
568
|
+
STATUS_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/bypassV2" \
|
|
608
569
|
-H "Content-Type: application/json; charset=UTF-8" \
|
|
609
570
|
-H "User-Agent: okhttp/3.12.1" \
|
|
610
571
|
-d '{
|
|
@@ -633,6 +594,66 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
633
594
|
|
|
634
595
|
echo "Purifier status for $DEVICE_NAME:"
|
|
635
596
|
echo "$STATUS_RESPONSE" | jq '.'
|
|
597
|
+
|
|
598
|
+
elif [[ "$DEVICE_TYPE" == "Dual200S" ]] || [[ "$DEVICE_TYPE" == *"Classic"* ]] || [[ "$DEVICE_TYPE" == *"LUH"* ]] || [[ "$DEVICE_TYPE" == *"LEH"* ]]; then
|
|
599
|
+
# Humidifiers
|
|
600
|
+
echo "Getting humidifier status..."
|
|
601
|
+
STATUS_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/bypassV2" \
|
|
602
|
+
-H "Content-Type: application/json; charset=UTF-8" \
|
|
603
|
+
-H "User-Agent: okhttp/3.12.1" \
|
|
604
|
+
-d '{
|
|
605
|
+
"acceptLanguage": "en",
|
|
606
|
+
"accountID": "'"$ACCOUNT_ID"'",
|
|
607
|
+
"appVersion": "2.8.6",
|
|
608
|
+
"cid": "'"$DEVICE_CID"'",
|
|
609
|
+
"configModule": "'"$CONFIG_MODULE"'",
|
|
610
|
+
"debugMode": false,
|
|
611
|
+
"deviceRegion": "US",
|
|
612
|
+
"method": "bypassV2",
|
|
613
|
+
"payload": {
|
|
614
|
+
"method": "getHumidifierStatus",
|
|
615
|
+
"source": "APP",
|
|
616
|
+
"data": {}
|
|
617
|
+
},
|
|
618
|
+
"phoneBrand": "SM N9005",
|
|
619
|
+
"phoneOS": "Android",
|
|
620
|
+
"timeZone": "America/New_York",
|
|
621
|
+
"token": "'"$TOKEN"'",
|
|
622
|
+
"traceId": "TRACE_ID"
|
|
623
|
+
}')
|
|
624
|
+
|
|
625
|
+
echo "Humidifier status for $DEVICE_NAME:"
|
|
626
|
+
echo "$STATUS_RESPONSE" | jq '.'
|
|
627
|
+
|
|
628
|
+
elif [[ "$DEVICE_TYPE" == *"LTF-"* ]]; then
|
|
629
|
+
# Tower Fans
|
|
630
|
+
echo "Getting tower fan status..."
|
|
631
|
+
STATUS_RESPONSE=$(curl -s -X POST "$BASE_URL/cloud/v2/deviceManaged/bypassV2" \
|
|
632
|
+
-H "Content-Type: application/json; charset=UTF-8" \
|
|
633
|
+
-H "User-Agent: okhttp/3.12.1" \
|
|
634
|
+
-d '{
|
|
635
|
+
"acceptLanguage": "en",
|
|
636
|
+
"accountID": "'"$ACCOUNT_ID"'",
|
|
637
|
+
"appVersion": "2.8.6",
|
|
638
|
+
"cid": "'"$DEVICE_CID"'",
|
|
639
|
+
"configModule": "'"$CONFIG_MODULE"'",
|
|
640
|
+
"debugMode": false,
|
|
641
|
+
"deviceRegion": "US",
|
|
642
|
+
"method": "bypassV2",
|
|
643
|
+
"payload": {
|
|
644
|
+
"method": "getTowerFanStatus",
|
|
645
|
+
"source": "APP",
|
|
646
|
+
"data": {}
|
|
647
|
+
},
|
|
648
|
+
"phoneBrand": "SM N9005",
|
|
649
|
+
"phoneOS": "Android",
|
|
650
|
+
"timeZone": "America/New_York",
|
|
651
|
+
"token": "'"$TOKEN"'",
|
|
652
|
+
"traceId": "TRACE_ID"
|
|
653
|
+
}')
|
|
654
|
+
|
|
655
|
+
echo "Tower fan status for $DEVICE_NAME:"
|
|
656
|
+
echo "$STATUS_RESPONSE" | jq '.'
|
|
636
657
|
fi
|
|
637
658
|
|
|
638
659
|
# For outlets with energy monitoring
|
|
@@ -640,9 +661,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
640
661
|
echo "Getting energy details for wifi-switch-1.3..."
|
|
641
662
|
|
|
642
663
|
# Get weekly energy
|
|
643
|
-
|
|
644
|
-
echo "Calling URL: $WEEKLY_URL"
|
|
645
|
-
WEEKLY_RESPONSE=$(curl -s -X GET "$WEEKLY_URL" \
|
|
664
|
+
WEEKLY_RESPONSE=$(curl -s -X GET "$BASE_URL/v1/device/$DEVICE_CID/energy/week" \
|
|
646
665
|
-H "Content-Type: application/json" \
|
|
647
666
|
-H "accept-language: en" \
|
|
648
667
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -654,9 +673,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
654
673
|
echo "$WEEKLY_RESPONSE" | jq '.'
|
|
655
674
|
|
|
656
675
|
# Get monthly energy
|
|
657
|
-
|
|
658
|
-
echo "Calling URL: $MONTHLY_URL"
|
|
659
|
-
MONTHLY_RESPONSE=$(curl -s -X GET "$MONTHLY_URL" \
|
|
676
|
+
MONTHLY_RESPONSE=$(curl -s -X GET "$BASE_URL/v1/device/$DEVICE_CID/energy/month" \
|
|
660
677
|
-H "Content-Type: application/json" \
|
|
661
678
|
-H "accept-language: en" \
|
|
662
679
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -668,9 +685,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
668
685
|
echo "$MONTHLY_RESPONSE" | jq '.'
|
|
669
686
|
|
|
670
687
|
# Get yearly energy
|
|
671
|
-
|
|
672
|
-
echo "Calling URL: $YEARLY_URL"
|
|
673
|
-
YEARLY_RESPONSE=$(curl -s -X GET "$YEARLY_URL" \
|
|
688
|
+
YEARLY_RESPONSE=$(curl -s -X GET "$BASE_URL/v1/device/$DEVICE_CID/energy/year" \
|
|
674
689
|
-H "Content-Type: application/json" \
|
|
675
690
|
-H "accept-language: en" \
|
|
676
691
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -684,9 +699,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
684
699
|
echo "Getting energy details for ESO15-TB..."
|
|
685
700
|
|
|
686
701
|
# Get weekly energy
|
|
687
|
-
|
|
688
|
-
echo "Calling URL: $WEEKLY_URL"
|
|
689
|
-
WEEKLY_RESPONSE=$(curl -s -X POST "$WEEKLY_URL" \
|
|
702
|
+
WEEKLY_RESPONSE=$(curl -s -X POST "$BASE_URL/outdoorsocket15a/v1/device/energyweek" \
|
|
690
703
|
-H "Content-Type: application/json" \
|
|
691
704
|
-H "accept-language: en" \
|
|
692
705
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -711,9 +724,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
711
724
|
echo "$WEEKLY_RESPONSE" | jq '.'
|
|
712
725
|
|
|
713
726
|
# Get monthly energy
|
|
714
|
-
|
|
715
|
-
echo "Calling URL: $MONTHLY_URL"
|
|
716
|
-
MONTHLY_RESPONSE=$(curl -s -X POST "$MONTHLY_URL" \
|
|
727
|
+
MONTHLY_RESPONSE=$(curl -s -X POST "$BASE_URL/outdoorsocket15a/v1/device/energymonth" \
|
|
717
728
|
-H "Content-Type: application/json" \
|
|
718
729
|
-H "accept-language: en" \
|
|
719
730
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -738,9 +749,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
738
749
|
echo "$MONTHLY_RESPONSE" | jq '.'
|
|
739
750
|
|
|
740
751
|
# Get yearly energy
|
|
741
|
-
|
|
742
|
-
echo "Calling URL: $YEARLY_URL"
|
|
743
|
-
YEARLY_RESPONSE=$(curl -s -X POST "$YEARLY_URL" \
|
|
752
|
+
YEARLY_RESPONSE=$(curl -s -X POST "$BASE_URL/outdoorsocket15a/v1/device/energyyear" \
|
|
744
753
|
-H "Content-Type: application/json" \
|
|
745
754
|
-H "accept-language: en" \
|
|
746
755
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -767,9 +776,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
767
776
|
echo "Getting energy details for ESW03-USA..."
|
|
768
777
|
|
|
769
778
|
# Get weekly energy
|
|
770
|
-
|
|
771
|
-
echo "Calling URL: $WEEKLY_URL"
|
|
772
|
-
WEEKLY_RESPONSE=$(curl -s -X POST "$WEEKLY_URL" \
|
|
779
|
+
WEEKLY_RESPONSE=$(curl -s -X POST "$BASE_URL/10a/v1/device/energyweek" \
|
|
773
780
|
-H "Content-Type: application/json" \
|
|
774
781
|
-H "accept-language: en" \
|
|
775
782
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -794,9 +801,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
794
801
|
echo "$WEEKLY_RESPONSE" | jq '.'
|
|
795
802
|
|
|
796
803
|
# Get monthly energy
|
|
797
|
-
|
|
798
|
-
echo "Calling URL: $MONTHLY_URL"
|
|
799
|
-
MONTHLY_RESPONSE=$(curl -s -X POST "$MONTHLY_URL" \
|
|
804
|
+
MONTHLY_RESPONSE=$(curl -s -X POST "$BASE_URL/10a/v1/device/energymonth" \
|
|
800
805
|
-H "Content-Type: application/json" \
|
|
801
806
|
-H "accept-language: en" \
|
|
802
807
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -821,9 +826,7 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
821
826
|
echo "$MONTHLY_RESPONSE" | jq '.'
|
|
822
827
|
|
|
823
828
|
# Get yearly energy
|
|
824
|
-
|
|
825
|
-
echo "Calling URL: $YEARLY_URL"
|
|
826
|
-
YEARLY_RESPONSE=$(curl -s -X POST "$YEARLY_URL" \
|
|
829
|
+
YEARLY_RESPONSE=$(curl -s -X POST "$BASE_URL/10a/v1/device/energyyear" \
|
|
827
830
|
-H "Content-Type: application/json" \
|
|
828
831
|
-H "accept-language: en" \
|
|
829
832
|
-H "accountId: $ACCOUNT_ID" \
|
|
@@ -848,30 +851,6 @@ echo "$DEVICES_RESPONSE" | jq -c '.result.list[]' | while read -r device; do
|
|
|
848
851
|
echo "$YEARLY_RESPONSE" | jq '.'
|
|
849
852
|
fi
|
|
850
853
|
|
|
851
|
-
# For humidifiers
|
|
852
|
-
if [[ "$DEVICE_TYPE" == *"Classic"* ]] || [[ "$DEVICE_TYPE" == *"LUH"* ]] || [[ "$DEVICE_TYPE" == *"LEH"* ]]; then
|
|
853
|
-
echo "Getting humidifier status..."
|
|
854
|
-
STATUS_URL="$BASE_URL/cloud/v2/deviceManaged/bypassV2"
|
|
855
|
-
echo "Calling URL: $STATUS_URL"
|
|
856
|
-
STATUS_RESPONSE=$(curl -s -X POST "$STATUS_URL" \
|
|
857
|
-
-H "Content-Type: application/json" \
|
|
858
|
-
-d '{
|
|
859
|
-
"token": "'"$TOKEN"'",
|
|
860
|
-
"accountID": "'"$ACCOUNT_ID"'",
|
|
861
|
-
"cid": "'"$DEVICE_CID"'",
|
|
862
|
-
"configModule": "'"$CONFIG_MODULE"'",
|
|
863
|
-
"method": "bypassV2",
|
|
864
|
-
"payload": {
|
|
865
|
-
"method": "getHumidifierStatus",
|
|
866
|
-
"source": "APP",
|
|
867
|
-
"data": {}
|
|
868
|
-
}
|
|
869
|
-
}')
|
|
870
|
-
|
|
871
|
-
echo "Humidifier status for $DEVICE_NAME:"
|
|
872
|
-
echo "$STATUS_RESPONSE" | jq '.'
|
|
873
|
-
fi
|
|
874
|
-
|
|
875
854
|
echo "----------------------------------------"
|
|
876
855
|
done
|
|
877
856
|
|