@bikefinder/sdk 0.1.3 → 0.1.4
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/dist/device-schema.d.ts +709 -16
- package/dist/device-schema.js +753 -15
- package/dist/generated/index.d.ts +1 -1
- package/dist/generated/sdk.gen.d.ts +5 -5
- package/dist/generated/sdk.gen.js +118 -118
- package/dist/generated/types.gen.d.ts +477 -127
- package/dist/generated/zod.gen.d.ts +1620 -242
- package/dist/generated/zod.gen.js +407 -48
- package/openapi/api.json +2181 -742
- package/package.json +1 -1
package/dist/device-schema.js
CHANGED
|
@@ -1707,6 +1707,134 @@ export const observationValueSchema = {
|
|
|
1707
1707
|
"cooldownRemainingMs"
|
|
1708
1708
|
],
|
|
1709
1709
|
"additionalProperties": false
|
|
1710
|
+
},
|
|
1711
|
+
"ChargingAllocationMember": {
|
|
1712
|
+
"type": "object",
|
|
1713
|
+
"properties": {
|
|
1714
|
+
"slot": {
|
|
1715
|
+
"type": "integer",
|
|
1716
|
+
"minimum": 0,
|
|
1717
|
+
"maximum": 7
|
|
1718
|
+
},
|
|
1719
|
+
"target": {
|
|
1720
|
+
"anyOf": [
|
|
1721
|
+
{
|
|
1722
|
+
"$ref": "#/$defs/ModuleSubject"
|
|
1723
|
+
},
|
|
1724
|
+
{
|
|
1725
|
+
"type": "null"
|
|
1726
|
+
}
|
|
1727
|
+
]
|
|
1728
|
+
},
|
|
1729
|
+
"requestedInputMa": {
|
|
1730
|
+
"anyOf": [
|
|
1731
|
+
{
|
|
1732
|
+
"type": "integer",
|
|
1733
|
+
"minimum": 0,
|
|
1734
|
+
"maximum": 800
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
"type": "null"
|
|
1738
|
+
}
|
|
1739
|
+
]
|
|
1740
|
+
},
|
|
1741
|
+
"configuredInputMa": {
|
|
1742
|
+
"anyOf": [
|
|
1743
|
+
{
|
|
1744
|
+
"type": "integer",
|
|
1745
|
+
"minimum": 0,
|
|
1746
|
+
"maximum": 800
|
|
1747
|
+
},
|
|
1748
|
+
{
|
|
1749
|
+
"type": "null"
|
|
1750
|
+
}
|
|
1751
|
+
]
|
|
1752
|
+
},
|
|
1753
|
+
"outputAcknowledged": {
|
|
1754
|
+
"type": "boolean"
|
|
1755
|
+
},
|
|
1756
|
+
"stopUncertain": {
|
|
1757
|
+
"type": "boolean"
|
|
1758
|
+
},
|
|
1759
|
+
"faultCode": {
|
|
1760
|
+
"type": "integer",
|
|
1761
|
+
"minimum": 0,
|
|
1762
|
+
"maximum": 255
|
|
1763
|
+
},
|
|
1764
|
+
"faultAttempts": {
|
|
1765
|
+
"type": "integer",
|
|
1766
|
+
"minimum": 0,
|
|
1767
|
+
"maximum": 255
|
|
1768
|
+
},
|
|
1769
|
+
"faultGate": {
|
|
1770
|
+
"type": "string",
|
|
1771
|
+
"enum": [
|
|
1772
|
+
"clear",
|
|
1773
|
+
"cooldown",
|
|
1774
|
+
"latched",
|
|
1775
|
+
"recheck"
|
|
1776
|
+
]
|
|
1777
|
+
},
|
|
1778
|
+
"cooldownRemainingMs": {
|
|
1779
|
+
"anyOf": [
|
|
1780
|
+
{
|
|
1781
|
+
"type": "integer",
|
|
1782
|
+
"minimum": 0,
|
|
1783
|
+
"maximum": 9007199254740991
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"type": "null"
|
|
1787
|
+
}
|
|
1788
|
+
]
|
|
1789
|
+
}
|
|
1790
|
+
},
|
|
1791
|
+
"required": [
|
|
1792
|
+
"slot",
|
|
1793
|
+
"target",
|
|
1794
|
+
"requestedInputMa",
|
|
1795
|
+
"configuredInputMa",
|
|
1796
|
+
"outputAcknowledged",
|
|
1797
|
+
"stopUncertain",
|
|
1798
|
+
"faultCode",
|
|
1799
|
+
"faultAttempts",
|
|
1800
|
+
"faultGate",
|
|
1801
|
+
"cooldownRemainingMs"
|
|
1802
|
+
],
|
|
1803
|
+
"additionalProperties": false
|
|
1804
|
+
},
|
|
1805
|
+
"ChargingPowerReservation": {
|
|
1806
|
+
"type": "object",
|
|
1807
|
+
"properties": {
|
|
1808
|
+
"moduleId": {
|
|
1809
|
+
"type": "string",
|
|
1810
|
+
"minLength": 16,
|
|
1811
|
+
"maxLength": 16,
|
|
1812
|
+
"pattern": "^[0-9a-f]*$"
|
|
1813
|
+
},
|
|
1814
|
+
"inputMa": {
|
|
1815
|
+
"anyOf": [
|
|
1816
|
+
{
|
|
1817
|
+
"type": "integer",
|
|
1818
|
+
"minimum": 0,
|
|
1819
|
+
"maximum": 800
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"type": "null"
|
|
1823
|
+
}
|
|
1824
|
+
]
|
|
1825
|
+
},
|
|
1826
|
+
"remainingMs": {
|
|
1827
|
+
"type": "integer",
|
|
1828
|
+
"minimum": 0,
|
|
1829
|
+
"maximum": 9007199254740991
|
|
1830
|
+
}
|
|
1831
|
+
},
|
|
1832
|
+
"required": [
|
|
1833
|
+
"moduleId",
|
|
1834
|
+
"inputMa",
|
|
1835
|
+
"remainingMs"
|
|
1836
|
+
],
|
|
1837
|
+
"additionalProperties": false
|
|
1710
1838
|
}
|
|
1711
1839
|
},
|
|
1712
1840
|
"properties": {
|
|
@@ -2234,17 +2362,71 @@ export const observationValueSchema = {
|
|
|
2234
2362
|
"type": "null"
|
|
2235
2363
|
}
|
|
2236
2364
|
]
|
|
2365
|
+
},
|
|
2366
|
+
"guard": {
|
|
2367
|
+
"anyOf": [
|
|
2368
|
+
{
|
|
2369
|
+
"type": "object",
|
|
2370
|
+
"properties": {
|
|
2371
|
+
"authorized": {
|
|
2372
|
+
"type": "boolean"
|
|
2373
|
+
},
|
|
2374
|
+
"outputEnabled": {
|
|
2375
|
+
"type": "boolean"
|
|
2376
|
+
},
|
|
2377
|
+
"remainingMs": {
|
|
2378
|
+
"type": "integer",
|
|
2379
|
+
"minimum": 0,
|
|
2380
|
+
"maximum": 4294967295000
|
|
2381
|
+
},
|
|
2382
|
+
"inhibitReasons": {
|
|
2383
|
+
"type": "integer",
|
|
2384
|
+
"minimum": 0,
|
|
2385
|
+
"maximum": 4294967295
|
|
2386
|
+
},
|
|
2387
|
+
"policyRevision": {
|
|
2388
|
+
"type": "integer",
|
|
2389
|
+
"minimum": 0,
|
|
2390
|
+
"maximum": 4294967295
|
|
2391
|
+
},
|
|
2392
|
+
"authorizedSample": {
|
|
2393
|
+
"type": "integer",
|
|
2394
|
+
"minimum": 0,
|
|
2395
|
+
"maximum": 4294967295
|
|
2396
|
+
},
|
|
2397
|
+
"bootGeneration": {
|
|
2398
|
+
"type": "integer",
|
|
2399
|
+
"minimum": 0,
|
|
2400
|
+
"maximum": 4294967295
|
|
2401
|
+
}
|
|
2402
|
+
},
|
|
2403
|
+
"required": [
|
|
2404
|
+
"authorized",
|
|
2405
|
+
"outputEnabled",
|
|
2406
|
+
"remainingMs",
|
|
2407
|
+
"inhibitReasons",
|
|
2408
|
+
"policyRevision",
|
|
2409
|
+
"authorizedSample",
|
|
2410
|
+
"bootGeneration"
|
|
2411
|
+
],
|
|
2412
|
+
"additionalProperties": false
|
|
2413
|
+
},
|
|
2414
|
+
{
|
|
2415
|
+
"type": "null"
|
|
2416
|
+
}
|
|
2417
|
+
]
|
|
2237
2418
|
}
|
|
2238
2419
|
},
|
|
2239
2420
|
"required": [
|
|
2240
2421
|
"state",
|
|
2241
2422
|
"fault",
|
|
2242
2423
|
"inputValidated",
|
|
2243
|
-
"voltageRegulationActive"
|
|
2424
|
+
"voltageRegulationActive",
|
|
2425
|
+
"guard"
|
|
2244
2426
|
],
|
|
2245
2427
|
"additionalProperties": false,
|
|
2246
2428
|
"title": "Battery module charger status",
|
|
2247
|
-
"description": "State/fault are one hardware
|
|
2429
|
+
"description": "State/fault and optional local MSP charging guard are one coherent hardware snapshot. Guard reports permission, actual output, remaining authorization at capture, local inhibit reasons and safety-policy/boot generations. Null on legacy modules. Supply/guard fields must never borrow older cache entries.",
|
|
2248
2430
|
"x-bf": {
|
|
2249
2431
|
"definitionId": 8,
|
|
2250
2432
|
"role": "state",
|
|
@@ -2252,7 +2434,7 @@ export const observationValueSchema = {
|
|
|
2252
2434
|
"producer": "device",
|
|
2253
2435
|
"presentation": {
|
|
2254
2436
|
"displayName": "Battery module charger status",
|
|
2255
|
-
"description": "State/fault are one hardware
|
|
2437
|
+
"description": "State/fault and optional local MSP charging guard are one coherent hardware snapshot. Guard reports permission, actual output, remaining authorization at capture, local inhibit reasons and safety-policy/boot generations. Null on legacy modules. Supply/guard fields must never borrow older cache entries.",
|
|
2256
2438
|
"hiddenByDefault": false,
|
|
2257
2439
|
"formatter": "status"
|
|
2258
2440
|
}
|
|
@@ -6619,6 +6801,374 @@ export const observationValueSchema = {
|
|
|
6619
6801
|
]
|
|
6620
6802
|
}
|
|
6621
6803
|
}
|
|
6804
|
+
},
|
|
6805
|
+
"battery.protocolIdentity": {
|
|
6806
|
+
"type": "object",
|
|
6807
|
+
"properties": {
|
|
6808
|
+
"moduleId": {
|
|
6809
|
+
"type": "string",
|
|
6810
|
+
"minLength": 16,
|
|
6811
|
+
"maxLength": 16,
|
|
6812
|
+
"pattern": "^[0-9a-f]*$"
|
|
6813
|
+
},
|
|
6814
|
+
"bootGeneration": {
|
|
6815
|
+
"type": "integer",
|
|
6816
|
+
"minimum": 0,
|
|
6817
|
+
"maximum": 4294967295
|
|
6818
|
+
},
|
|
6819
|
+
"capabilities": {
|
|
6820
|
+
"type": "string",
|
|
6821
|
+
"minLength": 16,
|
|
6822
|
+
"maxLength": 16,
|
|
6823
|
+
"pattern": "^[0-9a-f]*$"
|
|
6824
|
+
},
|
|
6825
|
+
"hardwareRevision": {
|
|
6826
|
+
"anyOf": [
|
|
6827
|
+
{
|
|
6828
|
+
"type": "integer",
|
|
6829
|
+
"minimum": 0,
|
|
6830
|
+
"maximum": 65535
|
|
6831
|
+
},
|
|
6832
|
+
{
|
|
6833
|
+
"type": "null"
|
|
6834
|
+
}
|
|
6835
|
+
]
|
|
6836
|
+
},
|
|
6837
|
+
"resetReason": {
|
|
6838
|
+
"anyOf": [
|
|
6839
|
+
{
|
|
6840
|
+
"type": "integer",
|
|
6841
|
+
"minimum": 0,
|
|
6842
|
+
"maximum": 65535
|
|
6843
|
+
},
|
|
6844
|
+
{
|
|
6845
|
+
"type": "null"
|
|
6846
|
+
}
|
|
6847
|
+
]
|
|
6848
|
+
}
|
|
6849
|
+
},
|
|
6850
|
+
"required": [
|
|
6851
|
+
"moduleId",
|
|
6852
|
+
"bootGeneration",
|
|
6853
|
+
"capabilities",
|
|
6854
|
+
"hardwareRevision",
|
|
6855
|
+
"resetReason"
|
|
6856
|
+
],
|
|
6857
|
+
"additionalProperties": false,
|
|
6858
|
+
"title": "battery.protocolIdentity",
|
|
6859
|
+
"description": "Accepted HELLO identity and metadata for this raw route. Optional unavailable metadata is null. Relay headers are not module identity evidence.",
|
|
6860
|
+
"x-bf": {
|
|
6861
|
+
"definitionId": 161,
|
|
6862
|
+
"role": "state",
|
|
6863
|
+
"subject": "batteryRoute",
|
|
6864
|
+
"producer": "device",
|
|
6865
|
+
"presentation": {
|
|
6866
|
+
"displayName": "battery.protocolIdentity",
|
|
6867
|
+
"description": "Accepted HELLO identity and metadata for this raw route. Optional unavailable metadata is null. Relay headers are not module identity evidence.",
|
|
6868
|
+
"hiddenByDefault": true,
|
|
6869
|
+
"formatter": "fields",
|
|
6870
|
+
"fields": [
|
|
6871
|
+
{
|
|
6872
|
+
"path": "moduleId"
|
|
6873
|
+
},
|
|
6874
|
+
{
|
|
6875
|
+
"path": "bootGeneration"
|
|
6876
|
+
},
|
|
6877
|
+
{
|
|
6878
|
+
"path": "capabilities"
|
|
6879
|
+
},
|
|
6880
|
+
{
|
|
6881
|
+
"path": "hardwareRevision"
|
|
6882
|
+
},
|
|
6883
|
+
{
|
|
6884
|
+
"path": "resetReason"
|
|
6885
|
+
}
|
|
6886
|
+
]
|
|
6887
|
+
}
|
|
6888
|
+
}
|
|
6889
|
+
},
|
|
6890
|
+
"battery.protocolExchange": {
|
|
6891
|
+
"type": "object",
|
|
6892
|
+
"properties": {
|
|
6893
|
+
"operation": {
|
|
6894
|
+
"type": "integer",
|
|
6895
|
+
"minimum": 0,
|
|
6896
|
+
"maximum": 65535
|
|
6897
|
+
},
|
|
6898
|
+
"elapsedMs": {
|
|
6899
|
+
"type": "integer",
|
|
6900
|
+
"minimum": 0,
|
|
6901
|
+
"maximum": 4294967295
|
|
6902
|
+
},
|
|
6903
|
+
"transportError": {
|
|
6904
|
+
"type": "integer",
|
|
6905
|
+
"minimum": -2147483648,
|
|
6906
|
+
"maximum": 2147483647
|
|
6907
|
+
},
|
|
6908
|
+
"status": {
|
|
6909
|
+
"anyOf": [
|
|
6910
|
+
{
|
|
6911
|
+
"type": "integer",
|
|
6912
|
+
"minimum": 0,
|
|
6913
|
+
"maximum": 65535
|
|
6914
|
+
},
|
|
6915
|
+
{
|
|
6916
|
+
"type": "null"
|
|
6917
|
+
}
|
|
6918
|
+
]
|
|
6919
|
+
},
|
|
6920
|
+
"bootGeneration": {
|
|
6921
|
+
"anyOf": [
|
|
6922
|
+
{
|
|
6923
|
+
"type": "integer",
|
|
6924
|
+
"minimum": 0,
|
|
6925
|
+
"maximum": 4294967295
|
|
6926
|
+
},
|
|
6927
|
+
{
|
|
6928
|
+
"type": "null"
|
|
6929
|
+
}
|
|
6930
|
+
]
|
|
6931
|
+
}
|
|
6932
|
+
},
|
|
6933
|
+
"required": [
|
|
6934
|
+
"operation",
|
|
6935
|
+
"elapsedMs",
|
|
6936
|
+
"transportError",
|
|
6937
|
+
"status",
|
|
6938
|
+
"bootGeneration"
|
|
6939
|
+
],
|
|
6940
|
+
"additionalProperties": false,
|
|
6941
|
+
"title": "battery.protocolExchange",
|
|
6942
|
+
"description": "Last protocol envelope exchange. Transport/framing/correlation errors are distinct from the matched MSP result. No request or response payload bytes are retained. Operation-body validity is checked separately by the typed consumer.",
|
|
6943
|
+
"x-bf": {
|
|
6944
|
+
"definitionId": 162,
|
|
6945
|
+
"role": "state",
|
|
6946
|
+
"subject": "batteryRoute",
|
|
6947
|
+
"producer": "device",
|
|
6948
|
+
"presentation": {
|
|
6949
|
+
"displayName": "battery.protocolExchange",
|
|
6950
|
+
"description": "Last protocol envelope exchange. Transport/framing/correlation errors are distinct from the matched MSP result. No request or response payload bytes are retained. Operation-body validity is checked separately by the typed consumer.",
|
|
6951
|
+
"hiddenByDefault": true,
|
|
6952
|
+
"formatter": "fields",
|
|
6953
|
+
"fields": [
|
|
6954
|
+
{
|
|
6955
|
+
"path": "operation"
|
|
6956
|
+
},
|
|
6957
|
+
{
|
|
6958
|
+
"path": "elapsedMs",
|
|
6959
|
+
"format": "duration"
|
|
6960
|
+
},
|
|
6961
|
+
{
|
|
6962
|
+
"path": "transportError"
|
|
6963
|
+
},
|
|
6964
|
+
{
|
|
6965
|
+
"path": "status"
|
|
6966
|
+
},
|
|
6967
|
+
{
|
|
6968
|
+
"path": "bootGeneration"
|
|
6969
|
+
}
|
|
6970
|
+
]
|
|
6971
|
+
}
|
|
6972
|
+
}
|
|
6973
|
+
},
|
|
6974
|
+
"battery.updateHealth": {
|
|
6975
|
+
"type": "object",
|
|
6976
|
+
"properties": {
|
|
6977
|
+
"requestId": {
|
|
6978
|
+
"type": "integer",
|
|
6979
|
+
"minimum": 0,
|
|
6980
|
+
"maximum": 4294967295
|
|
6981
|
+
},
|
|
6982
|
+
"slot": {
|
|
6983
|
+
"type": "integer",
|
|
6984
|
+
"minimum": 0,
|
|
6985
|
+
"maximum": 31
|
|
6986
|
+
},
|
|
6987
|
+
"target": {
|
|
6988
|
+
"$ref": "#/$defs/ModuleSubject"
|
|
6989
|
+
},
|
|
6990
|
+
"imageInstalled": {
|
|
6991
|
+
"type": "boolean"
|
|
6992
|
+
},
|
|
6993
|
+
"state": {
|
|
6994
|
+
"type": "string",
|
|
6995
|
+
"enum": [
|
|
6996
|
+
"operational",
|
|
6997
|
+
"failed",
|
|
6998
|
+
"unsupported"
|
|
6999
|
+
]
|
|
7000
|
+
},
|
|
7001
|
+
"error": {
|
|
7002
|
+
"type": "integer",
|
|
7003
|
+
"minimum": -2147483648,
|
|
7004
|
+
"maximum": 2147483647
|
|
7005
|
+
},
|
|
7006
|
+
"bootGeneration": {
|
|
7007
|
+
"anyOf": [
|
|
7008
|
+
{
|
|
7009
|
+
"type": "integer",
|
|
7010
|
+
"minimum": 0,
|
|
7011
|
+
"maximum": 4294967295
|
|
7012
|
+
},
|
|
7013
|
+
{
|
|
7014
|
+
"type": "null"
|
|
7015
|
+
}
|
|
7016
|
+
]
|
|
7017
|
+
}
|
|
7018
|
+
},
|
|
7019
|
+
"required": [
|
|
7020
|
+
"requestId",
|
|
7021
|
+
"slot",
|
|
7022
|
+
"target",
|
|
7023
|
+
"imageInstalled",
|
|
7024
|
+
"state",
|
|
7025
|
+
"error",
|
|
7026
|
+
"bootGeneration"
|
|
7027
|
+
],
|
|
7028
|
+
"additionalProperties": false,
|
|
7029
|
+
"title": "battery.updateHealth",
|
|
7030
|
+
"description": "Operational verification after a completed MSP installation and LTE restart. Installation completion does not imply operational health. A failed health check never rearms image installation or consumes another flash attempt.",
|
|
7031
|
+
"x-bf": {
|
|
7032
|
+
"definitionId": 163,
|
|
7033
|
+
"role": "state",
|
|
7034
|
+
"subject": "device",
|
|
7035
|
+
"producer": "device",
|
|
7036
|
+
"presentation": {
|
|
7037
|
+
"displayName": "battery.updateHealth",
|
|
7038
|
+
"description": "Operational verification after a completed MSP installation and LTE restart. Installation completion does not imply operational health. A failed health check never rearms image installation or consumes another flash attempt.",
|
|
7039
|
+
"hiddenByDefault": true,
|
|
7040
|
+
"formatter": "fields",
|
|
7041
|
+
"fields": [
|
|
7042
|
+
{
|
|
7043
|
+
"path": "requestId"
|
|
7044
|
+
},
|
|
7045
|
+
{
|
|
7046
|
+
"path": "slot"
|
|
7047
|
+
},
|
|
7048
|
+
{
|
|
7049
|
+
"path": "imageInstalled"
|
|
7050
|
+
},
|
|
7051
|
+
{
|
|
7052
|
+
"path": "state"
|
|
7053
|
+
},
|
|
7054
|
+
{
|
|
7055
|
+
"path": "error"
|
|
7056
|
+
},
|
|
7057
|
+
{
|
|
7058
|
+
"path": "bootGeneration"
|
|
7059
|
+
}
|
|
7060
|
+
]
|
|
7061
|
+
}
|
|
7062
|
+
}
|
|
7063
|
+
},
|
|
7064
|
+
"battery.charging.allocations": {
|
|
7065
|
+
"type": "object",
|
|
7066
|
+
"properties": {
|
|
7067
|
+
"inventoryConfirmed": {
|
|
7068
|
+
"type": "boolean"
|
|
7069
|
+
},
|
|
7070
|
+
"held": {
|
|
7071
|
+
"type": "boolean"
|
|
7072
|
+
},
|
|
7073
|
+
"inputBudgetMa": {
|
|
7074
|
+
"type": "integer",
|
|
7075
|
+
"minimum": 0,
|
|
7076
|
+
"maximum": 65535
|
|
7077
|
+
},
|
|
7078
|
+
"maximumChargers": {
|
|
7079
|
+
"type": "integer",
|
|
7080
|
+
"minimum": 0,
|
|
7081
|
+
"maximum": 8
|
|
7082
|
+
},
|
|
7083
|
+
"reason": {
|
|
7084
|
+
"type": "string",
|
|
7085
|
+
"enum": [
|
|
7086
|
+
"none",
|
|
7087
|
+
"disabled",
|
|
7088
|
+
"detached",
|
|
7089
|
+
"unknownInput",
|
|
7090
|
+
"notReady",
|
|
7091
|
+
"communication",
|
|
7092
|
+
"stale",
|
|
7093
|
+
"thermal",
|
|
7094
|
+
"cable",
|
|
7095
|
+
"full",
|
|
7096
|
+
"overcurrent",
|
|
7097
|
+
"maintenance",
|
|
7098
|
+
"chargerFault",
|
|
7099
|
+
"allocationBudget"
|
|
7100
|
+
]
|
|
7101
|
+
},
|
|
7102
|
+
"modules": {
|
|
7103
|
+
"type": "array",
|
|
7104
|
+
"items": {
|
|
7105
|
+
"$ref": "#/$defs/ChargingAllocationMember"
|
|
7106
|
+
},
|
|
7107
|
+
"minItems": 0,
|
|
7108
|
+
"maxItems": 8
|
|
7109
|
+
},
|
|
7110
|
+
"reservations": {
|
|
7111
|
+
"anyOf": [
|
|
7112
|
+
{
|
|
7113
|
+
"type": "array",
|
|
7114
|
+
"items": {
|
|
7115
|
+
"$ref": "#/$defs/ChargingPowerReservation"
|
|
7116
|
+
},
|
|
7117
|
+
"minItems": 0,
|
|
7118
|
+
"maxItems": 8
|
|
7119
|
+
},
|
|
7120
|
+
{
|
|
7121
|
+
"type": "null"
|
|
7122
|
+
}
|
|
7123
|
+
]
|
|
7124
|
+
}
|
|
7125
|
+
},
|
|
7126
|
+
"required": [
|
|
7127
|
+
"inventoryConfirmed",
|
|
7128
|
+
"held",
|
|
7129
|
+
"inputBudgetMa",
|
|
7130
|
+
"maximumChargers",
|
|
7131
|
+
"reason",
|
|
7132
|
+
"modules",
|
|
7133
|
+
"reservations"
|
|
7134
|
+
],
|
|
7135
|
+
"additionalProperties": false,
|
|
7136
|
+
"title": "Charging allocation decisions",
|
|
7137
|
+
"description": "LTE allocation intent and acknowledged output, not proof of actual current flow. Reports stopped fault gates and physical-identity power reservations, including unreachable modules and lost acknowledgements. Remaining durations freeze at capture; use observation age. A null reservation list is unavailable, not empty. Reads perform no UART I/O and never retire or renew a reservation.",
|
|
7138
|
+
"x-bf": {
|
|
7139
|
+
"definitionId": 164,
|
|
7140
|
+
"role": "state",
|
|
7141
|
+
"subject": "device",
|
|
7142
|
+
"producer": "device",
|
|
7143
|
+
"presentation": {
|
|
7144
|
+
"displayName": "Charging allocation decisions",
|
|
7145
|
+
"hiddenByDefault": true,
|
|
7146
|
+
"description": "LTE allocation intent and acknowledged output, not proof of actual current flow. Reports stopped fault gates and physical-identity power reservations, including unreachable modules and lost acknowledgements. Remaining durations freeze at capture; use observation age. A null reservation list is unavailable, not empty. Reads perform no UART I/O and never retire or renew a reservation.",
|
|
7147
|
+
"formatter": "fields",
|
|
7148
|
+
"fields": [
|
|
7149
|
+
{
|
|
7150
|
+
"path": "held"
|
|
7151
|
+
},
|
|
7152
|
+
{
|
|
7153
|
+
"path": "reason"
|
|
7154
|
+
},
|
|
7155
|
+
{
|
|
7156
|
+
"path": "inputBudgetMa"
|
|
7157
|
+
},
|
|
7158
|
+
{
|
|
7159
|
+
"path": "maximumChargers"
|
|
7160
|
+
},
|
|
7161
|
+
{
|
|
7162
|
+
"path": "modules",
|
|
7163
|
+
"format": "count"
|
|
7164
|
+
},
|
|
7165
|
+
{
|
|
7166
|
+
"path": "reservations",
|
|
7167
|
+
"format": "count"
|
|
7168
|
+
}
|
|
7169
|
+
]
|
|
7170
|
+
}
|
|
7171
|
+
}
|
|
6622
7172
|
}
|
|
6623
7173
|
}
|
|
6624
7174
|
};
|
|
@@ -6823,16 +7373,10 @@ export const settingsValueSchema = {
|
|
|
6823
7373
|
"title": "BLE advertising",
|
|
6824
7374
|
"description": "Enable advertising according to the independent BLE power policy. Wi-Fi scans and updates temporarily borrow the radio."
|
|
6825
7375
|
},
|
|
6826
|
-
"
|
|
6827
|
-
"type": "
|
|
6828
|
-
"
|
|
6829
|
-
"
|
|
6830
|
-
"enum": [
|
|
6831
|
-
0,
|
|
6832
|
-
1
|
|
6833
|
-
],
|
|
6834
|
-
"title": "BLE advertising power",
|
|
6835
|
-
"description": "0 allows advertising on any power source. 1 requires confirmed external power, including a full battery that remains plugged in."
|
|
7376
|
+
"bleAdvertisingRequiresExternalPower": {
|
|
7377
|
+
"type": "boolean",
|
|
7378
|
+
"title": "BLE advertising requires external power",
|
|
7379
|
+
"description": "When true, advertise only with confirmed external power, including a full battery that remains plugged in. When false, allow advertising on battery too."
|
|
6836
7380
|
},
|
|
6837
7381
|
"bleAdvertisingIntervalUnits": {
|
|
6838
7382
|
"type": "integer",
|
|
@@ -7038,12 +7582,77 @@ export const settingsValueSchema = {
|
|
|
7038
7582
|
"maximum": 44,
|
|
7039
7583
|
"title": "Hot shutdown recovery temperature",
|
|
7040
7584
|
"description": "After a high-temperature shutdown, resume only at or below this temperature. Order: cold stop < cold stop recovery <= cold limit < cold limit recovery <= warm limit recovery < warm limit <= hot stop recovery < hot stop."
|
|
7585
|
+
},
|
|
7586
|
+
"chargingLeaseSeconds": {
|
|
7587
|
+
"type": "integer",
|
|
7588
|
+
"minimum": 1,
|
|
7589
|
+
"maximum": 4294967295,
|
|
7590
|
+
"title": "MSP charging allocation lease",
|
|
7591
|
+
"description": "Maximum charging allocation duration for an MSP with autonomous local safety and charger watchdog service. LTE retains shared power reservations through communication loss until verified stopped or expired. Installed MSPs retain their existing supervision."
|
|
7592
|
+
},
|
|
7593
|
+
"wifiTimeoutSeconds": {
|
|
7594
|
+
"type": "integer",
|
|
7595
|
+
"minimum": 1,
|
|
7596
|
+
"maximum": 120,
|
|
7597
|
+
"title": "Wi-Fi acquisition timeout",
|
|
7598
|
+
"description": "Maximum time for one admitted Wi-Fi acquisition, including ESP startup and result delivery. The requesting operation deadline can end it sooner. Applies to installed and configurable ESP scan protocols."
|
|
7599
|
+
},
|
|
7600
|
+
"wifiScanActiveMinMs": {
|
|
7601
|
+
"type": "integer",
|
|
7602
|
+
"minimum": 1,
|
|
7603
|
+
"maximum": 1500,
|
|
7604
|
+
"title": "Wi-Fi active scan minimum dwell",
|
|
7605
|
+
"description": "Minimum active scan dwell per channel. Must not exceed wifiScanActiveMaxMs. Requires ESP 10.2.1 or later; older or unknown ESP versions retain their native scan."
|
|
7606
|
+
},
|
|
7607
|
+
"wifiScanActiveMaxMs": {
|
|
7608
|
+
"type": "integer",
|
|
7609
|
+
"minimum": 1,
|
|
7610
|
+
"maximum": 1500,
|
|
7611
|
+
"title": "Wi-Fi active scan maximum dwell",
|
|
7612
|
+
"description": "Maximum active scan dwell per channel. Must be at least wifiScanActiveMinMs. Requires ESP 10.2.1 or later; older or unknown ESP versions retain their native scan."
|
|
7613
|
+
},
|
|
7614
|
+
"wifiScanPassiveMs": {
|
|
7615
|
+
"type": "integer",
|
|
7616
|
+
"minimum": 1,
|
|
7617
|
+
"maximum": 1500,
|
|
7618
|
+
"title": "Wi-Fi passive scan dwell",
|
|
7619
|
+
"description": "Passive scan dwell per channel. Used only for passive scans. Requires ESP 10.2.1 or later; older or unknown ESP versions retain their native scan."
|
|
7620
|
+
},
|
|
7621
|
+
"wifiScanChannelMask": {
|
|
7622
|
+
"type": "integer",
|
|
7623
|
+
"minimum": 0,
|
|
7624
|
+
"maximum": 16383,
|
|
7625
|
+
"title": "Wi-Fi scan channels",
|
|
7626
|
+
"description": "Channel bitmask: bit 0 is channel 1, bit 13 is channel 14. Zero selects all permitted channels. Intersected with ESP regulatory channels. Requires ESP 10.2.1 or later."
|
|
7627
|
+
},
|
|
7628
|
+
"wifiScanBudgetMs": {
|
|
7629
|
+
"type": "integer",
|
|
7630
|
+
"minimum": 100,
|
|
7631
|
+
"maximum": 60000,
|
|
7632
|
+
"title": "Wi-Fi scan budget",
|
|
7633
|
+
"description": "ESP initialization and scan budget, excluding result delivery. Limited by the remaining LTE acquisition deadline. Requires ESP 10.2.1 or later; older or unknown ESP versions retain their native scan."
|
|
7634
|
+
},
|
|
7635
|
+
"wifiScanType": {
|
|
7636
|
+
"type": "string",
|
|
7637
|
+
"enum": [
|
|
7638
|
+
"active",
|
|
7639
|
+
"passive"
|
|
7640
|
+
],
|
|
7641
|
+
"title": "Wi-Fi scan type",
|
|
7642
|
+
"description": "Choose active probing or passive listening. Requires ESP 10.2.1 or later; older or unknown ESP versions retain their native scan."
|
|
7643
|
+
},
|
|
7644
|
+
"chargingStatusMaxAgeSeconds": {
|
|
7645
|
+
"type": "integer",
|
|
7646
|
+
"minimum": 30,
|
|
7647
|
+
"maximum": 86400,
|
|
7648
|
+
"title": "Charging status maximum age",
|
|
7649
|
+
"description": "Maximum age of charger readback used for the reported charging status. Independent of charging-control safety deadlines; does not authorize charging or schedule extra hardware reads. Confirmed input loss still reports not charging immediately."
|
|
7041
7650
|
}
|
|
7042
7651
|
},
|
|
7043
7652
|
"x-bf": {
|
|
7044
7653
|
"domain": "settings",
|
|
7045
7654
|
"version": 1,
|
|
7046
|
-
"settingsSchemaVersion":
|
|
7655
|
+
"settingsSchemaVersion": 27
|
|
7047
7656
|
}
|
|
7048
7657
|
};
|
|
7049
7658
|
export const observationDefinitions = [
|
|
@@ -7213,7 +7822,7 @@ export const observationDefinitions = [
|
|
|
7213
7822
|
"producer": "device",
|
|
7214
7823
|
"presentation": {
|
|
7215
7824
|
"displayName": "Battery module charger status",
|
|
7216
|
-
"description": "State/fault are one hardware
|
|
7825
|
+
"description": "State/fault and optional local MSP charging guard are one coherent hardware snapshot. Guard reports permission, actual output, remaining authorization at capture, local inhibit reasons and safety-policy/boot generations. Null on legacy modules. Supply/guard fields must never borrow older cache entries.",
|
|
7217
7826
|
"hiddenByDefault": false,
|
|
7218
7827
|
"formatter": "status"
|
|
7219
7828
|
}
|
|
@@ -9393,5 +10002,134 @@ export const observationDefinitions = [
|
|
|
9393
10002
|
}
|
|
9394
10003
|
]
|
|
9395
10004
|
}
|
|
10005
|
+
},
|
|
10006
|
+
{
|
|
10007
|
+
"id": 161,
|
|
10008
|
+
"name": "battery.protocolIdentity",
|
|
10009
|
+
"role": "state",
|
|
10010
|
+
"subject": "batteryRoute",
|
|
10011
|
+
"producer": "device",
|
|
10012
|
+
"presentation": {
|
|
10013
|
+
"displayName": "battery.protocolIdentity",
|
|
10014
|
+
"description": "Accepted HELLO identity and metadata for this raw route. Optional unavailable metadata is null. Relay headers are not module identity evidence.",
|
|
10015
|
+
"hiddenByDefault": true,
|
|
10016
|
+
"formatter": "fields",
|
|
10017
|
+
"fields": [
|
|
10018
|
+
{
|
|
10019
|
+
"path": "moduleId"
|
|
10020
|
+
},
|
|
10021
|
+
{
|
|
10022
|
+
"path": "bootGeneration"
|
|
10023
|
+
},
|
|
10024
|
+
{
|
|
10025
|
+
"path": "capabilities"
|
|
10026
|
+
},
|
|
10027
|
+
{
|
|
10028
|
+
"path": "hardwareRevision"
|
|
10029
|
+
},
|
|
10030
|
+
{
|
|
10031
|
+
"path": "resetReason"
|
|
10032
|
+
}
|
|
10033
|
+
]
|
|
10034
|
+
}
|
|
10035
|
+
},
|
|
10036
|
+
{
|
|
10037
|
+
"id": 162,
|
|
10038
|
+
"name": "battery.protocolExchange",
|
|
10039
|
+
"role": "state",
|
|
10040
|
+
"subject": "batteryRoute",
|
|
10041
|
+
"producer": "device",
|
|
10042
|
+
"presentation": {
|
|
10043
|
+
"displayName": "battery.protocolExchange",
|
|
10044
|
+
"description": "Last protocol envelope exchange. Transport/framing/correlation errors are distinct from the matched MSP result. No request or response payload bytes are retained. Operation-body validity is checked separately by the typed consumer.",
|
|
10045
|
+
"hiddenByDefault": true,
|
|
10046
|
+
"formatter": "fields",
|
|
10047
|
+
"fields": [
|
|
10048
|
+
{
|
|
10049
|
+
"path": "operation"
|
|
10050
|
+
},
|
|
10051
|
+
{
|
|
10052
|
+
"path": "elapsedMs",
|
|
10053
|
+
"format": "duration"
|
|
10054
|
+
},
|
|
10055
|
+
{
|
|
10056
|
+
"path": "transportError"
|
|
10057
|
+
},
|
|
10058
|
+
{
|
|
10059
|
+
"path": "status"
|
|
10060
|
+
},
|
|
10061
|
+
{
|
|
10062
|
+
"path": "bootGeneration"
|
|
10063
|
+
}
|
|
10064
|
+
]
|
|
10065
|
+
}
|
|
10066
|
+
},
|
|
10067
|
+
{
|
|
10068
|
+
"id": 163,
|
|
10069
|
+
"name": "battery.updateHealth",
|
|
10070
|
+
"role": "state",
|
|
10071
|
+
"subject": "device",
|
|
10072
|
+
"producer": "device",
|
|
10073
|
+
"presentation": {
|
|
10074
|
+
"displayName": "battery.updateHealth",
|
|
10075
|
+
"description": "Operational verification after a completed MSP installation and LTE restart. Installation completion does not imply operational health. A failed health check never rearms image installation or consumes another flash attempt.",
|
|
10076
|
+
"hiddenByDefault": true,
|
|
10077
|
+
"formatter": "fields",
|
|
10078
|
+
"fields": [
|
|
10079
|
+
{
|
|
10080
|
+
"path": "requestId"
|
|
10081
|
+
},
|
|
10082
|
+
{
|
|
10083
|
+
"path": "slot"
|
|
10084
|
+
},
|
|
10085
|
+
{
|
|
10086
|
+
"path": "imageInstalled"
|
|
10087
|
+
},
|
|
10088
|
+
{
|
|
10089
|
+
"path": "state"
|
|
10090
|
+
},
|
|
10091
|
+
{
|
|
10092
|
+
"path": "error"
|
|
10093
|
+
},
|
|
10094
|
+
{
|
|
10095
|
+
"path": "bootGeneration"
|
|
10096
|
+
}
|
|
10097
|
+
]
|
|
10098
|
+
}
|
|
10099
|
+
},
|
|
10100
|
+
{
|
|
10101
|
+
"id": 164,
|
|
10102
|
+
"name": "battery.charging.allocations",
|
|
10103
|
+
"role": "state",
|
|
10104
|
+
"subject": "device",
|
|
10105
|
+
"producer": "device",
|
|
10106
|
+
"presentation": {
|
|
10107
|
+
"displayName": "Charging allocation decisions",
|
|
10108
|
+
"hiddenByDefault": true,
|
|
10109
|
+
"description": "LTE allocation intent and acknowledged output, not proof of actual current flow. Reports stopped fault gates and physical-identity power reservations, including unreachable modules and lost acknowledgements. Remaining durations freeze at capture; use observation age. A null reservation list is unavailable, not empty. Reads perform no UART I/O and never retire or renew a reservation.",
|
|
10110
|
+
"formatter": "fields",
|
|
10111
|
+
"fields": [
|
|
10112
|
+
{
|
|
10113
|
+
"path": "held"
|
|
10114
|
+
},
|
|
10115
|
+
{
|
|
10116
|
+
"path": "reason"
|
|
10117
|
+
},
|
|
10118
|
+
{
|
|
10119
|
+
"path": "inputBudgetMa"
|
|
10120
|
+
},
|
|
10121
|
+
{
|
|
10122
|
+
"path": "maximumChargers"
|
|
10123
|
+
},
|
|
10124
|
+
{
|
|
10125
|
+
"path": "modules",
|
|
10126
|
+
"format": "count"
|
|
10127
|
+
},
|
|
10128
|
+
{
|
|
10129
|
+
"path": "reservations",
|
|
10130
|
+
"format": "count"
|
|
10131
|
+
}
|
|
10132
|
+
]
|
|
10133
|
+
}
|
|
9396
10134
|
}
|
|
9397
10135
|
];
|