{
	"json_plugin_version": 1,
	"Device.XPON.": {
		"type": "object",
		"protocols": [
			"cwmp",
			"usp"
		],
		"access": false,
		"array": false,
		"dependency": "file:/etc/config/xpon",
		"ONUNumberOfEntries": {
			"type": "unsignedInt",
			"read": true,
			"write": false,
			"protocols": [
				"cwmp",
				"usp"
			],
			"datatype": "unsignedInt",
			"mapping": [
				{
					"type": "ubus",
					"ubus": {
						"object": "xpon",
						"method": "status",
						"args": {},
						"key": "ONU.@Count"
					}
				}
			]
		},
		"Device.XPON.ONU.{i}.": {
			"type": "object",
			"protocols": [
				"cwmp",
				"usp"
			],
			"access": false,
			"array": true,
			"mapping": [
				{
					"type": "ubus",
					"ubus": {
						"object": "xpon",
						"method": "status",
						"args": {},
						"key": "ONU"
					}
				}
			],
			"Enable": {
				"type": "boolean",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"datatype": "boolean",
				"mapping": [
					{
						"data": "@Parent",
						"type": "json",
						"key": "Enable"
					}
				]
			},
			"Version": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"datatype": "string",
				"range": [
					{
						"max": 14
					}
				],
				"mapping": [
					{
						"data": "@Parent",
						"type": "json",
						"key": "Version"
					}
				]
			},
			"EquipmentID": {
				"type": "string",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"datatype": "string",
				"range": [
					{
						"max": 20
					}
				],
				"mapping": [
					{
						"data": "@Parent",
						"type": "json",
						"key": "EquipmentID"
					}
				]
			},
			"SoftwareImageNumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"datatype": "unsignedInt",
				"mapping": [
					{
						"type": "ubus",
						"ubus": {
							"object": "xpon",
							"method": "status",
							"args": {},
							"key": "ONU[@index].SoftwareImage.@Count"
						}
					}
				]
			},
			"EthernetUNINumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"datatype": "unsignedInt",
				"mapping": [
					{
						"type": "ubus",
						"ubus": {
							"object": "xpon",
							"method": "status",
							"args": {},
							"key": "ONU[@index].EthernetUNI.@Count"
						}
					}
				]
			},
			"ANINumberOfEntries": {
				"type": "unsignedInt",
				"read": true,
				"write": false,
				"protocols": [
					"cwmp",
					"usp"
				],
				"datatype": "unsignedInt",
				"mapping": [
					{
						"type": "ubus",
						"ubus": {
							"object": "xpon",
							"method": "status",
							"args": {},
							"key": "ONU[@index].ANI.@Count"
						}
					}
				]
			},
			"Device.XPON.ONU.{i}.SoftwareImage.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"access": false,
				"array": true,
				"mapping": [
					{
						"type": "ubus",
						"ubus": {
							"object": "xpon",
							"method": "status",
							"args": {},
							"key": "ONU[@index].SoftwareImage"
						}
					}
				],
				"ID": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "unsignedInt",
					"range": [
						{
							"min": 0,
							"max": 1
						}
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "ID"
						}
					]
				},
				"Version": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"range": [
						{
							"max": 14
						}
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "Version"
						}
					]
				},
				"IsCommitted": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "boolean",
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "IsCommitted"
						}
					]
				},
				"IsActive": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "boolean",
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "IsActive"
						}
					]
				},
				"IsValid": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "boolean",
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "IsValid"
						}
					]
				}
			},
			"Device.XPON.ONU.{i}.EthernetUNI.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"access": false,
				"array": true,
				"mapping": [
					{
						"type": "ubus",
						"ubus": {
							"object": "xpon",
							"method": "status",
							"args": {},
							"key": "ONU[@index].EthernetUNI"
						}
					}
				],
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "boolean",
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "Enable"
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"unknown",
						"Dormant",
						"NotPresent",
						"LowerLayerDown",
						"Error"
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "Status"
						}
					]
				},
				"ANIs": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"range": [
						{
							"max": 1024
						}
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "ANIs"
						}
					]
				},
				"InterdomainID": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"range": [
						{
							"max": 256
						}
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "InterDomainID"
						}
					]
				},
				"InterdomainName": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"range": [
						{
							"max": 25
						}
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "InterDomainName"
						}
					]
				},
				"Device.XPON.ONU.{i}.EthernetUNI.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"access": false,
					"array": false,
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.BytesSent"
							}
						]
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.BytesReceived"
							}
						]
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.PacketsSent"
							}
						]
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.PacketsReceived"
							}
						]
					}
				}
			},
			"Device.XPON.ONU.{i}.ANI.{i}.": {
				"type": "object",
				"protocols": [
					"cwmp",
					"usp"
				],
				"access": false,
				"array": true,
				"mapping": [
					{
						"type": "ubus",
						"ubus": {
							"object": "xpon",
							"method": "status",
							"args": {},
							"key": "ONU[@index].ANI"
						}
					}
				],
				"Enable": {
					"type": "boolean",
					"read": true,
					"write": true,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "boolean",
					"mapping": [
						{
							"rpc": "get",
							"data": "@Parent",
							"type": "json",
							"key": "Enable"
						},
						{
							"rpc": "set",
							"type": "uci",
							"uci": {
								"file": "xpon",
								"section": {
									"name": "ani"
								},
								"option": {
									"name": "enable"
								}
							}
						}
					]
				},
				"Status": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"enumerations": [
						"Up",
						"Down",
						"Dormant",
						"Unknown",
						"NotPresent",
						"Error"
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "Status"
						}
					]
				},
				"PONMode": {
					"type": "string",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "string",
					"enumerations": [
						"G-PON",
						"XG-PON",
						"NG-PON2",
						"XGS-PON"
					],
					"mapping": [
						{
							"data": "@Parent",
							"type": "json",
							"key": "PONMode"
						}
					]
				},
				"TransceiverNumberOfEntries": {
					"type": "unsignedInt",
					"read": true,
					"write": false,
					"protocols": [
						"cwmp",
						"usp"
					],
					"datatype": "unsignedInt",
					"mapping": [
						{
							"type": "ubus",
							"ubus": {
								"object": "xpon",
								"method": "status",
								"args": {},
								"key": "ONU[@index].ANI[@index].Transceiver.@Count"
							}
						}
					]
				},
				"Device.XPON.ONU.{i}.ANI.{i}.Stats.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"access": false,
					"array": false,
					"BytesSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.BytesSent"
							}
						]
					},
					"BytesReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.BytesReceived"
							}
						]
					},
					"PacketsSent": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.PacketsSent"
							}
						]
					},
					"PacketsReceived": {
						"type": "unsignedLong",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedLong",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Stats.PacketsReceived"
							}
						]
					}
				},
				"Device.XPON.ONU.{i}.ANI.{i}.TC.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"access": false,
					"array": false,
					"Device.XPON.ONU.{i}.ANI.{i}.TC.ONUActivation.": {
						"type": "object",
						"protocols": [
							"cwmp",
							"usp"
						],
						"access": false,
						"array": false,
						"ONUState": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"datatype": "string",
							"mapping": [
								{
									"data": "@Parent",
									"type": "json",
									"key": "TC.ONUActivation.ONUState"
								}
							]
						},
						"VendorID": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"datatype": "string",
							"mapping": [
								{
									"data": "@Parent",
									"type": "json",
									"key": "TC.ONUActivation.VendorID"
								}
							]
						},
						"SerialNumber": {
							"type": "string",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"datatype": "string",
							"mapping": [
								{
									"data": "@Parent",
									"type": "json",
									"key": "TC.ONUActivation.SerialNumber"
								}
							]
						},
						"ONUID": {
							"type": "unsignedInt",
							"read": true,
							"write": false,
							"protocols": [
								"cwmp",
								"usp"
							],
							"datatype": "unsignedInt",
							"mapping": [
								{
									"data": "@Parent",
									"type": "json",
									"key": "TC.ONUActivation.ONUID"
								}
							]
						}
					}
				},
				"Device.XPON.ONU.{i}.ANI.{i}.Transceiver.{i}.": {
					"type": "object",
					"protocols": [
						"cwmp",
						"usp"
					],
					"access": false,
					"array": true,
					"mapping": [
						{
							"type": "ubus",
							"ubus": {
								"object": "xpon",
								"method": "status",
								"args": {},
								"key": "ONU[@index].ANI[@index].Transceiver"
							}
						}
					],
					"ID": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedInt",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "ID"
							}
						]
					},
					"Identifier": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedInt",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Identifier"
							}
						]
					},
					"VendorName": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "string",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "VendorName"
							}
						]
					},
					"VendorPartNumber": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "string",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "VendorPartNumber"
							}
						]
					},
					"VendorRevision": {
						"type": "string",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "string",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "VendorRevision"
							}
						]
					},
					"PONMode": {
						"type": "string",
						"default": "Unknown",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "string",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "PONMode"
							}
						]
					},
					"Connector": {
						"type": "string",
						"default": "Unknown",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "string",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "connector"
							}
						]
					},
					"RxPower": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "int",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "RxPower"
							}
						]
					},
					"TxPower": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "int",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "TxPower"
							}
						]
					},
					"Voltage": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedInt",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Voltage"
							}
						]
					},
					"Bias": {
						"type": "unsignedInt",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "unsignedInt",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Bias"
							}
						]
					},
					"Temperature": {
						"type": "int",
						"read": true,
						"write": false,
						"protocols": [
							"cwmp",
							"usp"
						],
						"datatype": "int",
						"mapping": [
							{
								"data": "@Parent",
								"type": "json",
								"key": "Temperature"
							}
						]
					}
				}
			}
		}
	}
}

