rsmp 0.47.0 → 0.48.0

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 (426) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/copilot-setup-steps.yml +1 -1
  3. data/.github/workflows/rubocop.yaml +1 -1
  4. data/.github/workflows/sus.yaml +1 -1
  5. data/CHANGELOG.md +10 -0
  6. data/Gemfile.lock +5 -5
  7. data/README.md +3 -1
  8. data/documentation/cli.md +225 -0
  9. data/documentation/configuration.md +57 -0
  10. data/lib/rsmp/cli/configuration.rb +30 -0
  11. data/lib/rsmp/cli.rb +18 -45
  12. data/lib/rsmp/collect/command_matcher.rb +13 -4
  13. data/lib/rsmp/collect/status_matcher.rb +14 -4
  14. data/lib/rsmp/command_list.rb +1 -1
  15. data/lib/rsmp/convert/export/json_schema/index.rb +64 -0
  16. data/lib/rsmp/convert/export/json_schema/items.rb +9 -1
  17. data/lib/rsmp/convert/export/json_schema/outputs.rb +65 -25
  18. data/lib/rsmp/convert/export/json_schema/values.rb +40 -11
  19. data/lib/rsmp/convert/export/json_schema.rb +3 -1
  20. data/lib/rsmp/message/sxl_codec.rb +194 -0
  21. data/lib/rsmp/message.rb +2 -0
  22. data/lib/rsmp/node/site/connections.rb +80 -0
  23. data/lib/rsmp/node/site/site.rb +21 -35
  24. data/lib/rsmp/node/supervisor/supervisor.rb +42 -0
  25. data/lib/rsmp/options/schemas/site.json +3 -0
  26. data/lib/rsmp/options/schemas/supervisor.json +1 -0
  27. data/lib/rsmp/options/site_options.rb +30 -21
  28. data/lib/rsmp/options/supervisor_options.rb +1 -0
  29. data/lib/rsmp/proxy/modules/receive.rb +3 -1
  30. data/lib/rsmp/proxy/modules/send.rb +26 -14
  31. data/lib/rsmp/proxy/proxy.rb +17 -0
  32. data/lib/rsmp/proxy/site/connection.rb +79 -0
  33. data/lib/rsmp/proxy/site/modules/commands.rb +24 -1
  34. data/lib/rsmp/proxy/site/site_proxy.rb +6 -15
  35. data/lib/rsmp/proxy/supervisor/modules/commands.rb +55 -0
  36. data/lib/rsmp/proxy/supervisor/modules/status.rb +13 -104
  37. data/lib/rsmp/proxy/supervisor/modules/status_updates.rb +148 -0
  38. data/lib/rsmp/proxy/supervisor/supervisor_proxy.rb +19 -0
  39. data/lib/rsmp/schema.rb +38 -1
  40. data/lib/rsmp/tlc/detector_logic.rb +2 -2
  41. data/lib/rsmp/tlc/modules/helpers.rb +0 -22
  42. data/lib/rsmp/tlc/modules/inputs.rb +4 -3
  43. data/lib/rsmp/tlc/modules/modes.rb +2 -2
  44. data/lib/rsmp/tlc/modules/plans.rb +7 -3
  45. data/lib/rsmp/tlc/modules/system.rb +1 -1
  46. data/lib/rsmp/tlc/proxy/control.rb +19 -19
  47. data/lib/rsmp/tlc/proxy/detectors.rb +3 -3
  48. data/lib/rsmp/tlc/proxy/io.rb +15 -12
  49. data/lib/rsmp/tlc/proxy/plans.rb +14 -14
  50. data/lib/rsmp/tlc/proxy/status.rb +9 -5
  51. data/lib/rsmp/tlc/proxy/system.rb +12 -6
  52. data/lib/rsmp/tlc/signal_group.rb +2 -2
  53. data/lib/rsmp/tlc/supervisor_interface.rb +42 -0
  54. data/lib/rsmp/tlc/traffic_controller_site.rb +1 -18
  55. data/lib/rsmp/version.rb +1 -1
  56. data/lib/rsmp.rb +4 -0
  57. data/schemas/core/3.1.4/command_response.json +11 -0
  58. data/schemas/core/3.1.5/command_response.json +11 -0
  59. data/schemas/core/3.2.0/command_response.json +11 -0
  60. data/schemas/core/3.2.1/command_response.json +11 -0
  61. data/schemas/core/3.2.2/command_response.json +11 -0
  62. data/schemas/core/3.3.0/command_response.json +11 -0
  63. data/schemas/tlc/1.0.10/alarms/A0008.json +21 -15
  64. data/schemas/tlc/1.0.10/alarms/A0201.json +26 -20
  65. data/schemas/tlc/1.0.10/alarms/A0202.json +26 -20
  66. data/schemas/tlc/1.0.10/alarms/A0301.json +69 -63
  67. data/schemas/tlc/1.0.10/alarms/A0302.json +87 -81
  68. data/schemas/tlc/1.0.10/commands/M0001.json +66 -60
  69. data/schemas/tlc/1.0.10/commands/M0002.json +48 -42
  70. data/schemas/tlc/1.0.10/commands/M0003.json +48 -42
  71. data/schemas/tlc/1.0.10/commands/M0004.json +35 -29
  72. data/schemas/tlc/1.0.10/commands/M0005.json +48 -42
  73. data/schemas/tlc/1.0.10/commands/M0006.json +48 -42
  74. data/schemas/tlc/1.0.10/commands/M0007.json +35 -29
  75. data/schemas/tlc/1.0.10/commands/M0008.json +48 -42
  76. data/schemas/tlc/1.0.10/commands/M0010.json +35 -29
  77. data/schemas/tlc/1.0.10/commands/M0011.json +35 -29
  78. data/schemas/tlc/1.0.10/commands/M0012.json +35 -29
  79. data/schemas/tlc/1.0.10/commands/M0013.json +35 -29
  80. data/schemas/tlc/1.0.10/commands/M0019.json +61 -55
  81. data/schemas/tlc/1.0.10/commands/M0103.json +51 -45
  82. data/schemas/tlc/1.0.10/commands/M0104.json +100 -94
  83. data/schemas/tlc/1.0.10/commands/command_requests.json +995 -1
  84. data/schemas/tlc/1.0.10/defs/guards.json +19 -0
  85. data/schemas/tlc/1.0.10/sxl.yaml +56 -56
  86. data/schemas/tlc/1.0.10/sxl_index.json +226 -244
  87. data/schemas/tlc/1.0.13/alarms/A0008.json +21 -15
  88. data/schemas/tlc/1.0.13/alarms/A0201.json +26 -20
  89. data/schemas/tlc/1.0.13/alarms/A0202.json +26 -20
  90. data/schemas/tlc/1.0.13/alarms/A0301.json +69 -63
  91. data/schemas/tlc/1.0.13/alarms/A0302.json +87 -81
  92. data/schemas/tlc/1.0.13/commands/M0001.json +66 -60
  93. data/schemas/tlc/1.0.13/commands/M0002.json +48 -42
  94. data/schemas/tlc/1.0.13/commands/M0003.json +48 -42
  95. data/schemas/tlc/1.0.13/commands/M0004.json +35 -29
  96. data/schemas/tlc/1.0.13/commands/M0005.json +48 -42
  97. data/schemas/tlc/1.0.13/commands/M0006.json +48 -42
  98. data/schemas/tlc/1.0.13/commands/M0007.json +35 -29
  99. data/schemas/tlc/1.0.13/commands/M0008.json +48 -42
  100. data/schemas/tlc/1.0.13/commands/M0010.json +35 -29
  101. data/schemas/tlc/1.0.13/commands/M0011.json +35 -29
  102. data/schemas/tlc/1.0.13/commands/M0012.json +35 -29
  103. data/schemas/tlc/1.0.13/commands/M0013.json +35 -29
  104. data/schemas/tlc/1.0.13/commands/M0014.json +48 -42
  105. data/schemas/tlc/1.0.13/commands/M0015.json +48 -42
  106. data/schemas/tlc/1.0.13/commands/M0016.json +35 -29
  107. data/schemas/tlc/1.0.13/commands/M0017.json +35 -29
  108. data/schemas/tlc/1.0.13/commands/M0018.json +48 -42
  109. data/schemas/tlc/1.0.13/commands/M0019.json +61 -55
  110. data/schemas/tlc/1.0.13/commands/M0103.json +51 -45
  111. data/schemas/tlc/1.0.13/commands/M0104.json +100 -94
  112. data/schemas/tlc/1.0.13/commands/command_requests.json +1293 -1
  113. data/schemas/tlc/1.0.13/defs/guards.json +19 -0
  114. data/schemas/tlc/1.0.13/sxl.yaml +63 -63
  115. data/schemas/tlc/1.0.13/sxl_index.json +280 -298
  116. data/schemas/tlc/1.0.14/alarms/A0008.json +21 -15
  117. data/schemas/tlc/1.0.14/alarms/A0201.json +26 -20
  118. data/schemas/tlc/1.0.14/alarms/A0202.json +26 -20
  119. data/schemas/tlc/1.0.14/alarms/A0301.json +69 -63
  120. data/schemas/tlc/1.0.14/alarms/A0302.json +87 -81
  121. data/schemas/tlc/1.0.14/commands/M0001.json +66 -60
  122. data/schemas/tlc/1.0.14/commands/M0002.json +48 -42
  123. data/schemas/tlc/1.0.14/commands/M0003.json +48 -42
  124. data/schemas/tlc/1.0.14/commands/M0004.json +35 -29
  125. data/schemas/tlc/1.0.14/commands/M0005.json +48 -42
  126. data/schemas/tlc/1.0.14/commands/M0006.json +48 -42
  127. data/schemas/tlc/1.0.14/commands/M0007.json +35 -29
  128. data/schemas/tlc/1.0.14/commands/M0008.json +48 -42
  129. data/schemas/tlc/1.0.14/commands/M0010.json +35 -29
  130. data/schemas/tlc/1.0.14/commands/M0011.json +35 -29
  131. data/schemas/tlc/1.0.14/commands/M0012.json +35 -29
  132. data/schemas/tlc/1.0.14/commands/M0013.json +35 -29
  133. data/schemas/tlc/1.0.14/commands/M0014.json +48 -42
  134. data/schemas/tlc/1.0.14/commands/M0015.json +48 -42
  135. data/schemas/tlc/1.0.14/commands/M0016.json +35 -29
  136. data/schemas/tlc/1.0.14/commands/M0017.json +35 -29
  137. data/schemas/tlc/1.0.14/commands/M0018.json +48 -42
  138. data/schemas/tlc/1.0.14/commands/M0019.json +61 -55
  139. data/schemas/tlc/1.0.14/commands/M0103.json +51 -45
  140. data/schemas/tlc/1.0.14/commands/M0104.json +100 -94
  141. data/schemas/tlc/1.0.14/commands/command_requests.json +1293 -1
  142. data/schemas/tlc/1.0.14/defs/guards.json +19 -0
  143. data/schemas/tlc/1.0.14/sxl.yaml +63 -63
  144. data/schemas/tlc/1.0.14/sxl_index.json +304 -322
  145. data/schemas/tlc/1.0.15/alarms/A0008.json +21 -15
  146. data/schemas/tlc/1.0.15/alarms/A0201.json +26 -20
  147. data/schemas/tlc/1.0.15/alarms/A0202.json +26 -20
  148. data/schemas/tlc/1.0.15/alarms/A0301.json +69 -63
  149. data/schemas/tlc/1.0.15/alarms/A0302.json +87 -81
  150. data/schemas/tlc/1.0.15/commands/M0001.json +66 -60
  151. data/schemas/tlc/1.0.15/commands/M0002.json +48 -42
  152. data/schemas/tlc/1.0.15/commands/M0003.json +48 -42
  153. data/schemas/tlc/1.0.15/commands/M0004.json +35 -29
  154. data/schemas/tlc/1.0.15/commands/M0005.json +48 -42
  155. data/schemas/tlc/1.0.15/commands/M0006.json +48 -42
  156. data/schemas/tlc/1.0.15/commands/M0007.json +35 -29
  157. data/schemas/tlc/1.0.15/commands/M0008.json +48 -42
  158. data/schemas/tlc/1.0.15/commands/M0010.json +35 -29
  159. data/schemas/tlc/1.0.15/commands/M0011.json +35 -29
  160. data/schemas/tlc/1.0.15/commands/M0012.json +35 -29
  161. data/schemas/tlc/1.0.15/commands/M0013.json +35 -29
  162. data/schemas/tlc/1.0.15/commands/M0014.json +48 -42
  163. data/schemas/tlc/1.0.15/commands/M0015.json +48 -42
  164. data/schemas/tlc/1.0.15/commands/M0016.json +35 -29
  165. data/schemas/tlc/1.0.15/commands/M0017.json +35 -29
  166. data/schemas/tlc/1.0.15/commands/M0018.json +48 -42
  167. data/schemas/tlc/1.0.15/commands/M0019.json +61 -55
  168. data/schemas/tlc/1.0.15/commands/M0020.json +61 -55
  169. data/schemas/tlc/1.0.15/commands/M0021.json +35 -29
  170. data/schemas/tlc/1.0.15/commands/M0103.json +51 -45
  171. data/schemas/tlc/1.0.15/commands/M0104.json +100 -94
  172. data/schemas/tlc/1.0.15/commands/command_requests.json +1425 -1
  173. data/schemas/tlc/1.0.15/defs/guards.json +19 -0
  174. data/schemas/tlc/1.0.15/sxl.yaml +66 -66
  175. data/schemas/tlc/1.0.15/sxl_index.json +330 -350
  176. data/schemas/tlc/1.0.7/alarms/A0008.json +21 -15
  177. data/schemas/tlc/1.0.7/alarms/A0201.json +26 -20
  178. data/schemas/tlc/1.0.7/alarms/A0202.json +26 -20
  179. data/schemas/tlc/1.0.7/alarms/A0301.json +69 -63
  180. data/schemas/tlc/1.0.7/alarms/A0302.json +87 -81
  181. data/schemas/tlc/1.0.7/commands/M0001.json +66 -60
  182. data/schemas/tlc/1.0.7/commands/M0002.json +48 -42
  183. data/schemas/tlc/1.0.7/commands/M0003.json +48 -42
  184. data/schemas/tlc/1.0.7/commands/M0004.json +35 -29
  185. data/schemas/tlc/1.0.7/commands/M0005.json +48 -42
  186. data/schemas/tlc/1.0.7/commands/M0006.json +48 -42
  187. data/schemas/tlc/1.0.7/commands/M0007.json +35 -29
  188. data/schemas/tlc/1.0.7/commands/M0008.json +48 -42
  189. data/schemas/tlc/1.0.7/commands/M0010.json +35 -29
  190. data/schemas/tlc/1.0.7/commands/M0011.json +35 -29
  191. data/schemas/tlc/1.0.7/commands/M0019.json +61 -55
  192. data/schemas/tlc/1.0.7/commands/M0103.json +51 -45
  193. data/schemas/tlc/1.0.7/commands/M0104.json +100 -94
  194. data/schemas/tlc/1.0.7/commands/command_requests.json +895 -1
  195. data/schemas/tlc/1.0.7/defs/guards.json +19 -0
  196. data/schemas/tlc/1.0.7/sxl.yaml +58 -58
  197. data/schemas/tlc/1.0.7/sxl_index.json +228 -246
  198. data/schemas/tlc/1.0.8/alarms/A0008.json +21 -15
  199. data/schemas/tlc/1.0.8/alarms/A0201.json +26 -20
  200. data/schemas/tlc/1.0.8/alarms/A0202.json +26 -20
  201. data/schemas/tlc/1.0.8/alarms/A0301.json +69 -63
  202. data/schemas/tlc/1.0.8/alarms/A0302.json +87 -81
  203. data/schemas/tlc/1.0.8/commands/M0001.json +66 -60
  204. data/schemas/tlc/1.0.8/commands/M0002.json +48 -42
  205. data/schemas/tlc/1.0.8/commands/M0003.json +48 -42
  206. data/schemas/tlc/1.0.8/commands/M0004.json +35 -29
  207. data/schemas/tlc/1.0.8/commands/M0005.json +48 -42
  208. data/schemas/tlc/1.0.8/commands/M0006.json +48 -42
  209. data/schemas/tlc/1.0.8/commands/M0007.json +35 -29
  210. data/schemas/tlc/1.0.8/commands/M0008.json +48 -42
  211. data/schemas/tlc/1.0.8/commands/M0010.json +35 -29
  212. data/schemas/tlc/1.0.8/commands/M0011.json +35 -29
  213. data/schemas/tlc/1.0.8/commands/M0012.json +35 -29
  214. data/schemas/tlc/1.0.8/commands/M0013.json +35 -29
  215. data/schemas/tlc/1.0.8/commands/M0019.json +61 -55
  216. data/schemas/tlc/1.0.8/commands/M0103.json +51 -45
  217. data/schemas/tlc/1.0.8/commands/M0104.json +100 -94
  218. data/schemas/tlc/1.0.8/commands/command_requests.json +995 -1
  219. data/schemas/tlc/1.0.8/defs/guards.json +19 -0
  220. data/schemas/tlc/1.0.8/sxl.yaml +56 -56
  221. data/schemas/tlc/1.0.8/sxl_index.json +226 -244
  222. data/schemas/tlc/1.0.9/alarms/A0008.json +21 -15
  223. data/schemas/tlc/1.0.9/alarms/A0201.json +26 -20
  224. data/schemas/tlc/1.0.9/alarms/A0202.json +26 -20
  225. data/schemas/tlc/1.0.9/alarms/A0301.json +69 -63
  226. data/schemas/tlc/1.0.9/alarms/A0302.json +87 -81
  227. data/schemas/tlc/1.0.9/commands/M0001.json +66 -60
  228. data/schemas/tlc/1.0.9/commands/M0002.json +48 -42
  229. data/schemas/tlc/1.0.9/commands/M0003.json +48 -42
  230. data/schemas/tlc/1.0.9/commands/M0004.json +35 -29
  231. data/schemas/tlc/1.0.9/commands/M0005.json +48 -42
  232. data/schemas/tlc/1.0.9/commands/M0006.json +48 -42
  233. data/schemas/tlc/1.0.9/commands/M0007.json +35 -29
  234. data/schemas/tlc/1.0.9/commands/M0008.json +48 -42
  235. data/schemas/tlc/1.0.9/commands/M0010.json +35 -29
  236. data/schemas/tlc/1.0.9/commands/M0011.json +35 -29
  237. data/schemas/tlc/1.0.9/commands/M0012.json +35 -29
  238. data/schemas/tlc/1.0.9/commands/M0013.json +35 -29
  239. data/schemas/tlc/1.0.9/commands/M0019.json +61 -55
  240. data/schemas/tlc/1.0.9/commands/M0103.json +51 -45
  241. data/schemas/tlc/1.0.9/commands/M0104.json +100 -94
  242. data/schemas/tlc/1.0.9/commands/command_requests.json +995 -1
  243. data/schemas/tlc/1.0.9/defs/guards.json +19 -0
  244. data/schemas/tlc/1.0.9/sxl.yaml +56 -56
  245. data/schemas/tlc/1.0.9/sxl_index.json +226 -244
  246. data/schemas/tlc/1.1.0/alarms/A0007.json +25 -19
  247. data/schemas/tlc/1.1.0/alarms/A0008.json +21 -15
  248. data/schemas/tlc/1.1.0/alarms/A0201.json +26 -20
  249. data/schemas/tlc/1.1.0/alarms/A0202.json +26 -20
  250. data/schemas/tlc/1.1.0/alarms/A0301.json +69 -63
  251. data/schemas/tlc/1.1.0/alarms/A0302.json +87 -81
  252. data/schemas/tlc/1.1.0/alarms/A0303.json +69 -63
  253. data/schemas/tlc/1.1.0/alarms/A0304.json +87 -81
  254. data/schemas/tlc/1.1.0/commands/M0001.json +66 -60
  255. data/schemas/tlc/1.1.0/commands/M0002.json +48 -42
  256. data/schemas/tlc/1.1.0/commands/M0003.json +48 -42
  257. data/schemas/tlc/1.1.0/commands/M0004.json +35 -29
  258. data/schemas/tlc/1.1.0/commands/M0005.json +48 -42
  259. data/schemas/tlc/1.1.0/commands/M0006.json +48 -42
  260. data/schemas/tlc/1.1.0/commands/M0007.json +35 -29
  261. data/schemas/tlc/1.1.0/commands/M0008.json +48 -42
  262. data/schemas/tlc/1.1.0/commands/M0010.json +35 -29
  263. data/schemas/tlc/1.1.0/commands/M0011.json +35 -29
  264. data/schemas/tlc/1.1.0/commands/M0012.json +35 -29
  265. data/schemas/tlc/1.1.0/commands/M0013.json +35 -29
  266. data/schemas/tlc/1.1.0/commands/M0014.json +48 -42
  267. data/schemas/tlc/1.1.0/commands/M0015.json +48 -42
  268. data/schemas/tlc/1.1.0/commands/M0016.json +35 -29
  269. data/schemas/tlc/1.1.0/commands/M0017.json +35 -29
  270. data/schemas/tlc/1.1.0/commands/M0018.json +48 -42
  271. data/schemas/tlc/1.1.0/commands/M0019.json +61 -55
  272. data/schemas/tlc/1.1.0/commands/M0020.json +61 -55
  273. data/schemas/tlc/1.1.0/commands/M0021.json +35 -29
  274. data/schemas/tlc/1.1.0/commands/M0022.json +194 -188
  275. data/schemas/tlc/1.1.0/commands/M0023.json +35 -29
  276. data/schemas/tlc/1.1.0/commands/M0103.json +51 -45
  277. data/schemas/tlc/1.1.0/commands/M0104.json +100 -94
  278. data/schemas/tlc/1.1.0/commands/command_requests.json +1525 -1
  279. data/schemas/tlc/1.1.0/defs/guards.json +19 -0
  280. data/schemas/tlc/1.1.0/statuses/S0033.json +2 -2
  281. data/schemas/tlc/1.1.0/sxl.yaml +75 -74
  282. data/schemas/tlc/1.1.0/sxl_index.json +391 -398
  283. data/schemas/tlc/1.2.0/alarms/A0007.json +25 -19
  284. data/schemas/tlc/1.2.0/alarms/A0008.json +21 -15
  285. data/schemas/tlc/1.2.0/alarms/A0201.json +26 -20
  286. data/schemas/tlc/1.2.0/alarms/A0202.json +26 -20
  287. data/schemas/tlc/1.2.0/alarms/A0301.json +69 -63
  288. data/schemas/tlc/1.2.0/alarms/A0302.json +87 -81
  289. data/schemas/tlc/1.2.0/alarms/A0303.json +69 -63
  290. data/schemas/tlc/1.2.0/alarms/A0304.json +87 -81
  291. data/schemas/tlc/1.2.0/commands/M0001.json +66 -60
  292. data/schemas/tlc/1.2.0/commands/M0002.json +48 -42
  293. data/schemas/tlc/1.2.0/commands/M0003.json +48 -42
  294. data/schemas/tlc/1.2.0/commands/M0004.json +35 -29
  295. data/schemas/tlc/1.2.0/commands/M0005.json +48 -42
  296. data/schemas/tlc/1.2.0/commands/M0006.json +48 -42
  297. data/schemas/tlc/1.2.0/commands/M0007.json +35 -29
  298. data/schemas/tlc/1.2.0/commands/M0008.json +48 -42
  299. data/schemas/tlc/1.2.0/commands/M0010.json +35 -29
  300. data/schemas/tlc/1.2.0/commands/M0011.json +35 -29
  301. data/schemas/tlc/1.2.0/commands/M0012.json +35 -29
  302. data/schemas/tlc/1.2.0/commands/M0013.json +35 -29
  303. data/schemas/tlc/1.2.0/commands/M0014.json +48 -42
  304. data/schemas/tlc/1.2.0/commands/M0015.json +48 -42
  305. data/schemas/tlc/1.2.0/commands/M0016.json +35 -29
  306. data/schemas/tlc/1.2.0/commands/M0017.json +35 -29
  307. data/schemas/tlc/1.2.0/commands/M0018.json +48 -42
  308. data/schemas/tlc/1.2.0/commands/M0019.json +61 -55
  309. data/schemas/tlc/1.2.0/commands/M0020.json +61 -55
  310. data/schemas/tlc/1.2.0/commands/M0021.json +35 -29
  311. data/schemas/tlc/1.2.0/commands/M0022.json +194 -188
  312. data/schemas/tlc/1.2.0/commands/M0023.json +35 -29
  313. data/schemas/tlc/1.2.0/commands/M0103.json +51 -45
  314. data/schemas/tlc/1.2.0/commands/M0104.json +100 -94
  315. data/schemas/tlc/1.2.0/commands/command_requests.json +1525 -1
  316. data/schemas/tlc/1.2.0/defs/guards.json +19 -0
  317. data/schemas/tlc/1.2.0/statuses/S0033.json +2 -2
  318. data/schemas/tlc/1.2.0/sxl.yaml +77 -76
  319. data/schemas/tlc/1.2.0/sxl_index.json +401 -397
  320. data/schemas/tlc/1.2.1/alarms/A0007.json +25 -19
  321. data/schemas/tlc/1.2.1/alarms/A0008.json +21 -15
  322. data/schemas/tlc/1.2.1/alarms/A0201.json +26 -20
  323. data/schemas/tlc/1.2.1/alarms/A0202.json +26 -20
  324. data/schemas/tlc/1.2.1/alarms/A0301.json +69 -63
  325. data/schemas/tlc/1.2.1/alarms/A0302.json +87 -81
  326. data/schemas/tlc/1.2.1/alarms/A0303.json +69 -63
  327. data/schemas/tlc/1.2.1/alarms/A0304.json +87 -81
  328. data/schemas/tlc/1.2.1/commands/M0001.json +66 -60
  329. data/schemas/tlc/1.2.1/commands/M0002.json +48 -42
  330. data/schemas/tlc/1.2.1/commands/M0003.json +48 -42
  331. data/schemas/tlc/1.2.1/commands/M0004.json +35 -29
  332. data/schemas/tlc/1.2.1/commands/M0005.json +48 -42
  333. data/schemas/tlc/1.2.1/commands/M0006.json +48 -42
  334. data/schemas/tlc/1.2.1/commands/M0007.json +35 -29
  335. data/schemas/tlc/1.2.1/commands/M0008.json +48 -42
  336. data/schemas/tlc/1.2.1/commands/M0010.json +35 -29
  337. data/schemas/tlc/1.2.1/commands/M0011.json +35 -29
  338. data/schemas/tlc/1.2.1/commands/M0012.json +35 -29
  339. data/schemas/tlc/1.2.1/commands/M0013.json +35 -29
  340. data/schemas/tlc/1.2.1/commands/M0014.json +48 -42
  341. data/schemas/tlc/1.2.1/commands/M0015.json +48 -42
  342. data/schemas/tlc/1.2.1/commands/M0016.json +35 -29
  343. data/schemas/tlc/1.2.1/commands/M0017.json +35 -29
  344. data/schemas/tlc/1.2.1/commands/M0018.json +48 -42
  345. data/schemas/tlc/1.2.1/commands/M0019.json +61 -55
  346. data/schemas/tlc/1.2.1/commands/M0020.json +61 -55
  347. data/schemas/tlc/1.2.1/commands/M0021.json +35 -29
  348. data/schemas/tlc/1.2.1/commands/M0022.json +194 -188
  349. data/schemas/tlc/1.2.1/commands/M0023.json +35 -29
  350. data/schemas/tlc/1.2.1/commands/M0103.json +51 -45
  351. data/schemas/tlc/1.2.1/commands/M0104.json +100 -94
  352. data/schemas/tlc/1.2.1/commands/command_requests.json +1525 -1
  353. data/schemas/tlc/1.2.1/defs/guards.json +19 -0
  354. data/schemas/tlc/1.2.1/statuses/S0033.json +2 -2
  355. data/schemas/tlc/1.2.1/sxl.yaml +77 -76
  356. data/schemas/tlc/1.2.1/sxl_index.json +401 -397
  357. data/schemas/tlc/1.3.0/alarms/A0007.json +25 -19
  358. data/schemas/tlc/1.3.0/alarms/A0008.json +21 -15
  359. data/schemas/tlc/1.3.0/alarms/A0201.json +26 -20
  360. data/schemas/tlc/1.3.0/alarms/A0202.json +26 -20
  361. data/schemas/tlc/1.3.0/alarms/A0301.json +69 -63
  362. data/schemas/tlc/1.3.0/alarms/A0302.json +87 -81
  363. data/schemas/tlc/1.3.0/alarms/A0303.json +70 -64
  364. data/schemas/tlc/1.3.0/alarms/A0304.json +88 -82
  365. data/schemas/tlc/1.3.0/commands/M0001.json +66 -60
  366. data/schemas/tlc/1.3.0/commands/M0002.json +48 -42
  367. data/schemas/tlc/1.3.0/commands/M0003.json +48 -42
  368. data/schemas/tlc/1.3.0/commands/M0004.json +35 -29
  369. data/schemas/tlc/1.3.0/commands/M0005.json +48 -42
  370. data/schemas/tlc/1.3.0/commands/M0006.json +48 -42
  371. data/schemas/tlc/1.3.0/commands/M0007.json +35 -29
  372. data/schemas/tlc/1.3.0/commands/M0008.json +61 -55
  373. data/schemas/tlc/1.3.0/commands/M0010.json +35 -29
  374. data/schemas/tlc/1.3.0/commands/M0011.json +35 -29
  375. data/schemas/tlc/1.3.0/commands/M0012.json +35 -29
  376. data/schemas/tlc/1.3.0/commands/M0013.json +36 -30
  377. data/schemas/tlc/1.3.0/commands/M0014.json +48 -42
  378. data/schemas/tlc/1.3.0/commands/M0015.json +48 -42
  379. data/schemas/tlc/1.3.0/commands/M0016.json +35 -29
  380. data/schemas/tlc/1.3.0/commands/M0017.json +35 -29
  381. data/schemas/tlc/1.3.0/commands/M0018.json +48 -42
  382. data/schemas/tlc/1.3.0/commands/M0019.json +61 -55
  383. data/schemas/tlc/1.3.0/commands/M0020.json +61 -55
  384. data/schemas/tlc/1.3.0/commands/M0021.json +35 -29
  385. data/schemas/tlc/1.3.0/commands/M0022.json +195 -189
  386. data/schemas/tlc/1.3.0/commands/M0023.json +35 -29
  387. data/schemas/tlc/1.3.0/commands/M0024.json +21 -15
  388. data/schemas/tlc/1.3.0/commands/M0103.json +51 -45
  389. data/schemas/tlc/1.3.0/commands/M0104.json +100 -94
  390. data/schemas/tlc/1.3.0/commands/command_requests.json +1559 -1
  391. data/schemas/tlc/1.3.0/defs/guards.json +19 -0
  392. data/schemas/tlc/1.3.0/statuses/S0001.json +4 -4
  393. data/schemas/tlc/1.3.0/statuses/S0005.json +3 -3
  394. data/schemas/tlc/1.3.0/statuses/S0006.json +2 -2
  395. data/schemas/tlc/1.3.0/statuses/S0007.json +1 -1
  396. data/schemas/tlc/1.3.0/statuses/S0008.json +1 -1
  397. data/schemas/tlc/1.3.0/statuses/S0009.json +1 -1
  398. data/schemas/tlc/1.3.0/statuses/S0010.json +1 -1
  399. data/schemas/tlc/1.3.0/statuses/S0011.json +1 -1
  400. data/schemas/tlc/1.3.0/statuses/S0012.json +1 -1
  401. data/schemas/tlc/1.3.0/statuses/S0013.json +1 -1
  402. data/schemas/tlc/1.3.0/statuses/S0014.json +1 -1
  403. data/schemas/tlc/1.3.0/statuses/S0015.json +1 -1
  404. data/schemas/tlc/1.3.0/statuses/S0016.json +1 -1
  405. data/schemas/tlc/1.3.0/statuses/S0017.json +1 -1
  406. data/schemas/tlc/1.3.0/statuses/S0019.json +1 -1
  407. data/schemas/tlc/1.3.0/statuses/S0020.json +1 -1
  408. data/schemas/tlc/1.3.0/statuses/S0025.json +2 -2
  409. data/schemas/tlc/1.3.0/statuses/S0027.json +1 -1
  410. data/schemas/tlc/1.3.0/statuses/S0032.json +2 -2
  411. data/schemas/tlc/1.3.0/statuses/S0033.json +5 -5
  412. data/schemas/tlc/1.3.0/statuses/S0034.json +1 -1
  413. data/schemas/tlc/1.3.0/statuses/S0035.json +1 -1
  414. data/schemas/tlc/1.3.0/statuses/S0091.json +1 -1
  415. data/schemas/tlc/1.3.0/statuses/S0092.json +1 -1
  416. data/schemas/tlc/1.3.0/statuses/S0096.json +6 -6
  417. data/schemas/tlc/1.3.0/statuses/S0201.json +1 -1
  418. data/schemas/tlc/1.3.0/statuses/S0202.json +1 -1
  419. data/schemas/tlc/1.3.0/statuses/S0203.json +1 -1
  420. data/schemas/tlc/1.3.0/statuses/S0204.json +9 -9
  421. data/schemas/tlc/1.3.0/statuses/S0205.json +1 -1
  422. data/schemas/tlc/1.3.0/statuses/S0206.json +1 -1
  423. data/schemas/tlc/1.3.0/statuses/S0207.json +1 -1
  424. data/schemas/tlc/1.3.0/statuses/S0208.json +9 -9
  425. data/schemas/tlc/1.3.0/sxl_index.json +408 -402
  426. metadata +8 -1
