|
1 | 1 | { |
2 | 2 | "schema_version": 2, |
3 | | - "catalog_version": "2026.08.6", |
| 3 | + "catalog_version": "2026.08.7", |
4 | 4 | "description": "Universal offline inverter catalog with reusable protocol actions, runtime surfaces, and deterministic identity evidence.", |
5 | 5 | "protocols": [ |
6 | 6 | { |
|
1345 | 1345 | "read_only": true, |
1346 | 1346 | "support_capture_policy": "smg_protocol_1" |
1347 | 1347 | }, |
| 1348 | + { |
| 1349 | + "key": "smg_protocol_3_family_fallback", |
| 1350 | + "protocol_key": "modbus_smg", |
| 1351 | + "driver_key": "modbus_smg", |
| 1352 | + "variant_key": "protocol_3_family_fallback", |
| 1353 | + "profile_name": "modbus_smg/protocols/communication_protocol_3.json", |
| 1354 | + "register_schema_name": "modbus_smg/protocols/communication_protocol_3.json", |
| 1355 | + "tier": "full", |
| 1356 | + "read_only": false, |
| 1357 | + "support_capture_policy": "smg_anenji_11k" |
| 1358 | + }, |
| 1359 | + { |
| 1360 | + "key": "smg_protocol_4_family_fallback", |
| 1361 | + "protocol_key": "modbus_smg", |
| 1362 | + "driver_key": "modbus_smg", |
| 1363 | + "variant_key": "protocol_4_family_fallback", |
| 1364 | + "profile_name": "modbus_smg/protocols/communication_protocol_4.json", |
| 1365 | + "register_schema_name": "modbus_smg/protocols/communication_protocol_4.json", |
| 1366 | + "tier": "full", |
| 1367 | + "read_only": false, |
| 1368 | + "support_capture_policy": "smg_anenji_11k" |
| 1369 | + }, |
| 1370 | + { |
| 1371 | + "key": "smg_protocol_5_family_fallback", |
| 1372 | + "protocol_key": "modbus_smg", |
| 1373 | + "driver_key": "modbus_smg", |
| 1374 | + "variant_key": "protocol_5_family_fallback", |
| 1375 | + "profile_name": "modbus_smg/protocols/communication_protocol_5.json", |
| 1376 | + "register_schema_name": "modbus_smg/protocols/communication_protocol_5.json", |
| 1377 | + "tier": "full", |
| 1378 | + "read_only": false, |
| 1379 | + "support_capture_policy": "smg_anenji_11k" |
| 1380 | + }, |
| 1381 | + { |
| 1382 | + "key": "smg_protocol_6_family_fallback", |
| 1383 | + "protocol_key": "modbus_smg", |
| 1384 | + "driver_key": "modbus_smg", |
| 1385 | + "variant_key": "protocol_6_family_fallback", |
| 1386 | + "profile_name": "modbus_smg/protocols/communication_protocol_6.json", |
| 1387 | + "register_schema_name": "modbus_smg/protocols/communication_protocol_6.json", |
| 1388 | + "tier": "full", |
| 1389 | + "read_only": false, |
| 1390 | + "support_capture_policy": "smg_anenji_11k" |
| 1391 | + }, |
1348 | 1392 | { |
1349 | 1393 | "key": "pi30_default_full", |
1350 | 1394 | "protocol_key": "pi30", |
|
2838 | 2882 | ] |
2839 | 2883 | }, |
2840 | 2884 | "note": "Known SMG layout, unknown model: base reads only; writes require learning." |
| 2885 | + }, |
| 2886 | + { |
| 2887 | + "when_layout_codes": [ |
| 2888 | + 3 |
| 2889 | + ], |
| 2890 | + "model_name": "SMG Protocol 3 (Unverified Variant)", |
| 2891 | + "surface_key": "smg_protocol_3_family_fallback", |
| 2892 | + "runtime_probe": { |
| 2893 | + "validation": [ |
| 2894 | + { |
| 2895 | + "key": "output_rating_voltage", |
| 2896 | + "min": 1 |
| 2897 | + }, |
| 2898 | + { |
| 2899 | + "key": "output_rating_frequency", |
| 2900 | + "min": 1 |
| 2901 | + }, |
| 2902 | + { |
| 2903 | + "key": "protocol_number", |
| 2904 | + "one_of": [ |
| 2905 | + 3 |
| 2906 | + ] |
| 2907 | + } |
| 2908 | + ] |
| 2909 | + }, |
| 2910 | + "note": "Documented Protocol 3, unknown model: protocol-specific telemetry; document-backed untested controls require explicit Full Control." |
| 2911 | + }, |
| 2912 | + { |
| 2913 | + "when_layout_codes": [ |
| 2914 | + 4 |
| 2915 | + ], |
| 2916 | + "model_name": "SMG Protocol 4 (Unverified Variant)", |
| 2917 | + "surface_key": "smg_protocol_4_family_fallback", |
| 2918 | + "runtime_probe": { |
| 2919 | + "validation": [ |
| 2920 | + { |
| 2921 | + "key": "output_rating_voltage", |
| 2922 | + "min": 1 |
| 2923 | + }, |
| 2924 | + { |
| 2925 | + "key": "output_rating_frequency", |
| 2926 | + "min": 1 |
| 2927 | + }, |
| 2928 | + { |
| 2929 | + "key": "protocol_number", |
| 2930 | + "one_of": [ |
| 2931 | + 4 |
| 2932 | + ] |
| 2933 | + } |
| 2934 | + ] |
| 2935 | + }, |
| 2936 | + "note": "Documented Protocol 4, unknown model: protocol-specific telemetry; document-backed untested controls require explicit Full Control." |
| 2937 | + }, |
| 2938 | + { |
| 2939 | + "when_layout_codes": [ |
| 2940 | + 5 |
| 2941 | + ], |
| 2942 | + "model_name": "SMG Protocol 5 (Unverified Variant)", |
| 2943 | + "surface_key": "smg_protocol_5_family_fallback", |
| 2944 | + "runtime_probe": { |
| 2945 | + "validation": [ |
| 2946 | + { |
| 2947 | + "key": "output_rating_voltage", |
| 2948 | + "min": 1 |
| 2949 | + }, |
| 2950 | + { |
| 2951 | + "key": "output_rating_frequency", |
| 2952 | + "min": 1 |
| 2953 | + }, |
| 2954 | + { |
| 2955 | + "key": "protocol_number", |
| 2956 | + "one_of": [ |
| 2957 | + 5 |
| 2958 | + ] |
| 2959 | + } |
| 2960 | + ] |
| 2961 | + }, |
| 2962 | + "note": "Documented Protocol 5, unknown model: protocol-specific telemetry; document-backed untested controls require explicit Full Control." |
| 2963 | + }, |
| 2964 | + { |
| 2965 | + "when_layout_codes": [ |
| 2966 | + 6 |
| 2967 | + ], |
| 2968 | + "model_name": "SMG Protocol 6 (Unverified Variant)", |
| 2969 | + "surface_key": "smg_protocol_6_family_fallback", |
| 2970 | + "runtime_probe": { |
| 2971 | + "validation": [ |
| 2972 | + { |
| 2973 | + "key": "output_rating_voltage", |
| 2974 | + "min": 1 |
| 2975 | + }, |
| 2976 | + { |
| 2977 | + "key": "output_rating_frequency", |
| 2978 | + "min": 1 |
| 2979 | + }, |
| 2980 | + { |
| 2981 | + "key": "protocol_number", |
| 2982 | + "one_of": [ |
| 2983 | + 6 |
| 2984 | + ] |
| 2985 | + } |
| 2986 | + ] |
| 2987 | + }, |
| 2988 | + "note": "Documented Protocol 6, unknown model: protocol-specific telemetry; document-backed untested controls require explicit Full Control." |
2841 | 2989 | } |
2842 | 2990 | ] |
2843 | 2991 | } |
0 commit comments