bbfmodels 0.3.0__tar.gz → 0.4.0__tar.gz

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.
Files changed (1080) hide show
  1. bbfmodels-0.4.0/.release-please-manifest.json +3 -0
  2. bbfmodels-0.4.0/CHANGELOG.md +39 -0
  3. bbfmodels-0.4.0/PKG-INFO +103 -0
  4. bbfmodels-0.4.0/README.md +78 -0
  5. bbfmodels-0.4.0/context/README.md +25 -0
  6. bbfmodels-0.4.0/context/decisions/0012-commands-and-events-have-argument-paths.md +47 -0
  7. bbfmodels-0.4.0/docs/guides/models.md +178 -0
  8. bbfmodels-0.4.0/docs/guides/paths.md +104 -0
  9. bbfmodels-0.4.0/docs/guides/runtime.md +126 -0
  10. bbfmodels-0.4.0/docs/index.md +51 -0
  11. bbfmodels-0.4.0/pyproject.toml +63 -0
  12. bbfmodels-0.4.0/release-notes/0.4.0.md +5 -0
  13. bbfmodels-0.4.0/src/bbfmodels/__init__.py +16 -0
  14. bbfmodels-0.4.0/src/bbfmodels/codec.py +255 -0
  15. bbfmodels-0.4.0/src/bbfmodels/generate.py +457 -0
  16. bbfmodels-0.4.0/src/bbfmodels/paths.py +198 -0
  17. bbfmodels-0.4.0/src/bbfmodels/schema.py +190 -0
  18. bbfmodels-0.4.0/src/bbfmodels/tr098/__init__.py +20 -0
  19. bbfmodels-0.4.0/src/bbfmodels/tr098/bulkdata.py +58 -0
  20. bbfmodels-0.4.0/src/bbfmodels/tr098/capabilities.py +30 -0
  21. bbfmodels-0.4.0/src/bbfmodels/tr098/captiveportal.py +26 -0
  22. bbfmodels-0.4.0/src/bbfmodels/tr098/deviceconfig.py +24 -0
  23. bbfmodels-0.4.0/src/bbfmodels/tr098/deviceinfo.py +174 -0
  24. bbfmodels-0.4.0/src/bbfmodels/tr098/dlna.py +36 -0
  25. bbfmodels-0.4.0/src/bbfmodels/tr098/dns.py +58 -0
  26. bbfmodels-0.4.0/src/bbfmodels/tr098/downloadavailability.py +50 -0
  27. bbfmodels-0.4.0/src/bbfmodels/tr098/downloaddiagnostics.py +35 -0
  28. bbfmodels-0.4.0/src/bbfmodels/tr098/fap.py +324 -0
  29. bbfmodels-0.4.0/src/bbfmodels/tr098/faultmgmt.py +104 -0
  30. bbfmodels-0.4.0/src/bbfmodels/tr098/firewall.py +26 -0
  31. bbfmodels-0.4.0/src/bbfmodels/tr098/internetgatewaydevice.py +105 -0
  32. bbfmodels-0.4.0/src/bbfmodels/tr098/ippingdiagnostics.py +35 -0
  33. bbfmodels-0.4.0/src/bbfmodels/tr098/lanconfigsecurity.py +23 -0
  34. bbfmodels-0.4.0/src/bbfmodels/tr098/landevice.py +391 -0
  35. bbfmodels-0.4.0/src/bbfmodels/tr098/laninterfaces.py +46 -0
  36. bbfmodels-0.4.0/src/bbfmodels/tr098/layer2bridging.py +132 -0
  37. bbfmodels-0.4.0/src/bbfmodels/tr098/layer3forwarding.py +44 -0
  38. bbfmodels-0.4.0/src/bbfmodels/tr098/managementserver.py +154 -0
  39. bbfmodels-0.4.0/src/bbfmodels/tr098/nslookupdiagnostics.py +42 -0
  40. bbfmodels-0.4.0/src/bbfmodels/tr098/paths.pyi +2387 -0
  41. bbfmodels-0.4.0/src/bbfmodels/tr098/periodicstatistics.py +62 -0
  42. bbfmodels-0.4.0/src/bbfmodels/tr098/queuemanagement.py +233 -0
  43. bbfmodels-0.4.0/src/bbfmodels/tr098/security.py +39 -0
  44. bbfmodels-0.4.0/src/bbfmodels/tr098/selftestdiagnostics.py +24 -0
  45. bbfmodels-0.4.0/src/bbfmodels/tr098/services.py +22 -0
  46. bbfmodels-0.4.0/src/bbfmodels/tr098/smartcardreader.py +42 -0
  47. bbfmodels-0.4.0/src/bbfmodels/tr098/softwaremodules.py +103 -0
  48. bbfmodels-0.4.0/src/bbfmodels/tr098/time.py +36 -0
  49. bbfmodels-0.4.0/src/bbfmodels/tr098/traceroutediagnostics.py +42 -0
  50. bbfmodels-0.4.0/src/bbfmodels/tr098/udpechoconfig.py +35 -0
  51. bbfmodels-0.4.0/src/bbfmodels/tr098/uploaddiagnostics.py +35 -0
  52. bbfmodels-0.4.0/src/bbfmodels/tr098/upnp.py +161 -0
  53. bbfmodels-0.4.0/src/bbfmodels/tr098/usbhosts.py +79 -0
  54. bbfmodels-0.4.0/src/bbfmodels/tr098/user.py +28 -0
  55. bbfmodels-0.4.0/src/bbfmodels/tr098/userinterface.py +71 -0
  56. bbfmodels-0.4.0/src/bbfmodels/tr098/wandevice.py +657 -0
  57. bbfmodels-0.4.0/src/bbfmodels/tr098/xmpp.py +70 -0
  58. bbfmodels-0.4.0/src/bbfmodels/tr104_1/__init__.py +20 -0
  59. bbfmodels-0.4.0/src/bbfmodels/tr104_1/capabilities.py +98 -0
  60. bbfmodels-0.4.0/src/bbfmodels/tr104_1/paths.pyi +486 -0
  61. bbfmodels-0.4.0/src/bbfmodels/tr104_1/phyinterface.py +35 -0
  62. bbfmodels-0.4.0/src/bbfmodels/tr104_1/voiceprofile.py +515 -0
  63. bbfmodels-0.4.0/src/bbfmodels/tr104_1/voiceservice.py +34 -0
  64. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/__init__.py +20 -0
  65. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/callcontrol.py +340 -0
  66. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/calllog.py +206 -0
  67. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/capabilities.py +124 -0
  68. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/clocksynchronization.py +36 -0
  69. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/codecprofile.py +27 -0
  70. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/dect.py +85 -0
  71. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/h323.py +64 -0
  72. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/interwork.py +73 -0
  73. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/isdn.py +72 -0
  74. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/mgcp.py +68 -0
  75. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/paths.pyi +1195 -0
  76. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/pots.py +108 -0
  77. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/reservedports.py +24 -0
  78. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/sip.py +253 -0
  79. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/terminal.py +106 -0
  80. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/tone.py +78 -0
  81. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/trunk.py +35 -0
  82. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/voiceservice.py +67 -0
  83. bbfmodels-0.4.0/src/bbfmodels/tr104_cwmp/voipprofile.py +90 -0
  84. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/__init__.py +20 -0
  85. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/callcontrol.py +340 -0
  86. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/calllog.py +206 -0
  87. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/capabilities.py +124 -0
  88. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/clocksynchronization.py +36 -0
  89. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/codecprofile.py +27 -0
  90. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/dect.py +85 -0
  91. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/h323.py +64 -0
  92. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/interwork.py +73 -0
  93. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/isdn.py +72 -0
  94. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/mgcp.py +68 -0
  95. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/paths.pyi +1180 -0
  96. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/pots.py +118 -0
  97. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/reservedports.py +24 -0
  98. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/sip.py +253 -0
  99. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/terminal.py +111 -0
  100. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/tone.py +78 -0
  101. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/trunk.py +35 -0
  102. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/voiceservice.py +67 -0
  103. bbfmodels-0.4.0/src/bbfmodels/tr104_usp/voipprofile.py +90 -0
  104. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/__init__.py +20 -0
  105. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/applications.py +89 -0
  106. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/avplayers.py +45 -0
  107. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/avstreams.py +41 -0
  108. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/capabilities.py +218 -0
  109. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/components.py +440 -0
  110. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/paths.pyi +823 -0
  111. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/servicemonitoring.py +368 -0
  112. bbfmodels-0.4.0/src/bbfmodels/tr135_cwmp/stbservice.py +40 -0
  113. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/__init__.py +20 -0
  114. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/applications.py +119 -0
  115. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/avplayers.py +55 -0
  116. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/avstreams.py +41 -0
  117. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/capabilities.py +218 -0
  118. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/components.py +478 -0
  119. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/paths.pyi +808 -0
  120. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/servicemonitoring.py +398 -0
  121. bbfmodels-0.4.0/src/bbfmodels/tr135_usp/stbservice.py +40 -0
  122. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/__init__.py +20 -0
  123. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/capabilities.py +31 -0
  124. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/ftpserver.py +36 -0
  125. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/httpserver.py +29 -0
  126. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/httpsserver.py +29 -0
  127. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/logicalvolume.py +77 -0
  128. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/netinfo.py +24 -0
  129. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/networkserver.py +26 -0
  130. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/paths.pyi +190 -0
  131. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/physicalmedium.py +56 -0
  132. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/sftpserver.py +27 -0
  133. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/storagearray.py +29 -0
  134. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/storageservice.py +57 -0
  135. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/useraccount.py +29 -0
  136. bbfmodels-0.4.0/src/bbfmodels/tr140_cwmp/usergroup.py +25 -0
  137. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/__init__.py +20 -0
  138. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/capabilities.py +31 -0
  139. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/ftpserver.py +36 -0
  140. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/httpserver.py +29 -0
  141. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/httpsserver.py +29 -0
  142. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/logicalvolume.py +77 -0
  143. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/netinfo.py +24 -0
  144. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/networkserver.py +26 -0
  145. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/paths.pyi +190 -0
  146. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/physicalmedium.py +56 -0
  147. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/sftpserver.py +27 -0
  148. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/storagearray.py +29 -0
  149. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/storageservice.py +57 -0
  150. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/useraccount.py +29 -0
  151. bbfmodels-0.4.0/src/bbfmodels/tr140_usp/usergroup.py +25 -0
  152. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/__init__.py +20 -0
  153. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/atm.py +100 -0
  154. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/basapm.py +52 -0
  155. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/bridging.py +206 -0
  156. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/bulkdata.py +119 -0
  157. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/captiveportal.py +26 -0
  158. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/cellular.py +154 -0
  159. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/collectiondevice.py +37 -0
  160. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/connectionmonitoring.py +65 -0
  161. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/device.py +209 -0
  162. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/deviceinfo.py +371 -0
  163. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dhcpv4.py +244 -0
  164. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dhcpv6.py +241 -0
  165. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dlna.py +36 -0
  166. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dns.py +253 -0
  167. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/docsis.py +255 -0
  168. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dsl.py +566 -0
  169. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dslite.py +41 -0
  170. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/dynamicdns.py +69 -0
  171. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ethernet.py +238 -0
  172. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/etsim2m.py +186 -0
  173. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/fap.py +247 -0
  174. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/fast.py +195 -0
  175. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/faultmgmt.py +104 -0
  176. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/firewall.py +316 -0
  177. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/fwe.py +58 -0
  178. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/gatewayinfo.py +25 -0
  179. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ghn.py +223 -0
  180. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/gre.py +112 -0
  181. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/hardware.py +106 -0
  182. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/homeplug.py +90 -0
  183. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/hosts.py +103 -0
  184. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/hpna.py +232 -0
  185. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ieee1905.py +412 -0
  186. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ieee8021x.py +83 -0
  187. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/interfacestack.py +27 -0
  188. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ip.py +560 -0
  189. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ipsec.py +232 -0
  190. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ipv6rd.py +40 -0
  191. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/l2tpv3.py +120 -0
  192. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/lanconfigsecurity.py +23 -0
  193. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/leds.py +64 -0
  194. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/lldp.py +81 -0
  195. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/lmap.py +340 -0
  196. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/logical.py +142 -0
  197. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/managementserver.py +211 -0
  198. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/map.py +96 -0
  199. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/moca.py +372 -0
  200. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/mqtt.py +261 -0
  201. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/nat.py +115 -0
  202. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/neighbordiscovery.py +71 -0
  203. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/optical.py +60 -0
  204. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/packetcapturediagnostics.py +44 -0
  205. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/paths.pyi +11041 -0
  206. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/pcp.py +138 -0
  207. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/pdu.py +101 -0
  208. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/periodicfiletransfer.py +111 -0
  209. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/periodicstatistics.py +64 -0
  210. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ppp.py +112 -0
  211. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ptm.py +59 -0
  212. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/qos.py +272 -0
  213. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/radsecproxy.py +100 -0
  214. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/routeradvertisement.py +64 -0
  215. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/routing.py +297 -0
  216. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/schedules.py +39 -0
  217. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/security.py +51 -0
  218. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/selftestdiagnostics.py +24 -0
  219. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/services.py +22 -0
  220. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/sessionmanagement.py +171 -0
  221. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/sfps.py +216 -0
  222. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/smartcardreaders.py +49 -0
  223. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/softwaremodules.py +250 -0
  224. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/ssh.py +97 -0
  225. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/stomp.py +47 -0
  226. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/syslog.py +115 -0
  227. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/thread.py +202 -0
  228. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/time.py +113 -0
  229. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/trustedelements.py +61 -0
  230. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/unixdomainsockets.py +44 -0
  231. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/upa.py +128 -0
  232. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/upnp.py +171 -0
  233. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/usb.py +161 -0
  234. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/userinterface.py +128 -0
  235. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/users.py +87 -0
  236. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/uspagent.py +254 -0
  237. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/uspservices.py +44 -0
  238. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/vxlan.py +110 -0
  239. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/wifi.py +2307 -0
  240. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/wireguard.py +100 -0
  241. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/wwc.py +89 -0
  242. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/xmpp.py +71 -0
  243. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/xpon.py +283 -0
  244. bbfmodels-0.4.0/src/bbfmodels/tr181_cwmp/zigbee.py +250 -0
  245. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/__init__.py +20 -0
  246. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/atm.py +115 -0
  247. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/basapm.py +52 -0
  248. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/bridging.py +216 -0
  249. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/bulkdata.py +138 -0
  250. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/captiveportal.py +26 -0
  251. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/cellular.py +164 -0
  252. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/collectiondevice.py +38 -0
  253. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/connectionmonitoring.py +65 -0
  254. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/cwmpmanagementserver.py +23 -0
  255. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/device.py +321 -0
  256. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/deviceinfo.py +627 -0
  257. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dhcpv4.py +285 -0
  258. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dhcpv6.py +282 -0
  259. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dlna.py +36 -0
  260. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dns.py +278 -0
  261. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/docsis.py +285 -0
  262. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dsl.py +616 -0
  263. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dslite.py +41 -0
  264. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/dynamicdns.py +69 -0
  265. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ethernet.py +300 -0
  266. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/fap.py +257 -0
  267. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/fast.py +205 -0
  268. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/faultmgmt.py +104 -0
  269. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/firewall.py +316 -0
  270. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/fwe.py +68 -0
  271. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/gatewayinfo.py +51 -0
  272. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ghn.py +253 -0
  273. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/gre.py +122 -0
  274. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/hardware.py +152 -0
  275. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/homeplug.py +100 -0
  276. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/hosts.py +116 -0
  277. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/hpna.py +249 -0
  278. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ieee1905.py +412 -0
  279. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ieee8021x.py +113 -0
  280. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/interfacestack.py +27 -0
  281. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/iotcapability.py +304 -0
  282. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ip.py +622 -0
  283. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ipsec.py +232 -0
  284. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ipv6rd.py +40 -0
  285. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/l2tpv3.py +130 -0
  286. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/lanconfigsecurity.py +23 -0
  287. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/leds.py +64 -0
  288. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/lldp.py +81 -0
  289. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/lmap.py +340 -0
  290. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/localagent.py +588 -0
  291. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/logical.py +220 -0
  292. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/map.py +106 -0
  293. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/moca.py +545 -0
  294. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/mqtt.py +308 -0
  295. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/nat.py +115 -0
  296. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/neighbordiscovery.py +71 -0
  297. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/node.py +25 -0
  298. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/optical.py +70 -0
  299. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/paths.pyi +10607 -0
  300. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/pcp.py +138 -0
  301. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/pdu.py +101 -0
  302. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/periodicfiletransfer.py +130 -0
  303. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/periodicstatistics.py +103 -0
  304. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ppp.py +132 -0
  305. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/proxieddevice.py +41 -0
  306. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ptm.py +69 -0
  307. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/qos.py +272 -0
  308. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/radsecproxy.py +100 -0
  309. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/routeradvertisement.py +64 -0
  310. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/routing.py +317 -0
  311. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/schedules.py +39 -0
  312. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/security.py +155 -0
  313. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/services.py +22 -0
  314. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/sessionmanagement.py +171 -0
  315. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/sfps.py +216 -0
  316. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/smartcardreaders.py +59 -0
  317. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/softwaremodules.py +623 -0
  318. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/ssh.py +108 -0
  319. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/standby.py +24 -0
  320. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/stomp.py +47 -0
  321. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/syslog.py +122 -0
  322. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/thread.py +374 -0
  323. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/time.py +113 -0
  324. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/trustedelements.py +61 -0
  325. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/unixdomainsockets.py +44 -0
  326. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/upa.py +143 -0
  327. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/upnp.py +171 -0
  328. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/usb.py +193 -0
  329. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/userinterface.py +164 -0
  330. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/users.py +92 -0
  331. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/uspservices.py +44 -0
  332. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/vxlan.py +120 -0
  333. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/wifi.py +3280 -0
  334. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/wireguard.py +110 -0
  335. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/wwc.py +89 -0
  336. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/xmpp.py +71 -0
  337. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/xpon.py +305 -0
  338. bbfmodels-0.4.0/src/bbfmodels/tr181_usp/zigbee.py +260 -0
  339. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/__init__.py +20 -0
  340. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/accessmgmt.py +155 -0
  341. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/capabilities.py +123 -0
  342. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/cellconfig.py +2299 -0
  343. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/fapcontrol.py +202 -0
  344. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/fapservice.py +41 -0
  345. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/paths.pyi +2476 -0
  346. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/rem.py +364 -0
  347. bbfmodels-0.4.0/src/bbfmodels/tr196_cwmp/transport.py +150 -0
  348. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/__init__.py +20 -0
  349. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/accessmgmt.py +155 -0
  350. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/capabilities.py +123 -0
  351. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/cellconfig.py +2299 -0
  352. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/fapcontrol.py +202 -0
  353. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/fapservice.py +41 -0
  354. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/paths.pyi +2476 -0
  355. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/rem.py +364 -0
  356. bbfmodels-0.4.0/src/bbfmodels/tr196_usp/transport.py +150 -0
  357. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/__init__.py +20 -0
  358. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/accesscontrolcluster.py +175 -0
  359. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/accountlogincluster.py +71 -0
  360. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/actionscluster.py +242 -0
  361. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/activatedcarbonfiltermonitoringcluster.py +50 -0
  362. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/administratorcommissioningcluster.py +68 -0
  363. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/airqualitycluster.py +24 -0
  364. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/applicationbasiccluster.py +38 -0
  365. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/applicationlaunchercluster.py +103 -0
  366. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/audiooutputcluster.py +62 -0
  367. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/basicinformationcluster.py +88 -0
  368. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/bindingcluster.py +35 -0
  369. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/booleanstatecluster.py +31 -0
  370. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/booleanstateconfigurationcluster.py +71 -0
  371. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/bridgeddevicebasicinformationcluster.py +89 -0
  372. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/cameraavsettingsuserlevelmanagementcluster.py +180 -0
  373. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/cameraavstreammanagementcluster.py +420 -0
  374. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/carbondioxideconcentrationmeasurementcluster.py +33 -0
  375. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/carbonmonoxideconcentrationmeasurementcluster.py +33 -0
  376. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/channelcluster.py +274 -0
  377. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/chimecluster.py +46 -0
  378. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/closurecontrolcluster.py +112 -0
  379. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/closuredimensioncluster.py +95 -0
  380. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/colorcontrolcluster.py +394 -0
  381. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/commissionercontrolcluster.py +67 -0
  382. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/commoditymeteringcluster.py +35 -0
  383. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/commoditypricecluster.py +173 -0
  384. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/commoditytariffcluster.py +364 -0
  385. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/contentappobservercluster.py +39 -0
  386. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/contentcontrolcluster.py +350 -0
  387. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/contentlaunchercluster.py +241 -0
  388. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/descriptorcluster.py +49 -0
  389. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/deviceenergymanagementcluster.py +253 -0
  390. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/deviceenergymanagementmodecluster.py +37 -0
  391. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/diagnosticlogscluster.py +41 -0
  392. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/dishwasheralarmcluster.py +53 -0
  393. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/dishwashermodecluster.py +58 -0
  394. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/doorlockcluster.py +666 -0
  395. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/ecosysteminformationcluster.py +66 -0
  396. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/electricalenergymeasurementcluster.py +175 -0
  397. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/electricalgridconditionscluster.py +68 -0
  398. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/electricalpowermeasurementcluster.py +128 -0
  399. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/endpoint.py +26 -0
  400. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/energyevsecluster.py +222 -0
  401. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/energyevsemodecluster.py +37 -0
  402. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/energypreferencecluster.py +46 -0
  403. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/ethernetnetworkdiagnosticscluster.py +44 -0
  404. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/fabric.py +27 -0
  405. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/fancontrolcluster.py +50 -0
  406. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/fixedlabelcluster.py +33 -0
  407. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/flowmeasurementcluster.py +25 -0
  408. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/formaldehydeconcentrationmeasurementcluster.py +33 -0
  409. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/generalcommissioningcluster.py +100 -0
  410. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/generaldiagnosticscluster.py +120 -0
  411. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/groupkeymanagementcluster.py +113 -0
  412. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/groupscluster.py +108 -0
  413. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/hepafiltermonitoringcluster.py +50 -0
  414. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/icdmanagementcluster.py +87 -0
  415. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/identifycluster.py +52 -0
  416. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/illuminancemeasurementcluster.py +26 -0
  417. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/jointfabricadministratorcluster.py +103 -0
  418. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/jointfabricdatastorecluster.py +569 -0
  419. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/keypadinputcluster.py +36 -0
  420. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/laundrydryercontrolscluster.py +25 -0
  421. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/laundrywashercontrolscluster.py +27 -0
  422. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/laundrywashermodecluster.py +58 -0
  423. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/levelcontrolcluster.py +157 -0
  424. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/localizationconfigurationcluster.py +25 -0
  425. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/lowpowercluster.py +35 -0
  426. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/matterservice.py +433 -0
  427. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/mediainputcluster.py +87 -0
  428. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/mediaplaybackcluster.py +315 -0
  429. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/messagescluster.py +111 -0
  430. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/meteridentificationcluster.py +36 -0
  431. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/microwaveovencontrolcluster.py +61 -0
  432. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/microwaveovenmodecluster.py +23 -0
  433. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/modeselectcluster.py +61 -0
  434. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/network.py +11645 -0
  435. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/networkcommissioningcluster.py +166 -0
  436. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/nitrogendioxideconcentrationmeasurementcluster.py +33 -0
  437. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/occupancysensingcluster.py +32 -0
  438. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/onoffcluster.py +105 -0
  439. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/operationalcredentialscluster.py +202 -0
  440. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/operationalstatecluster.py +150 -0
  441. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/otasoftwareupdateprovidercluster.py +79 -0
  442. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/otasoftwareupdaterequestorcluster.py +81 -0
  443. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/ovencavityoperationalstatecluster.py +86 -0
  444. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/ovenmodecluster.py +37 -0
  445. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/ozoneconcentrationmeasurementcluster.py +33 -0
  446. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/paths.pyi +7262 -0
  447. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/pm10concentrationmeasurementcluster.py +33 -0
  448. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/pm1concentrationmeasurementcluster.py +33 -0
  449. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/pm25concentrationmeasurementcluster.py +33 -0
  450. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/powersourcecluster.py +79 -0
  451. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/powersourceconfigurationcluster.py +24 -0
  452. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/powertopologycluster.py +25 -0
  453. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/pressuremeasurementcluster.py +28 -0
  454. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/pumpconfigurationandcontrolcluster.py +148 -0
  455. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/pushavstreamtransportcluster.py +470 -0
  456. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/radonconcentrationmeasurementcluster.py +33 -0
  457. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/refrigeratoralarmcluster.py +40 -0
  458. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/refrigeratorandtemperaturecontrolledcabinetmodecluster.py +58 -0
  459. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/relativehumiditymeasurementcluster.py +25 -0
  460. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/rvccleanmodecluster.py +37 -0
  461. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/rvcoperationalstatecluster.py +106 -0
  462. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/rvcrunmodecluster.py +37 -0
  463. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/scenesmanagementcluster.py +213 -0
  464. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/serviceareacluster.py +109 -0
  465. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/smokecoalarmcluster.py +119 -0
  466. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/softwarediagnosticscluster.py +60 -0
  467. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/soilmeasurementcluster.py +50 -0
  468. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/switchcluster.py +77 -0
  469. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/targetnavigatorcluster.py +65 -0
  470. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/temperaturecontrolcluster.py +41 -0
  471. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/temperaturemeasurementcluster.py +25 -0
  472. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/thermostatcluster.py +235 -0
  473. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/thermostatuserinterfaceconfigurationcluster.py +26 -0
  474. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/threadborderroutermanagementcluster.py +80 -0
  475. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/threadnetworkdiagnosticscluster.py +177 -0
  476. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/threadnetworkdirectorycluster.py +75 -0
  477. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/timeformatlocalizationcluster.py +26 -0
  478. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/timesynchronizationcluster.py +187 -0
  479. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/tlscertificatemanagementcluster.py +184 -0
  480. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/tlsclientmanagementcluster.py +91 -0
  481. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/totalvolatileorganiccompoundsconcentrationmeasurementcluster.py +33 -0
  482. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/unitlocalizationcluster.py +25 -0
  483. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/userlabelcluster.py +33 -0
  484. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/valveconfigurationandcontrolcluster.py +75 -0
  485. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/wakeonlancluster.py +25 -0
  486. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/waterheatermanagementcluster.py +89 -0
  487. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/waterheatermodecluster.py +37 -0
  488. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/watertanklevelmonitoringcluster.py +50 -0
  489. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/webrtctransportprovidercluster.py +169 -0
  490. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/webrtctransportrequestorcluster.py +113 -0
  491. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/wifinetworkdiagnosticscluster.py +70 -0
  492. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/wifinetworkmanagementcluster.py +37 -0
  493. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/windowcoveringcluster.py +99 -0
  494. bbfmodels-0.4.0/src/bbfmodels/tr517_usp/zonemanagementcluster.py +203 -0
  495. bbfmodels-0.4.0/tests/fixtures/mini-usp-full.xml +43 -0
  496. bbfmodels-0.4.0/tests/test_commands.py +116 -0
  497. bbfmodels-0.4.0/uv.lock +558 -0
  498. bbfmodels-0.3.0/.release-please-manifest.json +0 -3
  499. bbfmodels-0.3.0/CHANGELOG.md +0 -32
  500. bbfmodels-0.3.0/PKG-INFO +0 -103
  501. bbfmodels-0.3.0/README.md +0 -78
  502. bbfmodels-0.3.0/context/README.md +0 -24
  503. bbfmodels-0.3.0/docs/guides/models.md +0 -146
  504. bbfmodels-0.3.0/docs/guides/paths.md +0 -86
  505. bbfmodels-0.3.0/docs/guides/runtime.md +0 -106
  506. bbfmodels-0.3.0/docs/index.md +0 -51
  507. bbfmodels-0.3.0/pyproject.toml +0 -63
  508. bbfmodels-0.3.0/src/bbfmodels/__init__.py +0 -16
  509. bbfmodels-0.3.0/src/bbfmodels/codec.py +0 -232
  510. bbfmodels-0.3.0/src/bbfmodels/generate.py +0 -329
  511. bbfmodels-0.3.0/src/bbfmodels/paths.py +0 -154
  512. bbfmodels-0.3.0/src/bbfmodels/schema.py +0 -152
  513. bbfmodels-0.3.0/src/bbfmodels/tr098/__init__.py +0 -20
  514. bbfmodels-0.3.0/src/bbfmodels/tr098/bulkdata.py +0 -51
  515. bbfmodels-0.3.0/src/bbfmodels/tr098/capabilities.py +0 -23
  516. bbfmodels-0.3.0/src/bbfmodels/tr098/captiveportal.py +0 -19
  517. bbfmodels-0.3.0/src/bbfmodels/tr098/deviceconfig.py +0 -17
  518. bbfmodels-0.3.0/src/bbfmodels/tr098/deviceinfo.py +0 -167
  519. bbfmodels-0.3.0/src/bbfmodels/tr098/dlna.py +0 -29
  520. bbfmodels-0.3.0/src/bbfmodels/tr098/dns.py +0 -51
  521. bbfmodels-0.3.0/src/bbfmodels/tr098/downloadavailability.py +0 -43
  522. bbfmodels-0.3.0/src/bbfmodels/tr098/downloaddiagnostics.py +0 -28
  523. bbfmodels-0.3.0/src/bbfmodels/tr098/fap.py +0 -317
  524. bbfmodels-0.3.0/src/bbfmodels/tr098/faultmgmt.py +0 -97
  525. bbfmodels-0.3.0/src/bbfmodels/tr098/firewall.py +0 -19
  526. bbfmodels-0.3.0/src/bbfmodels/tr098/internetgatewaydevice.py +0 -95
  527. bbfmodels-0.3.0/src/bbfmodels/tr098/ippingdiagnostics.py +0 -28
  528. bbfmodels-0.3.0/src/bbfmodels/tr098/lanconfigsecurity.py +0 -16
  529. bbfmodels-0.3.0/src/bbfmodels/tr098/landevice.py +0 -384
  530. bbfmodels-0.3.0/src/bbfmodels/tr098/laninterfaces.py +0 -39
  531. bbfmodels-0.3.0/src/bbfmodels/tr098/layer2bridging.py +0 -125
  532. bbfmodels-0.3.0/src/bbfmodels/tr098/layer3forwarding.py +0 -37
  533. bbfmodels-0.3.0/src/bbfmodels/tr098/managementserver.py +0 -147
  534. bbfmodels-0.3.0/src/bbfmodels/tr098/nslookupdiagnostics.py +0 -35
  535. bbfmodels-0.3.0/src/bbfmodels/tr098/paths.pyi +0 -2387
  536. bbfmodels-0.3.0/src/bbfmodels/tr098/periodicstatistics.py +0 -55
  537. bbfmodels-0.3.0/src/bbfmodels/tr098/queuemanagement.py +0 -226
  538. bbfmodels-0.3.0/src/bbfmodels/tr098/security.py +0 -32
  539. bbfmodels-0.3.0/src/bbfmodels/tr098/selftestdiagnostics.py +0 -17
  540. bbfmodels-0.3.0/src/bbfmodels/tr098/services.py +0 -15
  541. bbfmodels-0.3.0/src/bbfmodels/tr098/smartcardreader.py +0 -35
  542. bbfmodels-0.3.0/src/bbfmodels/tr098/softwaremodules.py +0 -96
  543. bbfmodels-0.3.0/src/bbfmodels/tr098/time.py +0 -29
  544. bbfmodels-0.3.0/src/bbfmodels/tr098/traceroutediagnostics.py +0 -35
  545. bbfmodels-0.3.0/src/bbfmodels/tr098/udpechoconfig.py +0 -28
  546. bbfmodels-0.3.0/src/bbfmodels/tr098/uploaddiagnostics.py +0 -28
  547. bbfmodels-0.3.0/src/bbfmodels/tr098/upnp.py +0 -154
  548. bbfmodels-0.3.0/src/bbfmodels/tr098/usbhosts.py +0 -72
  549. bbfmodels-0.3.0/src/bbfmodels/tr098/user.py +0 -21
  550. bbfmodels-0.3.0/src/bbfmodels/tr098/userinterface.py +0 -64
  551. bbfmodels-0.3.0/src/bbfmodels/tr098/wandevice.py +0 -650
  552. bbfmodels-0.3.0/src/bbfmodels/tr098/xmpp.py +0 -63
  553. bbfmodels-0.3.0/src/bbfmodels/tr104_1/__init__.py +0 -20
  554. bbfmodels-0.3.0/src/bbfmodels/tr104_1/capabilities.py +0 -91
  555. bbfmodels-0.3.0/src/bbfmodels/tr104_1/paths.pyi +0 -486
  556. bbfmodels-0.3.0/src/bbfmodels/tr104_1/phyinterface.py +0 -28
  557. bbfmodels-0.3.0/src/bbfmodels/tr104_1/voiceprofile.py +0 -508
  558. bbfmodels-0.3.0/src/bbfmodels/tr104_1/voiceservice.py +0 -24
  559. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/__init__.py +0 -20
  560. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/callcontrol.py +0 -333
  561. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/calllog.py +0 -199
  562. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/capabilities.py +0 -117
  563. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/clocksynchronization.py +0 -29
  564. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/codecprofile.py +0 -20
  565. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/dect.py +0 -78
  566. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/h323.py +0 -57
  567. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/interwork.py +0 -66
  568. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/isdn.py +0 -65
  569. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/mgcp.py +0 -61
  570. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/paths.pyi +0 -1195
  571. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/pots.py +0 -101
  572. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/reservedports.py +0 -17
  573. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/sip.py +0 -246
  574. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/terminal.py +0 -99
  575. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/tone.py +0 -71
  576. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/trunk.py +0 -28
  577. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/voiceservice.py +0 -57
  578. bbfmodels-0.3.0/src/bbfmodels/tr104_cwmp/voipprofile.py +0 -83
  579. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/__init__.py +0 -20
  580. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/callcontrol.py +0 -333
  581. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/calllog.py +0 -199
  582. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/capabilities.py +0 -117
  583. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/clocksynchronization.py +0 -29
  584. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/codecprofile.py +0 -20
  585. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/dect.py +0 -78
  586. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/h323.py +0 -57
  587. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/interwork.py +0 -66
  588. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/isdn.py +0 -65
  589. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/mgcp.py +0 -61
  590. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/paths.pyi +0 -1177
  591. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/pots.py +0 -83
  592. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/reservedports.py +0 -17
  593. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/sip.py +0 -246
  594. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/terminal.py +0 -90
  595. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/tone.py +0 -71
  596. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/trunk.py +0 -28
  597. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/voiceservice.py +0 -57
  598. bbfmodels-0.3.0/src/bbfmodels/tr104_usp/voipprofile.py +0 -83
  599. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/__init__.py +0 -20
  600. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/applications.py +0 -82
  601. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/avplayers.py +0 -38
  602. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/avstreams.py +0 -34
  603. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/capabilities.py +0 -211
  604. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/components.py +0 -433
  605. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/paths.pyi +0 -823
  606. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/servicemonitoring.py +0 -361
  607. bbfmodels-0.3.0/src/bbfmodels/tr135_cwmp/stbservice.py +0 -30
  608. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/__init__.py +0 -20
  609. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/applications.py +0 -79
  610. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/avplayers.py +0 -37
  611. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/avstreams.py +0 -34
  612. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/capabilities.py +0 -211
  613. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/components.py +0 -400
  614. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/paths.pyi +0 -795
  615. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/servicemonitoring.py +0 -358
  616. bbfmodels-0.3.0/src/bbfmodels/tr135_usp/stbservice.py +0 -30
  617. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/__init__.py +0 -20
  618. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/capabilities.py +0 -24
  619. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/ftpserver.py +0 -29
  620. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/httpserver.py +0 -22
  621. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/httpsserver.py +0 -22
  622. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/logicalvolume.py +0 -70
  623. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/netinfo.py +0 -17
  624. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/networkserver.py +0 -19
  625. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/paths.pyi +0 -190
  626. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/physicalmedium.py +0 -49
  627. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/sftpserver.py +0 -20
  628. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/storagearray.py +0 -22
  629. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/storageservice.py +0 -47
  630. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/useraccount.py +0 -22
  631. bbfmodels-0.3.0/src/bbfmodels/tr140_cwmp/usergroup.py +0 -18
  632. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/__init__.py +0 -20
  633. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/capabilities.py +0 -24
  634. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/ftpserver.py +0 -29
  635. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/httpserver.py +0 -22
  636. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/httpsserver.py +0 -22
  637. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/logicalvolume.py +0 -70
  638. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/netinfo.py +0 -17
  639. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/networkserver.py +0 -19
  640. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/paths.pyi +0 -190
  641. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/physicalmedium.py +0 -49
  642. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/sftpserver.py +0 -20
  643. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/storagearray.py +0 -22
  644. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/storageservice.py +0 -47
  645. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/useraccount.py +0 -22
  646. bbfmodels-0.3.0/src/bbfmodels/tr140_usp/usergroup.py +0 -18
  647. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/__init__.py +0 -20
  648. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/atm.py +0 -93
  649. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/basapm.py +0 -45
  650. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/bridging.py +0 -199
  651. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/bulkdata.py +0 -112
  652. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/captiveportal.py +0 -19
  653. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/cellular.py +0 -147
  654. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/collectiondevice.py +0 -30
  655. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/connectionmonitoring.py +0 -58
  656. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/device.py +0 -199
  657. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/deviceinfo.py +0 -364
  658. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dhcpv4.py +0 -237
  659. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dhcpv6.py +0 -234
  660. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dlna.py +0 -29
  661. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dns.py +0 -246
  662. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/docsis.py +0 -248
  663. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dsl.py +0 -559
  664. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dslite.py +0 -34
  665. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/dynamicdns.py +0 -62
  666. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ethernet.py +0 -231
  667. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/etsim2m.py +0 -179
  668. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/fap.py +0 -240
  669. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/fast.py +0 -188
  670. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/faultmgmt.py +0 -97
  671. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/firewall.py +0 -309
  672. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/fwe.py +0 -51
  673. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/gatewayinfo.py +0 -18
  674. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ghn.py +0 -216
  675. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/gre.py +0 -105
  676. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/hardware.py +0 -99
  677. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/homeplug.py +0 -83
  678. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/hosts.py +0 -96
  679. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/hpna.py +0 -225
  680. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ieee1905.py +0 -405
  681. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ieee8021x.py +0 -76
  682. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/interfacestack.py +0 -20
  683. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ip.py +0 -553
  684. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ipsec.py +0 -225
  685. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ipv6rd.py +0 -33
  686. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/l2tpv3.py +0 -113
  687. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/lanconfigsecurity.py +0 -16
  688. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/leds.py +0 -57
  689. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/lldp.py +0 -74
  690. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/lmap.py +0 -333
  691. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/logical.py +0 -135
  692. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/managementserver.py +0 -204
  693. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/map.py +0 -89
  694. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/moca.py +0 -365
  695. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/mqtt.py +0 -254
  696. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/nat.py +0 -108
  697. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/neighbordiscovery.py +0 -64
  698. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/optical.py +0 -53
  699. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/packetcapturediagnostics.py +0 -37
  700. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/paths.pyi +0 -11041
  701. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/pcp.py +0 -131
  702. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/pdu.py +0 -94
  703. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/periodicfiletransfer.py +0 -104
  704. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/periodicstatistics.py +0 -57
  705. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ppp.py +0 -105
  706. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ptm.py +0 -52
  707. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/qos.py +0 -265
  708. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/radsecproxy.py +0 -93
  709. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/routeradvertisement.py +0 -57
  710. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/routing.py +0 -290
  711. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/schedules.py +0 -32
  712. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/security.py +0 -44
  713. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/selftestdiagnostics.py +0 -17
  714. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/services.py +0 -15
  715. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/sessionmanagement.py +0 -164
  716. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/sfps.py +0 -209
  717. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/smartcardreaders.py +0 -42
  718. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/softwaremodules.py +0 -243
  719. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/ssh.py +0 -90
  720. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/stomp.py +0 -40
  721. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/syslog.py +0 -108
  722. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/thread.py +0 -195
  723. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/time.py +0 -106
  724. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/trustedelements.py +0 -54
  725. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/unixdomainsockets.py +0 -37
  726. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/upa.py +0 -121
  727. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/upnp.py +0 -164
  728. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/usb.py +0 -154
  729. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/userinterface.py +0 -121
  730. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/users.py +0 -80
  731. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/uspagent.py +0 -247
  732. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/uspservices.py +0 -37
  733. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/vxlan.py +0 -103
  734. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/wifi.py +0 -2300
  735. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/wireguard.py +0 -93
  736. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/wwc.py +0 -82
  737. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/xmpp.py +0 -64
  738. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/xpon.py +0 -276
  739. bbfmodels-0.3.0/src/bbfmodels/tr181_cwmp/zigbee.py +0 -243
  740. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/__init__.py +0 -20
  741. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/atm.py +0 -77
  742. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/basapm.py +0 -45
  743. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/bridging.py +0 -198
  744. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/bulkdata.py +0 -113
  745. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/captiveportal.py +0 -19
  746. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/cellular.py +0 -146
  747. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/collectiondevice.py +0 -31
  748. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/connectionmonitoring.py +0 -58
  749. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/cwmpmanagementserver.py +0 -16
  750. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/device.py +0 -204
  751. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/deviceinfo.py +0 -390
  752. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dhcpv4.py +0 -234
  753. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dhcpv6.py +0 -231
  754. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dlna.py +0 -29
  755. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dns.py +0 -219
  756. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/docsis.py +0 -245
  757. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dsl.py +0 -469
  758. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dslite.py +0 -34
  759. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/dynamicdns.py +0 -62
  760. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ethernet.py +0 -224
  761. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/fap.py +0 -239
  762. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/fast.py +0 -187
  763. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/faultmgmt.py +0 -97
  764. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/firewall.py +0 -309
  765. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/fwe.py +0 -50
  766. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/gatewayinfo.py +0 -21
  767. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ghn.py +0 -141
  768. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/gre.py +0 -104
  769. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/hardware.py +0 -99
  770. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/homeplug.py +0 -82
  771. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/hosts.py +0 -96
  772. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/hpna.py +0 -118
  773. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ieee1905.py +0 -405
  774. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ieee8021x.py +0 -73
  775. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/interfacestack.py +0 -20
  776. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/iotcapability.py +0 -196
  777. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ip.py +0 -201
  778. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ipsec.py +0 -225
  779. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ipv6rd.py +0 -33
  780. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/l2tpv3.py +0 -112
  781. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/lanconfigsecurity.py +0 -16
  782. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/leds.py +0 -57
  783. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/lldp.py +0 -74
  784. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/lmap.py +0 -333
  785. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/localagent.py +0 -357
  786. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/logical.py +0 -132
  787. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/map.py +0 -88
  788. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/moca.py +0 -328
  789. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/mqtt.py +0 -252
  790. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/nat.py +0 -108
  791. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/neighbordiscovery.py +0 -64
  792. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/node.py +0 -18
  793. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/optical.py +0 -52
  794. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/paths.pyi +0 -10344
  795. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/pcp.py +0 -131
  796. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/pdu.py +0 -94
  797. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/periodicfiletransfer.py +0 -105
  798. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/periodicstatistics.py +0 -57
  799. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ppp.py +0 -103
  800. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/proxieddevice.py +0 -34
  801. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ptm.py +0 -51
  802. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/qos.py +0 -265
  803. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/radsecproxy.py +0 -93
  804. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/routeradvertisement.py +0 -57
  805. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/routing.py +0 -285
  806. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/schedules.py +0 -32
  807. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/security.py +0 -45
  808. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/services.py +0 -15
  809. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/sessionmanagement.py +0 -164
  810. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/sfps.py +0 -209
  811. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/smartcardreaders.py +0 -41
  812. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/softwaremodules.py +0 -253
  813. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/ssh.py +0 -90
  814. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/standby.py +0 -17
  815. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/stomp.py +0 -40
  816. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/syslog.py +0 -108
  817. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/thread.py +0 -193
  818. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/time.py +0 -106
  819. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/trustedelements.py +0 -54
  820. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/unixdomainsockets.py +0 -37
  821. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/upa.py +0 -108
  822. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/upnp.py +0 -164
  823. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/usb.py +0 -152
  824. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/userinterface.py +0 -120
  825. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/users.py +0 -71
  826. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/uspservices.py +0 -37
  827. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/vxlan.py +0 -102
  828. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/wifi.py +0 -2250
  829. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/wireguard.py +0 -92
  830. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/wwc.py +0 -82
  831. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/xmpp.py +0 -64
  832. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/xpon.py +0 -275
  833. bbfmodels-0.3.0/src/bbfmodels/tr181_usp/zigbee.py +0 -242
  834. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/__init__.py +0 -20
  835. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/accessmgmt.py +0 -148
  836. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/capabilities.py +0 -116
  837. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/cellconfig.py +0 -2292
  838. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/fapcontrol.py +0 -195
  839. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/fapservice.py +0 -31
  840. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/paths.pyi +0 -2476
  841. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/rem.py +0 -357
  842. bbfmodels-0.3.0/src/bbfmodels/tr196_cwmp/transport.py +0 -143
  843. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/__init__.py +0 -20
  844. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/accessmgmt.py +0 -148
  845. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/capabilities.py +0 -116
  846. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/cellconfig.py +0 -2292
  847. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/fapcontrol.py +0 -195
  848. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/fapservice.py +0 -31
  849. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/paths.pyi +0 -2476
  850. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/rem.py +0 -357
  851. bbfmodels-0.3.0/src/bbfmodels/tr196_usp/transport.py +0 -143
  852. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/__init__.py +0 -20
  853. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/accesscontrolcluster.py +0 -88
  854. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/accountlogincluster.py +0 -16
  855. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/actionscluster.py +0 -43
  856. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/activatedcarbonfiltermonitoringcluster.py +0 -31
  857. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/administratorcommissioningcluster.py +0 -19
  858. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/airqualitycluster.py +0 -17
  859. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/applicationbasiccluster.py +0 -31
  860. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/applicationlaunchercluster.py +0 -32
  861. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/audiooutputcluster.py +0 -28
  862. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/basicinformationcluster.py +0 -54
  863. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/bindingcluster.py +0 -28
  864. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/booleanstatecluster.py +0 -17
  865. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/booleanstateconfigurationcluster.py +0 -23
  866. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/bridgeddevicebasicinformationcluster.py +0 -41
  867. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/cameraavsettingsuserlevelmanagementcluster.py +0 -64
  868. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/cameraavstreammanagementcluster.py +0 -213
  869. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/carbondioxideconcentrationmeasurementcluster.py +0 -26
  870. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/carbonmonoxideconcentrationmeasurementcluster.py +0 -26
  871. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/channelcluster.py +0 -54
  872. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/chimecluster.py +0 -28
  873. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/closurecontrolcluster.py +0 -39
  874. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/closuredimensioncluster.py +0 -58
  875. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/colorcontrolcluster.py +0 -68
  876. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/commissionercontrolcluster.py +0 -17
  877. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/commoditymeteringcluster.py +0 -28
  878. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/commoditypricecluster.py +0 -73
  879. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/commoditytariffcluster.py +0 -275
  880. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/contentappobservercluster.py +0 -16
  881. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/contentcontrolcluster.py +0 -86
  882. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/contentlaunchercluster.py +0 -18
  883. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/descriptorcluster.py +0 -42
  884. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/deviceenergymanagementcluster.py +0 -92
  885. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/deviceenergymanagementmodecluster.py +0 -16
  886. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/diagnosticlogscluster.py +0 -16
  887. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/dishwasheralarmcluster.py +0 -20
  888. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/dishwashermodecluster.py +0 -37
  889. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/doorlockcluster.py +0 -61
  890. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/ecosysteminformationcluster.py +0 -59
  891. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/electricalenergymeasurementcluster.py +0 -104
  892. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/electricalgridconditionscluster.py +0 -43
  893. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/electricalpowermeasurementcluster.py +0 -98
  894. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/endpoint.py +0 -19
  895. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/energyevsecluster.py +0 -39
  896. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/energyevsemodecluster.py +0 -16
  897. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/energypreferencecluster.py +0 -39
  898. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/ethernetnetworkdiagnosticscluster.py +0 -25
  899. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/fabric.py +0 -20
  900. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/fancontrolcluster.py +0 -28
  901. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/fixedlabelcluster.py +0 -26
  902. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/flowmeasurementcluster.py +0 -18
  903. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/formaldehydeconcentrationmeasurementcluster.py +0 -26
  904. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/generalcommissioningcluster.py +0 -35
  905. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/generaldiagnosticscluster.py +0 -40
  906. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/groupkeymanagementcluster.py +0 -39
  907. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/groupscluster.py +0 -17
  908. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/hepafiltermonitoringcluster.py +0 -31
  909. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/icdmanagementcluster.py +0 -36
  910. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/identifycluster.py +0 -18
  911. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/illuminancemeasurementcluster.py +0 -19
  912. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/jointfabricadministratorcluster.py +0 -17
  913. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/jointfabricdatastorecluster.py +0 -219
  914. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/keypadinputcluster.py +0 -16
  915. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/laundrydryercontrolscluster.py +0 -18
  916. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/laundrywashercontrolscluster.py +0 -20
  917. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/laundrywashermodecluster.py +0 -37
  918. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/levelcontrolcluster.py +0 -26
  919. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/localizationconfigurationcluster.py +0 -18
  920. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/lowpowercluster.py +0 -16
  921. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/matterservice.py +0 -423
  922. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/mediainputcluster.py +0 -29
  923. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/mediaplaybackcluster.py +0 -99
  924. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/messagescluster.py +0 -41
  925. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/meteridentificationcluster.py +0 -29
  926. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/microwaveovencontrolcluster.py +0 -24
  927. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/microwaveovenmodecluster.py +0 -16
  928. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/modeselectcluster.py +0 -41
  929. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/network.py +0 -4217
  930. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/networkcommissioningcluster.py +0 -36
  931. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/nitrogendioxideconcentrationmeasurementcluster.py +0 -26
  932. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/occupancysensingcluster.py +0 -18
  933. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/onoffcluster.py +0 -21
  934. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/operationalcredentialscluster.py +0 -44
  935. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/operationalstatecluster.py +0 -39
  936. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/otasoftwareupdateprovidercluster.py +0 -16
  937. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/otasoftwareupdaterequestorcluster.py +0 -29
  938. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/ovencavityoperationalstatecluster.py +0 -39
  939. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/ovenmodecluster.py +0 -16
  940. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/ozoneconcentrationmeasurementcluster.py +0 -26
  941. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/paths.pyi +0 -6314
  942. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/pm10concentrationmeasurementcluster.py +0 -26
  943. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/pm1concentrationmeasurementcluster.py +0 -26
  944. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/pm25concentrationmeasurementcluster.py +0 -26
  945. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/powersourcecluster.py +0 -48
  946. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/powersourceconfigurationcluster.py +0 -17
  947. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/powertopologycluster.py +0 -18
  948. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/pressuremeasurementcluster.py +0 -21
  949. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/pumpconfigurationandcontrolcluster.py +0 -39
  950. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/pushavstreamtransportcluster.py +0 -99
  951. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/radonconcentrationmeasurementcluster.py +0 -26
  952. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/refrigeratoralarmcluster.py +0 -20
  953. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/refrigeratorandtemperaturecontrolledcabinetmodecluster.py +0 -37
  954. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/relativehumiditymeasurementcluster.py +0 -18
  955. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/rvccleanmodecluster.py +0 -16
  956. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/rvcoperationalstatecluster.py +0 -39
  957. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/rvcrunmodecluster.py +0 -16
  958. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/scenesmanagementcluster.py +0 -30
  959. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/serviceareacluster.py +0 -74
  960. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/smokecoalarmcluster.py +0 -29
  961. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/softwarediagnosticscluster.py +0 -32
  962. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/soilmeasurementcluster.py +0 -43
  963. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/switchcluster.py +0 -19
  964. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/targetnavigatorcluster.py +0 -27
  965. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/temperaturecontrolcluster.py +0 -20
  966. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/temperaturemeasurementcluster.py +0 -18
  967. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/thermostatcluster.py +0 -127
  968. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/thermostatuserinterfaceconfigurationcluster.py +0 -19
  969. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/threadborderroutermanagementcluster.py +0 -22
  970. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/threadnetworkdiagnosticscluster.py +0 -143
  971. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/threadnetworkdirectorycluster.py +0 -29
  972. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/timeformatlocalizationcluster.py +0 -19
  973. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/timesynchronizationcluster.py +0 -57
  974. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/tlscertificatemanagementcluster.py +0 -39
  975. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/tlsclientmanagementcluster.py +0 -31
  976. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/totalvolatileorganiccompoundsconcentrationmeasurementcluster.py +0 -26
  977. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/unitlocalizationcluster.py +0 -18
  978. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/userlabelcluster.py +0 -26
  979. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/valveconfigurationandcontrolcluster.py +0 -27
  980. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/wakeonlancluster.py +0 -18
  981. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/waterheatermanagementcluster.py +0 -22
  982. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/waterheatermodecluster.py +0 -16
  983. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/watertanklevelmonitoringcluster.py +0 -31
  984. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/webrtctransportprovidercluster.py +0 -31
  985. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/webrtctransportrequestorcluster.py +0 -31
  986. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/wifinetworkdiagnosticscluster.py +0 -29
  987. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/wifinetworkmanagementcluster.py +0 -18
  988. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/windowcoveringcluster.py +0 -30
  989. bbfmodels-0.3.0/src/bbfmodels/tr517_usp/zonemanagementcluster.py +0 -71
  990. bbfmodels-0.3.0/tests/fixtures/mini-usp-full.xml +0 -40
  991. bbfmodels-0.3.0/uv.lock +0 -558
  992. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.github/workflows/announce-release.yml +0 -0
  993. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.github/workflows/ci.yml +0 -0
  994. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.github/workflows/docs.yml +0 -0
  995. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.github/workflows/pr-title.yml +0 -0
  996. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.github/workflows/publish.yml +0 -0
  997. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.github/workflows/release-please.yml +0 -0
  998. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.gitignore +0 -0
  999. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/.python-version +0 -0
  1000. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/CLAUDE.md +0 -0
  1001. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/CONTRIBUTING.md +0 -0
  1002. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/LICENSE +0 -0
  1003. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/Makefile +0 -0
  1004. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/NOTICE +0 -0
  1005. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0001-one-parser-one-ir-several-emitters.md +0 -0
  1006. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0002-names-stay-as-the-forum-wrote-them.md +0 -0
  1007. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0003-parse-the-flattened-full-documents.md +0 -0
  1008. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0004-generated-output-is-committed.md +0 -0
  1009. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0005-python-models-are-pydantic.md +0 -0
  1010. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0006-everything-optional-unknown-paths-kept.md +0 -0
  1011. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0007-vendor-extensions-are-overlays.md +0 -0
  1012. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0008-python-toolchain.md +0 -0
  1013. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0009-the-tree-keeps-wire-text.md +0 -0
  1014. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0010-generated-python-packages.md +0 -0
  1015. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/context/decisions/0011-typed-paths-are-a-stub-over-the-schema.md +0 -0
  1016. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/assets/images/ispx-icon.png +0 -0
  1017. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/assets/js/copy-code.js +0 -0
  1018. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/assets/js/powered-by.js +0 -0
  1019. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/assets/stylesheets/extra.css +0 -0
  1020. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/changelog.md +0 -0
  1021. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/guides/cli.md +0 -0
  1022. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/guides/documents.md +0 -0
  1023. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/guides/quickstart.md +0 -0
  1024. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/docs/guides/vendor-models.md +0 -0
  1025. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/hooks/announce.py +0 -0
  1026. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/hooks/changelog.py +0 -0
  1027. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/hooks/test_announce.py +0 -0
  1028. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/hooks/test_changelog.py +0 -0
  1029. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/mkdocs.yml +0 -0
  1030. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/release-notes/0.1.0.md +0 -0
  1031. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/release-notes/0.2.0.md +0 -0
  1032. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/release-notes/0.2.1.md +0 -0
  1033. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/release-notes/0.3.0.md +0 -0
  1034. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/release-please-config.json +0 -0
  1035. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/requirements.txt +0 -0
  1036. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/scripts/bootstrap.sh +0 -0
  1037. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/cli.py +0 -0
  1038. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/ir.py +0 -0
  1039. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/model.py +0 -0
  1040. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/parser.py +0 -0
  1041. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/py.typed +0 -0
  1042. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/sources.py +0 -0
  1043. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr098/ir.json.gz +0 -0
  1044. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr098/paths.py +0 -0
  1045. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr104_1/ir.json.gz +0 -0
  1046. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr104_1/paths.py +0 -0
  1047. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr104_cwmp/ir.json.gz +0 -0
  1048. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr104_cwmp/paths.py +0 -0
  1049. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr104_usp/ir.json.gz +0 -0
  1050. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr104_usp/paths.py +0 -0
  1051. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr135_cwmp/ir.json.gz +0 -0
  1052. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr135_cwmp/paths.py +0 -0
  1053. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr135_usp/ir.json.gz +0 -0
  1054. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr135_usp/paths.py +0 -0
  1055. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr140_cwmp/ir.json.gz +0 -0
  1056. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr140_cwmp/paths.py +0 -0
  1057. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr140_usp/ir.json.gz +0 -0
  1058. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr140_usp/paths.py +0 -0
  1059. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr181_cwmp/ir.json.gz +0 -0
  1060. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr181_cwmp/paths.py +0 -0
  1061. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr181_usp/ir.json.gz +0 -0
  1062. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr181_usp/paths.py +0 -0
  1063. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr196_cwmp/ir.json.gz +0 -0
  1064. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr196_cwmp/paths.py +0 -0
  1065. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr196_usp/ir.json.gz +0 -0
  1066. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr196_usp/paths.py +0 -0
  1067. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr517_usp/ir.json.gz +0 -0
  1068. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tr517_usp/paths.py +0 -0
  1069. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/src/bbfmodels/tree.py +0 -0
  1070. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/fixtures/mini-cwmp-full.xml +0 -0
  1071. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/fixtures/mini-service-full.xml +0 -0
  1072. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_cli.py +0 -0
  1073. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_codec.py +0 -0
  1074. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_documents.py +0 -0
  1075. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_generate.py +0 -0
  1076. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_parser.py +0 -0
  1077. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_paths.py +0 -0
  1078. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_schema.py +0 -0
  1079. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/tests/test_tree.py +0 -0
  1080. {bbfmodels-0.3.0 → bbfmodels-0.4.0}/wrangler.jsonc +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.4.0"