@@ -8,28 +8,34 @@
8
8
  ]
9
9
  }
10
10
  },
11
- "allOf" : [
12
- {
13
- "if" : {
14
- "properties" : {
15
- "n" : {
16
- "const" : "color"
11
+ "if" : {
12
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
13
+ },
14
+ "then" : {},
15
+ "else" : {
16
+ "allOf" : [
17
+ {
18
+ "if" : {
19
+ "properties" : {
20
+ "n" : {
21
+ "const" : "color"
22
+ }
17
23
  }
18
- }
19
- },
20
- "then" : {
21
- "properties" : {
22
- "v" : {
23
- "description" : "Color of lamp",
24
- "type" : "string",
25
- "enum" : [
26
- "green",
27
- "red",
28
- "yellow"
29
- ]
24
+ },
25
+ "then" : {
26
+ "properties" : {
27
+ "v" : {
28
+ "description" : "Color of lamp",
29
+ "type" : "string",
30
+ "enum" : [
31
+ "green",
32
+ "red",
33
+ "yellow"
34
+ ]
35
+ }
30
36
  }
31
37
  }
32
38
  }
33
- }
34
- ]
39
+ ]
40
+ }
35
41
  }
@@ -11,82 +11,88 @@
11
11
  ]
12
12
  }
13
13
  },