3
+ }
@@ -0,0 +1,39 @@
1
+ # Changelog
2
+
3
+ ## [0.4.0](https://github.com/ispx-limited/bbfmodels/compare/v0.3.0...v0.4.0) (2026-11-02)
4
+
5
+
6
+ ### Added
7
+
8
+ * **models:** USP commands and events as classes and paths, and the xsi:type a CWMP stack needs ([#20](https://github.com/ispx-limited/bbfmodels/issues/20)) ([eca0c46](https://github.com/ispx-limited/bbfmodels/commit/eca0c46a10c6fc205dbc198d051dbb860f321003))
9
+
10
+ ## [0.3.0](https://github.com/ispx-limited/bbfmodels/compare/v0.2.1...v0.3.0) (2026-11-02)
11
+
12
+
13
+ ### Added
14
+
15
+ * **paths:** typed paths with autocomplete for every model, no pydantic model needed ([#17](https://github.com/ispx-limited/bbfmodels/issues/17)) ([ba3a7b7](https://github.com/ispx-limited/bbfmodels/commit/ba3a7b7781129477aed7ee015d51f9079521b331))
16
+
17
+ ## [0.2.1](https://github.com/ispx-limited/bbfmodels/compare/v0.2.0...v0.2.1) (2026-11-02)
18
+
19
+
20
+ ### Fixed
21
+
22
+ * **models:** generated files no longer record the tool version, which broke the release build ([#10](https://github.com/ispx-limited/bbfmodels/issues/10)) ([ab909c7](https://github.com/ispx-limited/bbfmodels/commit/ab909c7d67b102b11f09122d8c01cea674859e8c))
23
+ * **parser:** a vendor document's empty syntax is read as a string instead of failing ([#11](https://github.com/ispx-limited/bbfmodels/issues/11)) ([7cdb4a1](https://github.com/ispx-limited/bbfmodels/commit/7cdb4a1c4fa39b7741c90a67c84b43812c889fe2))
24
+ * **parser:** a vendor document's unknown vocabulary values fall back with a warning instead of failing ([#13](https://github.com/ispx-limited/bbfmodels/issues/13)) ([bb3e807](https://github.com/ispx-limited/bbfmodels/commit/bb3e80723320fdd69d2b2263ef066d790a28feb2))
25
+
26
+ ## [0.2.0](https://github.com/ispx-limited/bbfmodels/compare/v0.1.0...v0.2.0) (2026-11-02)
27
+
28
+
29
+ ### Added
30
+
31
+ * **models:** generated pydantic models for every published data model, and a generator for any document ([#7](https://github.com/ispx-limited/bbfmodels/issues/7)) ([adf73f2](https://github.com/ispx-limited/bbfmodels/commit/adf73f2004eb7cf24673a52298a251af45f39364))
32
+
33
+ ## 0.1.0 (2026-11-02)
34
+
35
+
36
+ ### Added
37
+
38
+ * **parser:** read a published document into the intermediate representation ([#1](https://github.com/ispx-limited/bbfmodels/issues/1)) ([462d045](https://github.com/ispx-limited/bbfmodels/commit/462d04530a7d3a7d62a3da440404f4afcadb2c4f))
39
+ * **runtime:** resolve paths, hold a device's values and validate them against the schema ([#3](https://github.com/ispx-limited/bbfmodels/issues/3)) ([35146ad](https://github.com/ispx-limited/bbfmodels/commit/35146adb52757ac9a05836415f87815135c55b94))
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.5
2
+ Name: bbfmodels
3
+ Version: 0.4.0
4
+ Summary: Typed models and schema tooling for Broadband Forum data models (TR-181, TR-098, TR-104 and more), generated from the published XML
5
+ Project-URL: Homepage, https://github.com/ispx-limited/bbfmodels
6
+ Project-URL: Documentation, https://docs.bbfmodels.ispx.co/
7
+ Project-URL: Changelog, https://docs.bbfmodels.ispx.co/changelog/
8
+ Author: ISPX LIMITED
9
+ License-Expression: Apache-2.0
10
+ License-File: LICENSE
11
+ License-File: NOTICE
12
+ Keywords: broadband-forum,cwmp,data-model,tr-069,tr-098,tr-181,tr-369,usp
13
+ Classifier: Development Status :: 2 - Pre-Alpha
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Telecommunications Industry
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: System :: Networking
21
+ Classifier: Typing :: Typed
22
+ Requires-Python: >=3.11
23
+ Requires-Dist: pydantic>=2.14
24
+ Description-Content-Type: text/markdown
25
+
26
+ # bbfmodels
27
+
28
+ Typed models and schema tooling for Broadband Forum data models (TR-181,
29
+ TR-098, TR-104 and the rest), generated from the XML the Forum publishes.
30
+
31
+ The Forum defines what a broadband gateway exposes to its management system
32
+ as XML in the TR-106 schema: thousands of objects and parameters, their types,
33
+ ranges, enumerations, writability and multi-instance tables. Everyone who
34
+ builds against those models, an ACS, a USP controller, a device simulator, an
35
+ integration script, re-derives the same facts from the same XML and hand-types
36
+ the same parameter paths as strings. bbfmodels does it once:
37
+
38
+ - A parser that reads the published XML into a normalised intermediate
39
+ representation, published as JSON with its own schema.
40
+ - A Python runtime that works from that representation: resolve a path,
41
+ validate a value against the model's constraints, convert between the flat
42
+ path and value lists that CWMP and USP carry on the wire and a typed tree.
43
+ - Generated typed bindings: pydantic models for Python, shipped for TR-181
44
+ and TR-098 and the service models (TR-104 voice, TR-135 set-top box,
45
+ TR-140 storage, TR-196 femtocell, TR-517 Matter), and generated on demand
46
+ for any other document, a vendor's included.
47
+ - Typed paths for code that only needs correct path strings:
48
+ `str(Device.WiFi.SSID[1].SSID)` with autocomplete over the whole model
49
+ and the parameter's definition one attribute away. JSON Schema and TypeScript follow from the
50
+ same representation, Go when there is a consumer.
51
+
52
+ Names stay as the Forum wrote them. `Device.WiFi.SSID.{i}.SSID` is a table of
53
+ `SSID` entries indexed by instance number, and the attribute is `SSID`, not
54
+ `ssid`.
55
+
56
+ ## Install
57
+
58
+ ```sh
59
+ pip install bbfmodels
60
+ ```
61
+
62
+ Python 3.11 or later. The one runtime dependency is pydantic.
63
+
64
+ ## Status
65
+
66
+ Early. The parser, the intermediate representation, the runtime, the
67
+ generated Python models with USP commands and events, and typed paths are
68
+ in place. JSON Schema and TypeScript come next. Before 1.0 a minor release
69
+ may change the IR and the runtime API.
70
+
71
+ ```python
72
+ from bbfmodels.tr181_cwmp import Device
73
+
74
+ device = Device.from_flat(values_from_the_device)
75
+ radio = device.WiFi.Radio[1]
76
+ radio.Channel # 36, an int
77
+ radio.Enable # True
78
+ device.problems() # every value outside the model's constraints
79
+ device.flatten() # back to path and text pairs
80
+ ```
81
+
82
+ The design decisions behind the code are in `context/decisions/`, indexed in
83
+ `context/README.md`. Read them before changing the parser or the IR.
84
+
85
+ ## Development
86
+
87
+ Prerequisites: git and [uv](https://docs.astral.sh/uv/). The pinned Python is
88
+ installed by uv.
89
+
90
+ ```sh
91
+ scripts/bootstrap.sh
92
+ make test
93
+ make lint
94
+ ```
95
+
96
+ `make help` lists the rest. Documentation is built from `docs/` with
97
+ `make docs` and published at https://docs.bbfmodels.ispx.co/.
98
+
99
+ ## Licence
100
+
101
+ Apache-2.0, copyright ISPX LIMITED. The Broadband Forum publishes its data
102
+ models under the BSD 3-clause licence; output derived from them carries the
103
+ Forum's notice.
@@ -0,0 +1,78 @@
1
+ # bbfmodels
2
+
3
+ Typed models and schema tooling for Broadband Forum data models (TR-181,
4
+ TR-098, TR-104 and the rest), generated from the XML the Forum publishes.
5
+
6
+ The Forum defines what a broadband gateway exposes to its management system
7
+ as XML in the TR-106 schema: thousands of objects and parameters, their types,
8
+ ranges, enumerations, writability and multi-instance tables. Everyone who
9
+ builds against those models, an ACS, a USP controller, a device simulator, an
10
+ integration script, re-derives the same facts from the same XML and hand-types
11
+ the same parameter paths as strings. bbfmodels does it once:
12
+
13
+ - A parser that reads the published XML into a normalised intermediate
14
+ representation, published as JSON with its own schema.
15
+ - A Python runtime that works from that representation: resolve a path,
16
+ validate a value against the model's constraints, convert between the flat
17
+ path and value lists that CWMP and USP carry on the wire and a typed tree.
18
+ - Generated typed bindings: pydantic models for Python, shipped for TR-181
19
+ and TR-098 and the service models (TR-104 voice, TR-135 set-top box,
20
+ TR-140 storage, TR-196 femtocell, TR-517 Matter), and generated on demand
21
+ for any other document, a vendor's included.
22
+ - Typed paths for code that only needs correct path strings:
23
+ `str(Device.WiFi.SSID[1].SSID)` with autocomplete over the whole model
24
+ and the parameter's definition one attribute away. JSON Schema and TypeScript follow from the
25
+ same representation, Go when there is a consumer.
26
+
27
+ Names stay as the Forum wrote them. `Device.WiFi.SSID.{i}.SSID` is a table of
28
+ `SSID` entries indexed by instance number, and the attribute is `SSID`, not
29
+ `ssid`.
30
+
31
+ ## Install
32
+
33
+ ```sh
34
+ pip install bbfmodels
35
+ ```
36
+
37
+ Python 3.11 or later. The one runtime dependency is pydantic.
38
+
39
+ ## Status
40
+
41
+ Early. The parser, the intermediate representation, the runtime, the
42
+ generated Python models with USP commands and events, and typed paths are
43
+ in place. JSON Schema and TypeScript come next. Before 1.0 a minor release
44
+ may change the IR and the runtime API.
45
+
46
+ ```python
47
+ from bbfmodels.tr181_cwmp import Device
48
+
49
+ device = Device.from_flat(values_from_the_device)
50
+ radio = device.WiFi.Radio[1]
51
+ radio.Channel # 36, an int
52
+ radio.Enable # True
53
+ device.problems() # every value outside the model's constraints
54
+ device.flatten() # back to path and text pairs
55
+ ```
56
+
57
+ The design decisions behind the code are in `context/decisions/`, indexed in
58
+ `context/README.md`. Read them before changing the parser or the IR.
59
+
60
+ ## Development
61
+
62
+ Prerequisites: git and [uv](https://docs.astral.sh/uv/). The pinned Python is
63
+ installed by uv.
64
+
65
+ ```sh
66
+ scripts/bootstrap.sh
67
+ make test
68
+ make lint
69
+ ```
70
+
71
+ `make help` lists the rest. Documentation is built from `docs/` with
72
+ `make docs` and published at https://docs.bbfmodels.ispx.co/.
73
+
74
+ ## Licence
75
+
76
+ Apache-2.0, copyright ISPX LIMITED. The Broadband Forum publishes its data
77
+ models under the BSD 3-clause licence; output derived from them carries the
78
+ Forum's notice.
@@ -0,0 +1,25 @@
1
+ # Design memory
2
+
3
+ This directory is the project's design memory: the decisions that shape
4
+ the code and the reasons behind them, so a contributor, or a coding agent
5
+ working with one, can change the code without undoing a decision by
6
+ accident. Read it before touching the parser, the IR or a generator.
7
+
8
+ `decisions/` holds one record per significant decision: context, decision,
9
+ consequences, in a page or less. Records are append-only. When a decision
10
+ changes, a new record is written and the old one is marked superseded.
11
+
12
+ | Number | Title | Status |
13
+ | --- | --- | --- |
14
+ | [0001](decisions/0001-one-parser-one-ir-several-emitters.md) | One parser, one intermediate representation, several emitters | Accepted |
15
+ | [0002](decisions/0002-names-stay-as-the-forum-wrote-them.md) | Names stay as the Forum wrote them | Accepted |
16
+ | [0003](decisions/0003-parse-the-flattened-full-documents.md) | Parse the Forum's flattened full documents | Accepted |
17
+ | [0004](decisions/0004-generated-output-is-committed.md) | Generated output is committed and checked for drift | Accepted |
18
+ | [0005](decisions/0005-python-models-are-pydantic.md) | Generated Python models are pydantic, built lazily per subtree | Accepted |
19
+ | [0006](decisions/0006-everything-optional-unknown-paths-kept.md) | Everything is optional and unknown paths round-trip | Accepted |
20
+ | [0007](decisions/0007-vendor-extensions-are-overlays.md) | Vendor extensions are overlays in the same schema | Accepted |
21
+ | [0008](decisions/0008-python-toolchain.md) | Python toolchain: uv, ruff, mypy, pytest, standard library XML | Accepted |
22
+ | [0009](decisions/0009-the-tree-keeps-wire-text.md) | The data tree keeps wire text and decodes on demand | Accepted |
23
+ | [0010](decisions/0010-generated-python-packages.md) | One generated package per document, lenient on input, strict in `problems` | Accepted |
24
+ | [0011](decisions/0011-typed-paths-are-a-stub-over-the-schema.md) | Typed paths are a generic runtime plus a stub, not generated classes | Accepted |
25
+ | [0012](decisions/0012-commands-and-events-have-argument-paths.md) | Commands and events get argument paths, and classes named by owner | Accepted |
@@ -0,0 +1,47 @@
1
+ # 0012: Commands and events get argument paths, and classes named by owner
2
+
3
+ ## Context
4
+
5
+ USP adds commands (`Device.Reboot()`, `Device.IP.Diagnostics.TraceRoute()`)
6
+ with input and output arguments, and events (`Device.Boot!`) with a
7
+ payload. The specification gives the command and the event a path but not
8
+ their arguments: an Operate request carries input arguments as a map of
9
+ names to values, and the response the output the same way, with objects
10
+ inside an output (`RouteHops.{i}.`) flattened into dotted names. The
11
+ schema, the models and the paths each needed a way to refer to those
12
+ arguments, and command names repeat across objects (`Reset()`,
13
+ `Upload()`, `ScheduleTimer()`), so a class cannot be named after the
14
+ command alone.
15
+
16
+ ## Decision
17
+
18
+ - **The schema indexes arguments as objects under synthetic paths**:
19
+ `Device.IP.Diagnostics.TraceRoute().Input.`,
20
+ `Device.IP.Diagnostics.TraceRoute().Output.`, `Device.Boot!.`, with the
21
+ objects inside an output under them
22
+ (`...TraceRoute().Output.RouteHops.{i}.`). Argument values then resolve
23
+ and validate like any parameter. These objects are not `children()` of
24
+ the owning object; they are reached through the command or event.
25
+ - **Generated classes are named by owner, command and side**:
26
+ `IP_Diagnostics_TraceRoute_Input`, `IP_Diagnostics_TraceRoute_Output`,
27
+ `IP_Diagnostics_TraceRoute_Output_RouteHops`; an event is `Device_Boot_Event`, the suffix keeping it apart from an object class of the same name.
28
+ Each package exposes `COMMANDS`, a map from command path to its input
29
+ and output classes, and `EVENTS`, from event path to its class, so a
30
+ controller can pick the class for a response by the path it sent.
31
+ `flatten("")` gives the bare argument names an Operate request carries.
32
+ - **Paths name commands and events as the specification does**:
33
+ `str(Device.IP.Diagnostics.TraceRoute)` is `Device.IP.Diagnostics.TraceRoute()`
34
+ and `str(Device.Boot)` is `Device.Boot!`; attribute access drops the
35
+ suffix, `child()` takes the full name.
36
+ - **`codec.xsd_type` gives the `xsi:type` CWMP carries** for a parameter,
37
+ derived from its base type, `xsd:string` for any list. This is the one
38
+ piece a CWMP stack needs from the model that the model alone did not
39
+ state. SOAP and protobuf envelopes stay out of scope.
40
+
41
+ ## Consequences
42
+
43
+ - The synthetic paths are bbfmodels' own notation and never appear on the
44
+ wire; they exist so that one validation routine serves parameters and
45
+ arguments alike.
46
+ - TR-181 USP generates 1486 classes rather than 975; import time is
47
+ unchanged at about a third of a second.
@@ -0,0 +1,178 @@
1
+ # Generated models
2
+
3
+ A generated package has a pydantic class per object, a typed optional
4
+ field per parameter and a `dict[int, Child]` per table. Names are the
5
+ Forum's names, PascalCase and all. These packages ship with bbfmodels:
6
+
7
+ | Package | Document | Root class |
8
+ | --- | --- | --- |
9
+ | `bbfmodels.tr181_cwmp` | TR-181 issue 2, CWMP edition | `Device` |
10
+ | `bbfmodels.tr181_usp` | TR-181 issue 2, USP edition | `Device` |
11
+ | `bbfmodels.tr098` | TR-098 | `InternetGatewayDevice` |
12
+ | `bbfmodels.tr104_1` | TR-104 issue 1, voice on TR-098 gateways | `VoiceService` |
13
+ | `bbfmodels.tr104_cwmp`, `bbfmodels.tr104_usp` | TR-104 issue 2, voice | `VoiceService` |
14
+ | `bbfmodels.tr135_cwmp`, `bbfmodels.tr135_usp` | TR-135, set-top box | `STBService` |
15
+ | `bbfmodels.tr140_cwmp`, `bbfmodels.tr140_usp` | TR-140, storage | `StorageService` |
16
+ | `bbfmodels.tr196_cwmp`, `bbfmodels.tr196_usp` | TR-196, femtocell | `FAPService` |
17
+ | `bbfmodels.tr517_usp` | TR-517, Matter | `MatterService` |
18
+
19
+ Each package records `SOURCE`, `SPEC` and `MODEL`, and `schema()` returns
20
+ the `Schema` of the IR it was generated from.
21
+
22
+ ## From device values and back
23
+
24
+ `from_flat` takes the path and value pairs an ACS or USP controller
25
+ returns. Values coerce to their Python type: integers, booleans (`1` and
26
+ `true` alike), dates, binary, decimals, and comma-separated lists.
27
+
28
+ ```python
29
+ from bbfmodels.tr181_cwmp import Device
30
+
31
+ device = Device.from_flat({
32
+ "Device.DeviceInfo.UpTime": "1234",
33
+ "Device.DeviceInfo.FirstUseDate": "2026-01-02T03:04:05Z",
34
+ "Device.WiFi.Radio.1.Enable": "1",
35
+ "Device.WiFi.Radio.1.Channel": "36",
36
+ "Device.WiFi.SSID.1.LowerLayers": "Device.WiFi.Radio.1",
37
+ })
38
+ device.DeviceInfo.UpTime # 1234
39
+ device.DeviceInfo.FirstUseDate # datetime(2026, 1, 2, 3, 4, 5, tzinfo=UTC)
40
+ device.WiFi.Radio[1].Enable # True
41
+ device.WiFi.SSID[1].LowerLayers # ['Device.WiFi.Radio.1']
42
+ device.WiFi.Radio[2] # KeyError: only instance 1 was given
43
+ ```
44
+
45
+ Every field is optional, because no device exposes the whole model, and a
46
+ child object that was not given is `None`. Paths may also be relative to
47
+ the object: `Device.from_flat({"WiFi.Radio.1.Channel": "36"})`.
48
+
49
+ `flatten` writes the model back as path and text pairs in canonical form:
50
+ `true` for a boolean, `a,b` for a list, upper-case hex for binary.
51
+
52
+ ```python
53
+ device.flatten()
54
+ # {'Device.DeviceInfo.UpTime': '1234', ..., 'Device.WiFi.Radio.1.Enable': 'true', ...}
55
+ ```
56
+
57
+ ## Validation
58
+
59
+ Parsing is lenient on purpose. Ranges, sizes, patterns and enumerations are
60
+ not enforced when a model is built, because a real device returns values
61
+ outside them and a model that refused them could not hold what the device
62
+ said. `problems()` reports every violation against the shipped schema:
63
+
64
+ ```python
65
+ device.WiFi.Radio[1].Channel = 999
66
+ device.WiFi.Radio[1].Status = "zz"
67
+ device.problems()
68
+ # [('Device.WiFi.Radio.1.Status', "'zz' is not one of the enumerated values"),
69
+ # ('Device.WiFi.Radio.1.Channel', '999 is outside the allowed ranges')]
70
+ ```
71
+
72
+ An enumeration is typed `Literal[...] | str`: an editor completes the
73
+ Forum's values, and a vendor's extra value still validates. A parameter
74
+ that takes its allowed values from another parameter, as
75
+ `OperatingChannelBandwidth` does from `SupportedOperatingChannelBandwidths`,
76
+ is not checked against a fixed list, because the list is the device's.
77
+
78
+ ## Tables and construction
79
+
80
+ A table is a plain `dict[int, Child]`. Classes construct directly, and
81
+ `flatten` takes the data path to write under:
82
+
83
+ ```python
84
+ from bbfmodels.tr181_cwmp.wifi import WiFi_Radio
85
+
86
+ radio = WiFi_Radio(Enable=True, Channel=36, OperatingFrequencyBand="5GHz")
87
+ radio.flatten("Device.WiFi.Radio.1.")
88
+ # {'Device.WiFi.Radio.1.Enable': 'true', 'Device.WiFi.Radio.1.OperatingFrequencyBand': '5GHz', 'Device.WiFi.Radio.1.Channel': '36'}
89
+ ```
90
+
91
+ Class names are the object's path with the root dropped and dots replaced:
92
+ `WiFi_Radio`, `WiFi_Radio_Stats`, `IP_Interface_IPv4Address`. They live in
93
+ the module of their top-level subtree: `bbfmodels.tr181_cwmp.wifi`,
94
+ `bbfmodels.tr181_cwmp.ip`.
95
+
96
+ ## Vendor parameters
97
+
98
+ Parameters and objects the model does not define are kept as pydantic
99
+ extras and written back by `flatten`. An unknown parameter is text; an
100
+ unknown object is a nested dict with instance numbers as string keys.
101
+
102
+ ```python
103
+ device = Device.from_flat({
104
+ "Device.WiFi.Radio.1.X_ACME_TxPower": "high",
105
+ "Device.X_ACME_Mesh.1.Role": "controller",
106
+ })
107
+ device.WiFi.Radio[1].X_ACME_TxPower # 'high'
108
+ device.X_ACME_Mesh # {'1': {'Role': 'controller'}}
109
+ device.flatten() # both paths come back
110
+ ```
111
+
112
+ For typed access to a vendor's extensions, generate a package from the
113
+ vendor's document: see [vendor models](vendor-models.md).
114
+
115
+ ## Service models
116
+
117
+ A service model's root is a table, `VoiceService.{i}.`, that a device
118
+ mounts under its `Services.` object. The generated classes carry the
119
+ document's paths and the mount is given when converting:
120
+
121
+ ```python
122
+ from bbfmodels.tr104_cwmp import VoiceService
123
+
124
+ voice = VoiceService.from_flat(values, "Device.Services.VoiceService.1.")
125
+ voice.Capabilities.MaxLineCount
126
+ voice.flatten("Device.Services.VoiceService.1.")
127
+ voice.problems("Device.Services.VoiceService.1.")
128
+ ```
129
+
130
+ Without a prefix, `from_flat` takes paths relative to the instance
131
+ (`Capabilities.MaxLineCount`) and `problems` reports against instance 1.
132
+
133
+ ## Commands and events
134
+
135
+ The USP packages carry a class for every command's input and output and
136
+ every event's payload. `COMMANDS` maps a command path to its two classes
137
+ and `EVENTS` an event path to its class, which is how a controller picks
138
+ the class for the response to the Operate it sent:
139
+
140
+ ```python
141
+ from bbfmodels.tr181_usp import COMMANDS, EVENTS
142
+
143
+ request_cls, response_cls = COMMANDS["Device.IP.Diagnostics.TraceRoute()"]
144
+ request = request_cls(Host="example.net", NumberOfTries=3)
145
+ request.flatten("") # {'Host': 'example.net', 'NumberOfTries': '3'}, the input_args of an Operate
146
+
147
+ response = response_cls.from_flat({
148
+ "Status": "Complete",
149
+ "ResponseTime": "12",
150
+ "RouteHops.1.Host": "gw",
151
+ "RouteHops.1.RTTimes": "1,2,3",
152
+ })
153
+ response.RouteHops[1].RTTimes # [1, 2, 3]
154
+ response.problems() # checked like any parameter
155
+
156
+ boot = EVENTS["Device.Boot!"].from_flat({"Cause": "LocalReboot"})
157
+ ```
158
+
159
+ The classes are importable by name too, `IP_Diagnostics_TraceRoute_Input`
160
+ from `bbfmodels.tr181_usp.ip`, named by the owning object, the command
161
+ and the side. In the schema the arguments live under
162
+ `Device.IP.Diagnostics.TraceRoute().Input.` and `.Output.`, and an event's
163
+ under `Device.Boot!.`, which is where `problems()` reports them.
164
+
165
+ ## Names that had to change
166
+
167
+ Three kinds of Forum name cannot be a Python field as written. The field
168
+ gets a safe name and the Forum's name as its alias, so `from_flat` and
169
+ `flatten` are unaffected:
170
+
171
+ | Forum name | Field | Why |
172
+ | --- | --- | --- |
173
+ | `Config` | `Config_` | pydantic reads `Config` from a class body as its legacy configuration |
174
+ | `11kRSSIHighThresholdOffset` | `N11kRSSIHighThresholdOffset` | an identifier cannot start with a digit |
175
+ | a name with a hyphen or other symbol | the symbol becomes `_` | not an identifier |
176
+
177
+ None of the Forum's own documents needs the second or third; vendor
178
+ documents do.
@@ -0,0 +1,104 @@
1
+ # Typed paths
2
+
3
+ Most code that talks to an ACS or a USP controller never builds a tree of
4
+ values. It asks an API for `Device.WiFi.SSID.1.SSID` by name and reads a
5
+ string back. Typed paths make that name a chain of attributes an editor
6
+ completes and a type checker verifies, with no model involved:
7
+
8
+ ```python
9
+ from bbfmodels.tr181_cwmp.paths import Device
10
+
11
+ str(Device.WiFi.SSID[1].SSID) # 'Device.WiFi.SSID.1.SSID'
12
+ str(Device.IP.Interface[1].IPv4Address[2].IPAddress)
13
+ Device.WiFi.Radio[2].Channel == "Device.WiFi.Radio.2.Channel" # True
14
+ ```
15
+
16
+ Every shipped package has a `paths` module whose root is the model's root
17
+ object. A table is indexed by instance number; the table itself renders as
18
+ the partial path CWMP uses to ask for all of it, and `search` gives the USP
19
+ search path:
20
+
21
+ ```python
22
+ str(Device.WiFi.Radio) # 'Device.WiFi.Radio.'
23
+ Device.WiFi.Radio.search # 'Device.WiFi.Radio.*.'
24
+ Device.WiFi.Radio.schema_path # 'Device.WiFi.Radio.{i}.'
25
+ ```
26
+
27
+ A path knows its definition in the shipped schema, so the type, access,
28
+ constraints and description of a parameter are one attribute away:
29
+
30
+ ```python
31
+ channel = Device.WiFi.Radio[1].Channel
32
+ channel.definition.syntax.base_type # <BaseType.UNSIGNED_INT: 'unsignedInt'>
33
+ channel.definition.access # <Access.READ_WRITE: 'readWrite'>
34
+ channel.definition.syntax.facets.ranges # (Range(min_inclusive=1, max_inclusive=255, step=None),)
35
+ channel.definition.description[:60]
36
+ Device.WiFi.Radio.definition.num_entries_parameter # 'RadioNumberOfEntries'
37
+ ```
38
+
39
+ Paths compare and hash as their string, so they work as dictionary keys
40
+ and in sets alongside plain strings.
41
+
42
+ ## Editors and type checkers
43
+
44
+ At runtime one generic class walks the schema, so the `paths` module is
45
+ three lines and costs nothing to import. Beside it, `paths.pyi` is a stub
46
+ that declares every object and parameter with the Python type of its
47
+ value, which is what the editor completes and the type checker reads:
48
+
49
+ ```python
50
+ class WiFi_RadioPath(ObjectPathBase):
51
+ Enable: ParamPath[bool]
52
+ Channel: ParamPath[int]
53
+ SupportedFrequencyBands: ParamPath[list[str]]
54
+ Stats: WiFi_Radio_StatsPath
55
+ ```
56
+
57
+ A typo is caught twice: the type checker rejects `Device.WiFi.Radioo`, and
58
+ at runtime it raises `AttributeError` naming the object that has no such
59
+ member.
60
+
61
+ ## Commands and events
62
+
63
+ In the USP packages a command or event is a member like any other, named
64
+ without its suffix and rendered with it:
65
+
66
+ ```python
67
+ from bbfmodels.tr181_usp.paths import Device
68
+
69
+ str(Device.IP.Diagnostics.TraceRoute) # 'Device.IP.Diagnostics.TraceRoute()'
70
+ Device.IP.Diagnostics.TraceRoute.definition.is_async # True
71
+ str(Device.Boot) # 'Device.Boot!'
72
+ str(Device.child("Reboot()")) # the same by its full name
73
+ ```
74
+
75
+ When a parameter or object already has the bare name, the command or event
76
+ takes a trailing underscore: Matter's `ValveFault` parameter sits beside
77
+ its `ValveFault!` event, reached as `ValveFault_`.
78
+
79
+ ## Names the schema does not know
80
+
81
+ A vendor parameter whose document was not generated is reached
82
+ explicitly, so a typo in a standard name is never silently taken for one:
83
+
84
+ ```python
85
+ str(Device.WiFi.Radio[1].child("X_ACME_TxPower")) # 'Device.WiFi.Radio.1.X_ACME_TxPower'
86
+ ```
87
+
88
+ Generate the vendor's document instead and the name completes like any
89
+ other; see [vendor models](vendor-models.md). A Forum name that is not a
90
+ Python identifier is exposed the way the models expose it, `N11kEnable` for
91
+ `11kEnable`, and renders the Forum's spelling.
92
+
93
+ ## Service models
94
+
95
+ A service model's root is a table, and the document does not say where a
96
+ device mounts it, so its paths render from the document's root. Prefix the
97
+ mount when calling an API:
98
+
99
+ ```python
100
+ from bbfmodels.tr104_cwmp.paths import VoiceService
101
+
102
+ str(VoiceService[1].Capabilities.MaxLineCount) # 'VoiceService.1.Capabilities.MaxLineCount'
103
+ "Device.Services." + str(VoiceService[1].Capabilities.MaxLineCount)
104
+ ```