14
- "allOf" : [
15
- {
16
- "if" : {
17
- "properties" : {
18
- "n" : {
19
- "const" : "detector"
20
- }
21
- }
22
- },
23
- "then" : {
24
- "properties" : {
25
- "v" : {
26
- "description" : "Designation of the detector (hardware)",
27
- "type" : "string"
14
+ "if" : {
15
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
16
+ },
17
+ "then" : {},
18
+ "else" : {
19
+ "allOf" : [
20
+ {
21
+ "if" : {
22
+ "properties" : {
23
+ "n" : {
24
+ "const" : "detector"
25
+ }
28
26
  }
29
- }
30
- }
31
- },
32
- {
33
- "if" : {
34
- "properties" : {
35
- "n" : {
36
- "const" : "type"
27
+ },
28
+ "then" : {
29
+ "properties" : {
30
+ "v" : {
31
+ "description" : "Designation of the detector (hardware)",
32
+ "type" : "string"
33
+ }
37
34
  }
38
35
  }
39
36
  },
40
- "then" : {
41
- "properties" : {
42
- "v" : {
43
- "description" : "Type of detector",
44
- "type" : "string",
45
- "enum" : [
46
- "input",
47
- "loop"
48
- ]
37
+ {
38
+ "if" : {
39
+ "properties" : {
40
+ "n" : {
41
+ "const" : "type"
42
+ }
49
43
  }
50
- }
51
- }
52
- },
53
- {
54
- "if" : {
55
- "properties" : {
56
- "n" : {
57
- "const" : "errormode"
44
+ },
45
+ "then" : {
46
+ "properties" : {
47
+ "v" : {
48
+ "description" : "Type of detector",
49
+ "type" : "string",
50
+ "enum" : [
51
+ "input",
52
+ "loop"
53
+ ]
54
+ }
58
55
  }
59
56
  }
60
57
  },
61
- "then" : {
62
- "properties" : {
63
- "v" : {
64
- "description" : "Detector forced on/off while detector error",
65
- "type" : "string",
66
- "enum" : [
67
- "off",
68
- "on"
69
- ]
58
+ {
59
+ "if" : {
60
+ "properties" : {
61
+ "n" : {
62
+ "const" : "errormode"
63
+ }
70
64
  }
71
- }
72
- }
73
- },
74
- {
75
- "if" : {
76
- "properties" : {
77
- "n" : {
78
- "const" : "manual"
65
+ },
66
+ "then" : {
67
+ "properties" : {
68
+ "v" : {
69
+ "description" : "Detector forced on/off while detector error",
70
+ "type" : "string",
71
+ "enum" : [
72
+ "off",
73
+ "on"
74
+ ]
75
+ }
79
76
  }
80
77
  }
81
78
  },
82
- "then" : {
83
- "properties" : {
84
- "v" : {
85
- "description" : "Manually controlled detector logic (True/False)",
86
- "$ref" : "../defs/definitions.json#/boolean"
79
+ {
80
+ "if" : {
81
+ "properties" : {
82
+ "n" : {
83
+ "const" : "manual"
84
+ }
85
+ }
86
+ },
87
+ "then" : {
88
+ "properties" : {
89
+ "v" : {
90
+ "description" : "Manually controlled detector logic (True/False)",
91
+ "$ref" : "../defs/definitions.json#/boolean"
92
+ }
87
93
  }
88
94
  }
89
95
  }
90
- }
91
- ]
96
+ ]
97
+ }
92
98
  }
@@ -12,104 +12,110 @@
12
12
  ]
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "detector"
15
+ "if" : {
16
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
17
+ },
18
+ "then" : {},
19
+ "else" : {
20
+ "allOf" : [
21
+ {
22
+ "if" : {
23
+ "properties" : {
24
+ "n" : {
25
+ "const" : "detector"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Designation of the detector (hardware)",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "type"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Designation of the detector (hardware)",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Type of detector.",
45
- "type" : "string",
46
- "enum" : [
47
- "input",
48
- "loop"
49
- ]
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "type"
43
+ }
50
44
  }
51
- }
52
- }
53
- },
54
- {
55
- "if" : {
56
- "properties" : {
57
- "n" : {
58
- "const" : "errormode"
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Type of detector.",
50
+ "type" : "string",
51
+ "enum" : [
52
+ "input",
53
+ "loop"
54
+ ]
55
+ }
59
56
  }
60
57
  }
61
58
  },
62
- "then" : {
63
- "properties" : {
64
- "v" : {
65
- "description" : "Detector forced on/off while detector error",
66
- "type" : "string",
67
- "enum" : [
68
- "off",
69
- "on"
70
- ]
59
+ {
60
+ "if" : {
61
+ "properties" : {
62
+ "n" : {
63
+ "const" : "errormode"
64
+ }
71
65
  }
72
- }
73
- }
74
- },
75
- {
76
- "if" : {
77
- "properties" : {
78
- "n" : {
79
- "const" : "manual"
66
+ },
67
+ "then" : {
68
+ "properties" : {
69
+ "v" : {
70
+ "description" : "Detector forced on/off while detector error",
71
+ "type" : "string",
72
+ "enum" : [
73
+ "off",
74
+ "on"
75
+ ]
76
+ }
80
77
  }
81
78
  }
82
79
  },
83
- "then" : {
84
- "properties" : {
85
- "v" : {
86
- "description" : "Manually controlled detector logic (True/False)",
87
- "$ref" : "../defs/definitions.json#/boolean"
80
+ {
81
+ "if" : {
82
+ "properties" : {
83
+ "n" : {
84
+ "const" : "manual"
85
+ }
88
86
  }
89
- }
90
- }
91
- },
92
- {
93
- "if" : {
94
- "properties" : {
95
- "n" : {
96
- "const" : "logicerror"
87
+ },
88
+ "then" : {
89
+ "properties" : {
90
+ "v" : {
91
+ "description" : "Manually controlled detector logic (True/False)",
92
+ "$ref" : "../defs/definitions.json#/boolean"
93
+ }
97
94
  }
98
95
  }
99
96
  },
100
- "then" : {
101
- "properties" : {
102
- "v" : {
103
- "description" : "Type of logic error",
104
- "type" : "string",
105
- "enum" : [
106
- "always_off",
107
- "always_on",
108
- "intermittent"
109
- ]
97
+ {
98
+ "if" : {
99
+ "properties" : {
100
+ "n" : {
101
+ "const" : "logicerror"
102
+ }
103
+ }
104
+ },
105
+ "then" : {
106
+ "properties" : {
107
+ "v" : {
108
+ "description" : "Type of logic error",
109
+ "type" : "string",
110
+ "enum" : [
111
+ "always_off",
112
+ "always_on",
113
+ "intermittent"
114
+ ]
115
+ }
110
116
  }
111
117
  }
112
118
  }
113
- }
114
- ]
119
+ ]
120
+ }
115
121
  }
@@ -14,79 +14,85 @@
14
14
  "const" : "setValue"
15
15
  }
16
16
  },
17
- "allOf" : [
18
- {
19
- "if" : {
20
- "properties" : {
21
- "n" : {
22
- "const" : "status"
23
- }
24
- }
25
- },
26
- "then" : {
27
- "properties" : {
28
- "v" : {
29
- "description" : "Set operating mode",
30
- "type" : "string",
31
- "enum" : [
32
- "Dark",
33
- "NormalControl",
34
- "YellowFlash"
35
- ]
17
+ "if" : {
18
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
19
+ },
20
+ "then" : {},
21
+ "else" : {
22
+ "allOf" : [
23
+ {
24
+ "if" : {
25
+ "properties" : {
26
+ "n" : {
27
+ "const" : "status"
28
+ }
36
29
  }
37
- }
38
- }
39
- },
40
- {
41
- "if" : {
42
- "properties" : {
43
- "n" : {
44
- "const" : "securityCode"
30
+ },
31
+ "then" : {
32
+ "properties" : {
33
+ "v" : {
34
+ "description" : "Set operating mode",
35
+ "type" : "string",
36
+ "enum" : [
37
+ "Dark",
38
+ "NormalControl",
39
+ "YellowFlash"
40
+ ]
41
+ }
45
42
  }
46
43
  }
47
44
  },
48
- "then" : {
49
- "properties" : {
50
- "v" : {
51
- "description" : "Security code 2",
52
- "$ref" : "../defs/definitions.json#/string_list"
45
+ {
46
+ "if" : {
47
+ "properties" : {
48
+ "n" : {
49
+ "const" : "securityCode"
50
+ }
53
51
  }
54
- }
55
- }
56
- },
57
- {
58
- "if" : {
59
- "properties" : {
60
- "n" : {
61
- "const" : "timeout"
52
+ },
53
+ "then" : {
54
+ "properties" : {
55
+ "v" : {
56
+ "description" : "Security code 2",
57
+ "$ref" : "../defs/definitions.json#/string_list"
58
+ }
62
59
  }
63
60
  }
64
61
  },
65
- "then" : {
66
- "properties" : {
67
- "v" : {
68
- "description" : "Time in minutes until controller automatically reverts to previous functional position.\n0=no automatic return",
69
- "$ref" : "../defs/definitions.json#/integer_list"
62
+ {
63
+ "if" : {
64
+ "properties" : {
65
+ "n" : {
66
+ "const" : "timeout"
67
+ }
70
68
  }
71
- }
72
- }
73
- },
74
- {
75
- "if" : {
76
- "properties" : {
77
- "n" : {
78
- "const" : "intersection"
69
+ },
70
+ "then" : {
71
+ "properties" : {
72
+ "v" : {
73
+ "description" : "Time in minutes until controller automatically reverts to previous functional position.\n0=no automatic return",
74
+ "$ref" : "../defs/definitions.json#/integer_list"
75
+ }
79
76
  }
80
77
  }
81
78
  },
82
- "then" : {
83
- "properties" : {
84
- "v" : {
85
- "description" : "Intersection number",
86
- "$ref" : "../defs/definitions.json#/integer_list"
79
+ {
80
+ "if" : {
81
+ "properties" : {
82
+ "n" : {
83
+ "const" : "intersection"
84
+ }
85
+ }
86
+ },
87
+ "then" : {
88
+ "properties" : {
89
+ "v" : {
90
+ "description" : "Intersection number",
91
+ "$ref" : "../defs/definitions.json#/integer_list"
92
+ }
87
93
  }
88
94
  }
89
95
  }
90
- }
91
- ]
96
+ ]
97
+ }
92
98
  }
@@ -13,57 +13,63 @@
13
13
  "const" : "setPlan"
14
14
  }
15
15
  },
16
- "allOf" : [
17
- {
18
- "if" : {
19
- "properties" : {
20
- "n" : {
21
- "const" : "status"
22
- }
23
- }
24
- },
25
- "then" : {
26
- "properties" : {
27
- "v" : {
28
- "description" : "False: Controller uses time plan according to programming\nTrue: Controller uses time plan according to command",
29
- "$ref" : "../defs/definitions.json#/boolean"
16
+ "if" : {
17
+ "$ref" : "../defs/guards.json#/$defs/age_unknown_or_undefined"
18
+ },
19
+ "then" : {},
20
+ "else" : {
21
+ "allOf" : [
22
+ {
23
+ "if" : {
24
+ "properties" : {
25
+ "n" : {
26
+ "const" : "status"
27
+ }
30
28
  }
31
- }
32
- }
33
- },
34
- {
35
- "if" : {
36
- "properties" : {
37
- "n" : {
38
- "const" : "securityCode"
29
+ },
30
+ "then" : {
31
+ "properties" : {
32
+ "v" : {
33
+ "description" : "False: Controller uses time plan according to programming\nTrue: Controller uses time plan according to command",
34
+ "$ref" : "../defs/definitions.json#/boolean"
35
+ }
39
36
  }
40
37
  }
41
38
  },
42
- "then" : {
43
- "properties" : {
44
- "v" : {
45
- "description" : "Security code 2",
46
- "type" : "string"
39
+ {
40
+ "if" : {
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "securityCode"
44
+ }
47
45
  }
48
- }
49
- }
50
- },
51
- {
52
- "if" : {
53
- "properties" : {
54
- "n" : {
55
- "const" : "timeplan"
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "v" : {
50
+ "description" : "Security code 2",
51
+ "type" : "string"
52
+ }
56
53
  }
57
54
  }
58
55
  },
59
- "then" : {
60
- "properties" : {
61
- "v" : {
62
- "description" : "designation of time plan",
63
- "$ref" : "../defs/definitions.json#/integer"
56
+ {
57
+ "if" : {
58
+ "properties" : {
59
+ "n" : {
60
+ "const" : "timeplan"
61
+ }
62
+ }
63
+ },
64
+ "then" : {
65
+ "properties" : {
66
+ "v" : {
67
+ "description" : "designation of time plan",
68
+ "$ref" : "../defs/definitions.json#/integer"
69
+ }
64
70
  }
65
71
  }
66
72
  }
67
- }
68
- ]
73
+ ]
74
+ }
69
75
  }