rsmp 0.46.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 (433) 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 +14 -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 +83 -0
  10. data/lib/rsmp/cli/configuration.rb +30 -0
  11. data/lib/rsmp/cli.rb +45 -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/config.rb +63 -0
  16. data/lib/rsmp/convert/export/json_schema/index.rb +64 -0
  17. data/lib/rsmp/convert/export/json_schema/items.rb +9 -1
  18. data/lib/rsmp/convert/export/json_schema/outputs.rb +65 -25
  19. data/lib/rsmp/convert/export/json_schema/values.rb +40 -11
  20. data/lib/rsmp/convert/export/json_schema.rb +3 -1
  21. data/lib/rsmp/message/sxl_codec.rb +194 -0
  22. data/lib/rsmp/message.rb +2 -0
  23. data/lib/rsmp/node/site/connections.rb +80 -0
  24. data/lib/rsmp/node/site/site.rb +21 -35
  25. data/lib/rsmp/node/supervisor/supervisor.rb +42 -0
  26. data/lib/rsmp/options/options.rb +21 -9
  27. data/lib/rsmp/options/schemas/config_common.json +129 -0
  28. data/lib/rsmp/options/schemas/log.json +71 -0
  29. data/lib/rsmp/options/schemas/site.json +12 -57
  30. data/lib/rsmp/options/schemas/supervisor.json +4 -29
  31. data/lib/rsmp/options/schemas/supervisor_site.json +19 -31
  32. data/lib/rsmp/options/schemas/traffic_controller_site.json +1 -2
  33. data/lib/rsmp/options/site_options.rb +31 -23
  34. data/lib/rsmp/options/supervisor_options.rb +1 -0
  35. data/lib/rsmp/proxy/modules/receive.rb +3 -1
  36. data/lib/rsmp/proxy/modules/send.rb +26 -14
  37. data/lib/rsmp/proxy/proxy.rb +17 -0
  38. data/lib/rsmp/proxy/site/connection.rb +79 -0
  39. data/lib/rsmp/proxy/site/modules/commands.rb +24 -1
  40. data/lib/rsmp/proxy/site/site_proxy.rb +6 -15
  41. data/lib/rsmp/proxy/supervisor/modules/commands.rb +55 -0
  42. data/lib/rsmp/proxy/supervisor/modules/message_buffer.rb +0 -5
  43. data/lib/rsmp/proxy/supervisor/modules/status.rb +13 -104
  44. data/lib/rsmp/proxy/supervisor/modules/status_updates.rb +148 -0
  45. data/lib/rsmp/proxy/supervisor/supervisor_proxy.rb +19 -0
  46. data/lib/rsmp/schema.rb +38 -1
  47. data/lib/rsmp/tlc/detector_logic.rb +2 -2
  48. data/lib/rsmp/tlc/modules/helpers.rb +0 -22
  49. data/lib/rsmp/tlc/modules/inputs.rb +4 -3
  50. data/lib/rsmp/tlc/modules/modes.rb +2 -2
  51. data/lib/rsmp/tlc/modules/plans.rb +7 -3
  52. data/lib/rsmp/tlc/modules/system.rb +1 -1
  53. data/lib/rsmp/tlc/proxy/control.rb +19 -19
  54. data/lib/rsmp/tlc/proxy/detectors.rb +3 -3
  55. data/lib/rsmp/tlc/proxy/io.rb +15 -12
  56. data/lib/rsmp/tlc/proxy/plans.rb +14 -14
  57. data/lib/rsmp/tlc/proxy/status.rb +9 -5
  58. data/lib/rsmp/tlc/proxy/system.rb +12 -6
  59. data/lib/rsmp/tlc/signal_group.rb +2 -2
  60. data/lib/rsmp/tlc/supervisor_interface.rb +42 -0
  61. data/lib/rsmp/tlc/traffic_controller_site.rb +1 -18
  62. data/lib/rsmp/version.rb +1 -1
  63. data/lib/rsmp.rb +5 -0
  64. data/schemas/core/3.1.4/command_response.json +11 -0
  65. data/schemas/core/3.1.5/command_response.json +11 -0
  66. data/schemas/core/3.2.0/command_response.json +11 -0
  67. data/schemas/core/3.2.1/command_response.json +11 -0
  68. data/schemas/core/3.2.2/command_response.json +11 -0
  69. data/schemas/core/3.3.0/command_response.json +11 -0
  70. data/schemas/tlc/1.0.10/alarms/A0008.json +21 -15
  71. data/schemas/tlc/1.0.10/alarms/A0201.json +26 -20
  72. data/schemas/tlc/1.0.10/alarms/A0202.json +26 -20
  73. data/schemas/tlc/1.0.10/alarms/A0301.json +69 -63
  74. data/schemas/tlc/1.0.10/alarms/A0302.json +87 -81
  75. data/schemas/tlc/1.0.10/commands/M0001.json +66 -60
  76. data/schemas/tlc/1.0.10/commands/M0002.json +48 -42
  77. data/schemas/tlc/1.0.10/commands/M0003.json +48 -42
  78. data/schemas/tlc/1.0.10/commands/M0004.json +35 -29
  79. data/schemas/tlc/1.0.10/commands/M0005.json +48 -42
  80. data/schemas/tlc/1.0.10/commands/M0006.json +48 -42
  81. data/schemas/tlc/1.0.10/commands/M0007.json +35 -29
  82. data/schemas/tlc/1.0.10/commands/M0008.json +48 -42
  83. data/schemas/tlc/1.0.10/commands/M0010.json +35 -29
  84. data/schemas/tlc/1.0.10/commands/M0011.json +35 -29
  85. data/schemas/tlc/1.0.10/commands/M0012.json +35 -29
  86. data/schemas/tlc/1.0.10/commands/M0013.json +35 -29
  87. data/schemas/tlc/1.0.10/commands/M0019.json +61 -55
  88. data/schemas/tlc/1.0.10/commands/M0103.json +51 -45
  89. data/schemas/tlc/1.0.10/commands/M0104.json +100 -94
  90. data/schemas/tlc/1.0.10/commands/command_requests.json +995 -1
  91. data/schemas/tlc/1.0.10/defs/guards.json +19 -0
  92. data/schemas/tlc/1.0.10/sxl.yaml +56 -56
  93. data/schemas/tlc/1.0.10/sxl_index.json +226 -244
  94. data/schemas/tlc/1.0.13/alarms/A0008.json +21 -15
  95. data/schemas/tlc/1.0.13/alarms/A0201.json +26 -20
  96. data/schemas/tlc/1.0.13/alarms/A0202.json +26 -20
  97. data/schemas/tlc/1.0.13/alarms/A0301.json +69 -63
  98. data/schemas/tlc/1.0.13/alarms/A0302.json +87 -81
  99. data/schemas/tlc/1.0.13/commands/M0001.json +66 -60
  100. data/schemas/tlc/1.0.13/commands/M0002.json +48 -42
  101. data/schemas/tlc/1.0.13/commands/M0003.json +48 -42
  102. data/schemas/tlc/1.0.13/commands/M0004.json +35 -29
  103. data/schemas/tlc/1.0.13/commands/M0005.json +48 -42
  104. data/schemas/tlc/1.0.13/commands/M0006.json +48 -42
  105. data/schemas/tlc/1.0.13/commands/M0007.json +35 -29
  106. data/schemas/tlc/1.0.13/commands/M0008.json +48 -42
  107. data/schemas/tlc/1.0.13/commands/M0010.json +35 -29
  108. data/schemas/tlc/1.0.13/commands/M0011.json +35 -29
  109. data/schemas/tlc/1.0.13/commands/M0012.json +35 -29
  110. data/schemas/tlc/1.0.13/commands/M0013.json +35 -29
  111. data/schemas/tlc/1.0.13/commands/M0014.json +48 -42
  112. data/schemas/tlc/1.0.13/commands/M0015.json +48 -42
  113. data/schemas/tlc/1.0.13/commands/M0016.json +35 -29
  114. data/schemas/tlc/1.0.13/commands/M0017.json +35 -29
  115. data/schemas/tlc/1.0.13/commands/M0018.json +48 -42
  116. data/schemas/tlc/1.0.13/commands/M0019.json +61 -55
  117. data/schemas/tlc/1.0.13/commands/M0103.json +51 -45
  118. data/schemas/tlc/1.0.13/commands/M0104.json +100 -94
  119. data/schemas/tlc/1.0.13/commands/command_requests.json +1293 -1
  120. data/schemas/tlc/1.0.13/defs/guards.json +19 -0
  121. data/schemas/tlc/1.0.13/sxl.yaml +63 -63
  122. data/schemas/tlc/1.0.13/sxl_index.json +280 -298
  123. data/schemas/tlc/1.0.14/alarms/A0008.json +21 -15
  124. data/schemas/tlc/1.0.14/alarms/A0201.json +26 -20
  125. data/schemas/tlc/1.0.14/alarms/A0202.json +26 -20
  126. data/schemas/tlc/1.0.14/alarms/A0301.json +69 -63
  127. data/schemas/tlc/1.0.14/alarms/A0302.json +87 -81
  128. data/schemas/tlc/1.0.14/commands/M0001.json +66 -60
  129. data/schemas/tlc/1.0.14/commands/M0002.json +48 -42
  130. data/schemas/tlc/1.0.14/commands/M0003.json +48 -42
  131. data/schemas/tlc/1.0.14/commands/M0004.json +35 -29
  132. data/schemas/tlc/1.0.14/commands/M0005.json +48 -42
  133. data/schemas/tlc/1.0.14/commands/M0006.json +48 -42
  134. data/schemas/tlc/1.0.14/commands/M0007.json +35 -29
  135. data/schemas/tlc/1.0.14/commands/M0008.json +48 -42
  136. data/schemas/tlc/1.0.14/commands/M0010.json +35 -29
  137. data/schemas/tlc/1.0.14/commands/M0011.json +35 -29
  138. data/schemas/tlc/1.0.14/commands/M0012.json +35 -29
  139. data/schemas/tlc/1.0.14/commands/M0013.json +35 -29
  140. data/schemas/tlc/1.0.14/commands/M0014.json +48 -42
  141. data/schemas/tlc/1.0.14/commands/M0015.json +48 -42
  142. data/schemas/tlc/1.0.14/commands/M0016.json +35 -29
  143. data/schemas/tlc/1.0.14/commands/M0017.json +35 -29
  144. data/schemas/tlc/1.0.14/commands/M0018.json +48 -42
  145. data/schemas/tlc/1.0.14/commands/M0019.json +61 -55
  146. data/schemas/tlc/1.0.14/commands/M0103.json +51 -45
  147. data/schemas/tlc/1.0.14/commands/M0104.json +100 -94
  148. data/schemas/tlc/1.0.14/commands/command_requests.json +1293 -1
  149. data/schemas/tlc/1.0.14/defs/guards.json +19 -0
  150. data/schemas/tlc/1.0.14/sxl.yaml +63 -63
  151. data/schemas/tlc/1.0.14/sxl_index.json +304 -322
  152. data/schemas/tlc/1.0.15/alarms/A0008.json +21 -15
  153. data/schemas/tlc/1.0.15/alarms/A0201.json +26 -20
  154. data/schemas/tlc/1.0.15/alarms/A0202.json +26 -20
  155. data/schemas/tlc/1.0.15/alarms/A0301.json +69 -63
  156. data/schemas/tlc/1.0.15/alarms/A0302.json +87 -81
  157. data/schemas/tlc/1.0.15/commands/M0001.json +66 -60
  158. data/schemas/tlc/1.0.15/commands/M0002.json +48 -42
  159. data/schemas/tlc/1.0.15/commands/M0003.json +48 -42
  160. data/schemas/tlc/1.0.15/commands/M0004.json +35 -29
  161. data/schemas/tlc/1.0.15/commands/M0005.json +48 -42
  162. data/schemas/tlc/1.0.15/commands/M0006.json +48 -42
  163. data/schemas/tlc/1.0.15/commands/M0007.json +35 -29
  164. data/schemas/tlc/1.0.15/commands/M0008.json +48 -42
  165. data/schemas/tlc/1.0.15/commands/M0010.json +35 -29
  166. data/schemas/tlc/1.0.15/commands/M0011.json +35 -29
  167. data/schemas/tlc/1.0.15/commands/M0012.json +35 -29
  168. data/schemas/tlc/1.0.15/commands/M0013.json +35 -29
  169. data/schemas/tlc/1.0.15/commands/M0014.json +48 -42
  170. data/schemas/tlc/1.0.15/commands/M0015.json +48 -42
  171. data/schemas/tlc/1.0.15/commands/M0016.json +35 -29
  172. data/schemas/tlc/1.0.15/commands/M0017.json +35 -29
  173. data/schemas/tlc/1.0.15/commands/M0018.json +48 -42
  174. data/schemas/tlc/1.0.15/commands/M0019.json +61 -55
  175. data/schemas/tlc/1.0.15/commands/M0020.json +61 -55
  176. data/schemas/tlc/1.0.15/commands/M0021.json +35 -29
  177. data/schemas/tlc/1.0.15/commands/M0103.json +51 -45
  178. data/schemas/tlc/1.0.15/commands/M0104.json +100 -94
  179. data/schemas/tlc/1.0.15/commands/command_requests.json +1425 -1
  180. data/schemas/tlc/1.0.15/defs/guards.json +19 -0
  181. data/schemas/tlc/1.0.15/sxl.yaml +66 -66
  182. data/schemas/tlc/1.0.15/sxl_index.json +330 -350
  183. data/schemas/tlc/1.0.7/alarms/A0008.json +21 -15
  184. data/schemas/tlc/1.0.7/alarms/A0201.json +26 -20
  185. data/schemas/tlc/1.0.7/alarms/A0202.json +26 -20
  186. data/schemas/tlc/1.0.7/alarms/A0301.json +69 -63
  187. data/schemas/tlc/1.0.7/alarms/A0302.json +87 -81
  188. data/schemas/tlc/1.0.7/commands/M0001.json +66 -60
  189. data/schemas/tlc/1.0.7/commands/M0002.json +48 -42
  190. data/schemas/tlc/1.0.7/commands/M0003.json +48 -42
  191. data/schemas/tlc/1.0.7/commands/M0004.json +35 -29
  192. data/schemas/tlc/1.0.7/commands/M0005.json +48 -42
  193. data/schemas/tlc/1.0.7/commands/M0006.json +48 -42
  194. data/schemas/tlc/1.0.7/commands/M0007.json +35 -29
  195. data/schemas/tlc/1.0.7/commands/M0008.json +48 -42
  196. data/schemas/tlc/1.0.7/commands/M0010.json +35 -29
  197. data/schemas/tlc/1.0.7/commands/M0011.json +35 -29
  198. data/schemas/tlc/1.0.7/commands/M0019.json +61 -55
  199. data/schemas/tlc/1.0.7/commands/M0103.json +51 -45
  200. data/schemas/tlc/1.0.7/commands/M0104.json +100 -94
  201. data/schemas/tlc/1.0.7/commands/command_requests.json +895 -1
  202. data/schemas/tlc/1.0.7/defs/guards.json +19 -0
  203. data/schemas/tlc/1.0.7/sxl.yaml +58 -58
  204. data/schemas/tlc/1.0.7/sxl_index.json +228 -246
  205. data/schemas/tlc/1.0.8/alarms/A0008.json +21 -15
  206. data/schemas/tlc/1.0.8/alarms/A0201.json +26 -20
  207. data/schemas/tlc/1.0.8/alarms/A0202.json +26 -20
  208. data/schemas/tlc/1.0.8/alarms/A0301.json +69 -63
  209. data/schemas/tlc/1.0.8/alarms/A0302.json +87 -81
  210. data/schemas/tlc/1.0.8/commands/M0001.json +66 -60
  211. data/schemas/tlc/1.0.8/commands/M0002.json +48 -42
  212. data/schemas/tlc/1.0.8/commands/M0003.json +48 -42
  213. data/schemas/tlc/1.0.8/commands/M0004.json +35 -29
  214. data/schemas/tlc/1.0.8/commands/M0005.json +48 -42
  215. data/schemas/tlc/1.0.8/commands/M0006.json +48 -42
  216. data/schemas/tlc/1.0.8/commands/M0007.json +35 -29
  217. data/schemas/tlc/1.0.8/commands/M0008.json +48 -42
  218. data/schemas/tlc/1.0.8/commands/M0010.json +35 -29
  219. data/schemas/tlc/1.0.8/commands/M0011.json +35 -29
  220. data/schemas/tlc/1.0.8/commands/M0012.json +35 -29
  221. data/schemas/tlc/1.0.8/commands/M0013.json +35 -29
  222. data/schemas/tlc/1.0.8/commands/M0019.json +61 -55
  223. data/schemas/tlc/1.0.8/commands/M0103.json +51 -45
  224. data/schemas/tlc/1.0.8/commands/M0104.json +100 -94
  225. data/schemas/tlc/1.0.8/commands/command_requests.json +995 -1
  226. data/schemas/tlc/1.0.8/defs/guards.json +19 -0
  227. data/schemas/tlc/1.0.8/sxl.yaml +56 -56
  228. data/schemas/tlc/1.0.8/sxl_index.json +226 -244
  229. data/schemas/tlc/1.0.9/alarms/A0008.json +21 -15
  230. data/schemas/tlc/1.0.9/alarms/A0201.json +26 -20
  231. data/schemas/tlc/1.0.9/alarms/A0202.json +26 -20
  232. data/schemas/tlc/1.0.9/alarms/A0301.json +69 -63
  233. data/schemas/tlc/1.0.9/alarms/A0302.json +87 -81
  234. data/schemas/tlc/1.0.9/commands/M0001.json +66 -60
  235. data/schemas/tlc/1.0.9/commands/M0002.json +48 -42
  236. data/schemas/tlc/1.0.9/commands/M0003.json +48 -42
  237. data/schemas/tlc/1.0.9/commands/M0004.json +35 -29
  238. data/schemas/tlc/1.0.9/commands/M0005.json +48 -42
  239. data/schemas/tlc/1.0.9/commands/M0006.json +48 -42
  240. data/schemas/tlc/1.0.9/commands/M0007.json +35 -29
  241. data/schemas/tlc/1.0.9/commands/M0008.json +48 -42
  242. data/schemas/tlc/1.0.9/commands/M0010.json +35 -29
  243. data/schemas/tlc/1.0.9/commands/M0011.json +35 -29
  244. data/schemas/tlc/1.0.9/commands/M0012.json +35 -29
  245. data/schemas/tlc/1.0.9/commands/M0013.json +35 -29
  246. data/schemas/tlc/1.0.9/commands/M0019.json +61 -55
  247. data/schemas/tlc/1.0.9/commands/M0103.json +51 -45
  248. data/schemas/tlc/1.0.9/commands/M0104.json +100 -94
  249. data/schemas/tlc/1.0.9/commands/command_requests.json +995 -1
  250. data/schemas/tlc/1.0.9/defs/guards.json +19 -0
  251. data/schemas/tlc/1.0.9/sxl.yaml +56 -56
  252. data/schemas/tlc/1.0.9/sxl_index.json +226 -244
  253. data/schemas/tlc/1.1.0/alarms/A0007.json +25 -19
  254. data/schemas/tlc/1.1.0/alarms/A0008.json +21 -15
  255. data/schemas/tlc/1.1.0/alarms/A0201.json +26 -20
  256. data/schemas/tlc/1.1.0/alarms/A0202.json +26 -20
  257. data/schemas/tlc/1.1.0/alarms/A0301.json +69 -63
  258. data/schemas/tlc/1.1.0/alarms/A0302.json +87 -81
  259. data/schemas/tlc/1.1.0/alarms/A0303.json +69 -63
  260. data/schemas/tlc/1.1.0/alarms/A0304.json +87 -81
  261. data/schemas/tlc/1.1.0/commands/M0001.json +66 -60
  262. data/schemas/tlc/1.1.0/commands/M0002.json +48 -42
  263. data/schemas/tlc/1.1.0/commands/M0003.json +48 -42
  264. data/schemas/tlc/1.1.0/commands/M0004.json +35 -29
  265. data/schemas/tlc/1.1.0/commands/M0005.json +48 -42
  266. data/schemas/tlc/1.1.0/commands/M0006.json +48 -42
  267. data/schemas/tlc/1.1.0/commands/M0007.json +35 -29
  268. data/schemas/tlc/1.1.0/commands/M0008.json +48 -42
  269. data/schemas/tlc/1.1.0/commands/M0010.json +35 -29
  270. data/schemas/tlc/1.1.0/commands/M0011.json +35 -29
  271. data/schemas/tlc/1.1.0/commands/M0012.json +35 -29
  272. data/schemas/tlc/1.1.0/commands/M0013.json +35 -29
  273. data/schemas/tlc/1.1.0/commands/M0014.json +48 -42
  274. data/schemas/tlc/1.1.0/commands/M0015.json +48 -42
  275. data/schemas/tlc/1.1.0/commands/M0016.json +35 -29
  276. data/schemas/tlc/1.1.0/commands/M0017.json +35 -29
  277. data/schemas/tlc/1.1.0/commands/M0018.json +48 -42
  278. data/schemas/tlc/1.1.0/commands/M0019.json +61 -55
  279. data/schemas/tlc/1.1.0/commands/M0020.json +61 -55
  280. data/schemas/tlc/1.1.0/commands/M0021.json +35 -29
  281. data/schemas/tlc/1.1.0/commands/M0022.json +194 -188
  282. data/schemas/tlc/1.1.0/commands/M0023.json +35 -29
  283. data/schemas/tlc/1.1.0/commands/M0103.json +51 -45
  284. data/schemas/tlc/1.1.0/commands/M0104.json +100 -94
  285. data/schemas/tlc/1.1.0/commands/command_requests.json +1525 -1
  286. data/schemas/tlc/1.1.0/defs/guards.json +19 -0
  287. data/schemas/tlc/1.1.0/statuses/S0033.json +2 -2
  288. data/schemas/tlc/1.1.0/sxl.yaml +75 -74
  289. data/schemas/tlc/1.1.0/sxl_index.json +391 -398
  290. data/schemas/tlc/1.2.0/alarms/A0007.json +25 -19
  291. data/schemas/tlc/1.2.0/alarms/A0008.json +21 -15
  292. data/schemas/tlc/1.2.0/alarms/A0201.json +26 -20
  293. data/schemas/tlc/1.2.0/alarms/A0202.json +26 -20
  294. data/schemas/tlc/1.2.0/alarms/A0301.json +69 -63
  295. data/schemas/tlc/1.2.0/alarms/A0302.json +87 -81
  296. data/schemas/tlc/1.2.0/alarms/A0303.json +69 -63
  297. data/schemas/tlc/1.2.0/alarms/A0304.json +87 -81
  298. data/schemas/tlc/1.2.0/commands/M0001.json +66 -60
  299. data/schemas/tlc/1.2.0/commands/M0002.json +48 -42
  300. data/schemas/tlc/1.2.0/commands/M0003.json +48 -42
  301. data/schemas/tlc/1.2.0/commands/M0004.json +35 -29
  302. data/schemas/tlc/1.2.0/commands/M0005.json +48 -42
  303. data/schemas/tlc/1.2.0/commands/M0006.json +48 -42
  304. data/schemas/tlc/1.2.0/commands/M0007.json +35 -29
  305. data/schemas/tlc/1.2.0/commands/M0008.json +48 -42
  306. data/schemas/tlc/1.2.0/commands/M0010.json +35 -29
  307. data/schemas/tlc/1.2.0/commands/M0011.json +35 -29
  308. data/schemas/tlc/1.2.0/commands/M0012.json +35 -29
  309. data/schemas/tlc/1.2.0/commands/M0013.json +35 -29
  310. data/schemas/tlc/1.2.0/commands/M0014.json +48 -42
  311. data/schemas/tlc/1.2.0/commands/M0015.json +48 -42
  312. data/schemas/tlc/1.2.0/commands/M0016.json +35 -29
  313. data/schemas/tlc/1.2.0/commands/M0017.json +35 -29
  314. data/schemas/tlc/1.2.0/commands/M0018.json +48 -42
  315. data/schemas/tlc/1.2.0/commands/M0019.json +61 -55
  316. data/schemas/tlc/1.2.0/commands/M0020.json +61 -55
  317. data/schemas/tlc/1.2.0/commands/M0021.json +35 -29
  318. data/schemas/tlc/1.2.0/commands/M0022.json +194 -188
  319. data/schemas/tlc/1.2.0/commands/M0023.json +35 -29
  320. data/schemas/tlc/1.2.0/commands/M0103.json +51 -45
  321. data/schemas/tlc/1.2.0/commands/M0104.json +100 -94
  322. data/schemas/tlc/1.2.0/commands/command_requests.json +1525 -1
  323. data/schemas/tlc/1.2.0/defs/guards.json +19 -0
  324. data/schemas/tlc/1.2.0/statuses/S0033.json +2 -2
  325. data/schemas/tlc/1.2.0/sxl.yaml +77 -76
  326. data/schemas/tlc/1.2.0/sxl_index.json +401 -397
  327. data/schemas/tlc/1.2.1/alarms/A0007.json +25 -19
  328. data/schemas/tlc/1.2.1/alarms/A0008.json +21 -15
  329. data/schemas/tlc/1.2.1/alarms/A0201.json +26 -20
  330. data/schemas/tlc/1.2.1/alarms/A0202.json +26 -20
  331. data/schemas/tlc/1.2.1/alarms/A0301.json +69 -63
  332. data/schemas/tlc/1.2.1/alarms/A0302.json +87 -81
  333. data/schemas/tlc/1.2.1/alarms/A0303.json +69 -63
  334. data/schemas/tlc/1.2.1/alarms/A0304.json +87 -81
  335. data/schemas/tlc/1.2.1/commands/M0001.json +66 -60
  336. data/schemas/tlc/1.2.1/commands/M0002.json +48 -42
  337. data/schemas/tlc/1.2.1/commands/M0003.json +48 -42
  338. data/schemas/tlc/1.2.1/commands/M0004.json +35 -29
  339. data/schemas/tlc/1.2.1/commands/M0005.json +48 -42
  340. data/schemas/tlc/1.2.1/commands/M0006.json +48 -42
  341. data/schemas/tlc/1.2.1/commands/M0007.json +35 -29
  342. data/schemas/tlc/1.2.1/commands/M0008.json +48 -42
  343. data/schemas/tlc/1.2.1/commands/M0010.json +35 -29
  344. data/schemas/tlc/1.2.1/commands/M0011.json +35 -29
  345. data/schemas/tlc/1.2.1/commands/M0012.json +35 -29
  346. data/schemas/tlc/1.2.1/commands/M0013.json +35 -29
  347. data/schemas/tlc/1.2.1/commands/M0014.json +48 -42
  348. data/schemas/tlc/1.2.1/commands/M0015.json +48 -42
  349. data/schemas/tlc/1.2.1/commands/M0016.json +35 -29
  350. data/schemas/tlc/1.2.1/commands/M0017.json +35 -29
  351. data/schemas/tlc/1.2.1/commands/M0018.json +48 -42
  352. data/schemas/tlc/1.2.1/commands/M0019.json +61 -55
  353. data/schemas/tlc/1.2.1/commands/M0020.json +61 -55
  354. data/schemas/tlc/1.2.1/commands/M0021.json +35 -29
  355. data/schemas/tlc/1.2.1/commands/M0022.json +194 -188
  356. data/schemas/tlc/1.2.1/commands/M0023.json +35 -29
  357. data/schemas/tlc/1.2.1/commands/M0103.json +51 -45
  358. data/schemas/tlc/1.2.1/commands/M0104.json +100 -94
  359. data/schemas/tlc/1.2.1/commands/command_requests.json +1525 -1
  360. data/schemas/tlc/1.2.1/defs/guards.json +19 -0
  361. data/schemas/tlc/1.2.1/statuses/S0033.json +2 -2
  362. data/schemas/tlc/1.2.1/sxl.yaml +77 -76
  363. data/schemas/tlc/1.2.1/sxl_index.json +401 -397
  364. data/schemas/tlc/1.3.0/alarms/A0007.json +25 -19
  365. data/schemas/tlc/1.3.0/alarms/A0008.json +21 -15
  366. data/schemas/tlc/1.3.0/alarms/A0201.json +26 -20
  367. data/schemas/tlc/1.3.0/alarms/A0202.json +26 -20
  368. data/schemas/tlc/1.3.0/alarms/A0301.json +69 -63
  369. data/schemas/tlc/1.3.0/alarms/A0302.json +87 -81
  370. data/schemas/tlc/1.3.0/alarms/A0303.json +70 -64
  371. data/schemas/tlc/1.3.0/alarms/A0304.json +88 -82
  372. data/schemas/tlc/1.3.0/commands/M0001.json +66 -60
  373. data/schemas/tlc/1.3.0/commands/M0002.json +48 -42
  374. data/schemas/tlc/1.3.0/commands/M0003.json +48 -42
  375. data/schemas/tlc/1.3.0/commands/M0004.json +35 -29
  376. data/schemas/tlc/1.3.0/commands/M0005.json +48 -42
  377. data/schemas/tlc/1.3.0/commands/M0006.json +48 -42
  378. data/schemas/tlc/1.3.0/commands/M0007.json +35 -29
  379. data/schemas/tlc/1.3.0/commands/M0008.json +61 -55
  380. data/schemas/tlc/1.3.0/commands/M0010.json +35 -29
  381. data/schemas/tlc/1.3.0/commands/M0011.json +35 -29
  382. data/schemas/tlc/1.3.0/commands/M0012.json +35 -29
  383. data/schemas/tlc/1.3.0/commands/M0013.json +36 -30
  384. data/schemas/tlc/1.3.0/commands/M0014.json +48 -42
  385. data/schemas/tlc/1.3.0/commands/M0015.json +48 -42
  386. data/schemas/tlc/1.3.0/commands/M0016.json +35 -29
  387. data/schemas/tlc/1.3.0/commands/M0017.json +35 -29
  388. data/schemas/tlc/1.3.0/commands/M0018.json +48 -42
  389. data/schemas/tlc/1.3.0/commands/M0019.json +61 -55
  390. data/schemas/tlc/1.3.0/commands/M0020.json +61 -55
  391. data/schemas/tlc/1.3.0/commands/M0021.json +35 -29
  392. data/schemas/tlc/1.3.0/commands/M0022.json +195 -189
  393. data/schemas/tlc/1.3.0/commands/M0023.json +35 -29
  394. data/schemas/tlc/1.3.0/commands/M0024.json +21 -15
  395. data/schemas/tlc/1.3.0/commands/M0103.json +51 -45
  396. data/schemas/tlc/1.3.0/commands/M0104.json +100 -94
  397. data/schemas/tlc/1.3.0/commands/command_requests.json +1559 -1
  398. data/schemas/tlc/1.3.0/defs/guards.json +19 -0
  399. data/schemas/tlc/1.3.0/statuses/S0001.json +4 -4
  400. data/schemas/tlc/1.3.0/statuses/S0005.json +3 -3
  401. data/schemas/tlc/1.3.0/statuses/S0006.json +2 -2
  402. data/schemas/tlc/1.3.0/statuses/S0007.json +1 -1
  403. data/schemas/tlc/1.3.0/statuses/S0008.json +1 -1
  404. data/schemas/tlc/1.3.0/statuses/S0009.json +1 -1
  405. data/schemas/tlc/1.3.0/statuses/S0010.json +1 -1
  406. data/schemas/tlc/1.3.0/statuses/S0011.json +1 -1
  407. data/schemas/tlc/1.3.0/statuses/S0012.json +1 -1
  408. data/schemas/tlc/1.3.0/statuses/S0013.json +1 -1
  409. data/schemas/tlc/1.3.0/statuses/S0014.json +1 -1
  410. data/schemas/tlc/1.3.0/statuses/S0015.json +1 -1
  411. data/schemas/tlc/1.3.0/statuses/S0016.json +1 -1
  412. data/schemas/tlc/1.3.0/statuses/S0017.json +1 -1
  413. data/schemas/tlc/1.3.0/statuses/S0019.json +1 -1
  414. data/schemas/tlc/1.3.0/statuses/S0020.json +1 -1
  415. data/schemas/tlc/1.3.0/statuses/S0025.json +2 -2
  416. data/schemas/tlc/1.3.0/statuses/S0027.json +1 -1
  417. data/schemas/tlc/1.3.0/statuses/S0032.json +2 -2
  418. data/schemas/tlc/1.3.0/statuses/S0033.json +5 -5
  419. data/schemas/tlc/1.3.0/statuses/S0034.json +1 -1
  420. data/schemas/tlc/1.3.0/statuses/S0035.json +1 -1
  421. data/schemas/tlc/1.3.0/statuses/S0091.json +1 -1
  422. data/schemas/tlc/1.3.0/statuses/S0092.json +1 -1
  423. data/schemas/tlc/1.3.0/statuses/S0096.json +6 -6
  424. data/schemas/tlc/1.3.0/statuses/S0201.json +1 -1
  425. data/schemas/tlc/1.3.0/statuses/S0202.json +1 -1
  426. data/schemas/tlc/1.3.0/statuses/S0203.json +1 -1
  427. data/schemas/tlc/1.3.0/statuses/S0204.json +9 -9
  428. data/schemas/tlc/1.3.0/statuses/S0205.json +1 -1
  429. data/schemas/tlc/1.3.0/statuses/S0206.json +1 -1
  430. data/schemas/tlc/1.3.0/statuses/S0207.json +1 -1
  431. data/schemas/tlc/1.3.0/statuses/S0208.json +9 -9
  432. data/schemas/tlc/1.3.0/sxl_index.json +408 -402
  433. metadata +11 -1
@@ -12,40 +12,46 @@
12
12
  "const" : "setStop"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
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" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "False: No command (default)\nTrue: Order a signal group to red",
28
- "$ref" : "../defs/definitions.json#/boolean"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "False: No command (default)\nTrue: Order a signal group to red",
33
+ "$ref" : "../defs/definitions.json#/boolean"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setStart"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
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" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.\n\n1=Order signal group to green\n0=Order signal group to red\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both these examples could be sent in the same message as:\n\"5,4143,65:22,1,4\"\n\nSuch a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.\n\n1=Order signal group to green\n0=Order signal group to red\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both these examples could be sent in the same message as:\n\"5,4143,65:22,1,4\"\n\nSuch a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setInput"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
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" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon, \":\" is used in example below.\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both thease examples could be sent in the same message as:\n\"5,4143:65:22,1,4\"\n\nSuch a message would activate input 6,7,10,17,22 and deactivate input 5,11,24",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon, \":\" is used in example below.\n\nFormat: [Offset],[Bits to set],[Bits to unset]:...\n\nOffset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.\n\nExample 1:\n\"5, 4134, 65\" sets input 6,7,10,17 = on and 5,11 = off\n(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)\n\nExample 2:\n\"22, 1, 4\" sets input 22 = on and 24 = off\n(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)\n\nAnd both thease examples could be sent in the same message as:\n\"5,4143:65:22,1,4\"\n\nSuch a message would activate input 6,7,10,17,22 and deactivate input 5,11,24",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -13,57 +13,63 @@
13
13
  "const" : "setCommands"
14
14
  }
15
15
  },
16
- "allOf" : [
17
- {
18
- "if" : {
19
- "properties" : {
20
- "n" : {
21
- "const" : "plan"
22
- }
23
- }
24
- },
25
- "then" : {
26
- "properties" : {
27
- "v" : {
28
- "description" : "Plan to be changed",
29
- "$ref" : "../defs/definitions.json#/integer"
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" : "plan"
27
+ }
30
28
  }
31
- }
32
- }
33
- },
34
- {
35
- "if" : {
36
- "properties" : {
37
- "n" : {
38
- "const" : "status"
29
+ },
30
+ "then" : {
31
+ "properties" : {
32
+ "v" : {
33
+ "description" : "Plan to be changed",
34
+ "$ref" : "../defs/definitions.json#/integer"
35
+ }
39
36
  }
40
37
  }
41
38
  },
42
- "then" : {
43
- "properties" : {
44
- "v" : {
45
- "description" : "Dynamic bands.\nEach dynamic band are written as dd-ee where:\ndd=Dynamic band number (from 1-10)\nee=Extension in seconds in this band\n\nEach dynamic band is separated with a comma.\n\nE.g.\ndd-ee,dd-ee",
46
- "type" : "string"
39
+ {
40
+ "if" : {
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "status"
44
+ }
47
45
  }
48
- }
49
- }
50
- },
51
- {
52
- "if" : {
53
- "properties" : {
54
- "n" : {
55
- "const" : "securityCode"
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "v" : {
50
+ "description" : "Dynamic bands.\nEach dynamic band are written as dd-ee where:\ndd=Dynamic band number (from 1-10)\nee=Extension in seconds in this band\n\nEach dynamic band is separated with a comma.\n\nE.g.\ndd-ee,dd-ee",
51
+ "type" : "string"
52
+ }
56
53
  }
57
54
  }
58
55
  },
59
- "then" : {
60
- "properties" : {
61
- "v" : {
62
- "description" : "Security code 2",
63
- "type" : "string"
56
+ {
57
+ "if" : {
58
+ "properties" : {
59
+ "n" : {
60
+ "const" : "securityCode"
61
+ }
62
+ }
63
+ },
64
+ "then" : {
65
+ "properties" : {
66
+ "v" : {
67
+ "description" : "Security code 2",
68
+ "type" : "string"
69
+ }
64
70
  }
65
71
  }
66
72
  }
67
- }
68
- ]
73
+ ]
74
+ }
69
75
  }
@@ -13,57 +13,63 @@
13
13
  "const" : "setOffset"
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" : "Set offset time in seconds",
29
- "$ref" : "../defs/definitions.json#/integer"
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" : "plan"
29
+ },
30
+ "then" : {
31
+ "properties" : {
32
+ "v" : {
33
+ "description" : "Set offset time in seconds",
34
+ "$ref" : "../defs/definitions.json#/integer"
35
+ }
39
36
  }
40
37
  }
41
38
  },
42
- "then" : {
43
- "properties" : {
44
- "v" : {
45
- "description" : "Time plan nr",
46
- "$ref" : "../defs/definitions.json#/integer"
39
+ {
40
+ "if" : {
41
+ "properties" : {
42
+ "n" : {
43
+ "const" : "plan"
44
+ }
47
45
  }
48
- }
49
- }
50
- },
51
- {
52
- "if" : {
53
- "properties" : {
54
- "n" : {
55
- "const" : "securityCode"
46
+ },
47
+ "then" : {
48
+ "properties" : {
49
+ "v" : {
50
+ "description" : "Time plan nr",
51
+ "$ref" : "../defs/definitions.json#/integer"
52
+ }
56
53
  }
57
54
  }
58
55
  },
59
- "then" : {
60
- "properties" : {
61
- "v" : {
62
- "description" : "Security code 2",
63
- "type" : "string"
56
+ {
57
+ "if" : {
58
+ "properties" : {
59
+ "n" : {
60
+ "const" : "securityCode"
61
+ }
62
+ }
63
+ },
64
+ "then" : {
65
+ "properties" : {
66
+ "v" : {
67
+ "description" : "Security code 2",
68
+ "type" : "string"
69
+ }
64
70
  }
65
71
  }
66
72
  }
67
- }
68
- ]
73
+ ]
74
+ }
69
75
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setWeekTable"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
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" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Week time table. Defines time table to use for each week day\nEach segment is written as d-t where:\nd=day of week\nt=time table nr\n\nDay of week legend:\n0=Monday\n1=Tuesday\n2=Wednesday\n3=Thursday\n4=Friday\n5=Saturday\n6=Sunday\n\nEach segment is separated with a comma\n\nE.g.\nd-t,d-t",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Week time table. Defines time table to use for each week day\nEach segment is written as d-t where:\nd=day of week\nt=time table nr\n\nDay of week legend:\n0=Monday\n1=Tuesday\n2=Wednesday\n3=Thursday\n4=Friday\n5=Saturday\n6=Sunday\n\nEach segment is separated with a comma\n\nE.g.\nd-t,d-t",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }
@@ -12,40 +12,46 @@
12
12
  "const" : "setTimeTable"
13
13
  }
14
14
  },
15
- "allOf" : [
16
- {
17
- "if" : {
18
- "properties" : {
19
- "n" : {
20
- "const" : "status"
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" : "status"
26
+ }
21
27
  }
22
- }
23
- },
24
- "then" : {
25
- "properties" : {
26
- "v" : {
27
- "description" : "Time Table. Defines time tables.\nEach time definition is written as t-o-h-m where:\nt=time table nr (1-12)\no=function\nh=hour - switching time\nm=minute - switching minute\n\nFunction legend:\n0=no plan is selected by time table\n1=set plan 1\n...\n16= set plan 16\n\nhour and minute is using local time (not UTC)\n\nEach time definition is separated with a comma.\n\nE.g.\nt-o-h-m,t-o-h-m",
28
- "type" : "string"
29
- }
30
- }
31
- }
32
- },
33
- {
34
- "if" : {
35
- "properties" : {
36
- "n" : {
37
- "const" : "securityCode"
28
+ },
29
+ "then" : {
30
+ "properties" : {
31
+ "v" : {
32
+ "description" : "Time Table. Defines time tables.\nEach time definition is written as t-o-h-m where:\nt=time table nr (1-12)\no=function\nh=hour - switching time\nm=minute - switching minute\n\nFunction legend:\n0=no plan is selected by time table\n1=set plan 1\n...\n16= set plan 16\n\nhour and minute is using local time (not UTC)\n\nEach time definition is separated with a comma.\n\nE.g.\nt-o-h-m,t-o-h-m",
33
+ "type" : "string"
34
+ }
38
35
  }
39
36
  }
40
37
  },
41
- "then" : {
42
- "properties" : {
43
- "v" : {
44
- "description" : "Security code 2",
45
- "type" : "string"
38
+ {
39
+ "if" : {
40
+ "properties" : {
41
+ "n" : {
42
+ "const" : "securityCode"
43
+ }
44
+ }
45
+ },
46
+ "then" : {
47
+ "properties" : {
48
+ "v" : {
49
+ "description" : "Security code 2",
50
+ "type" : "string"
51
+ }
46
52
  }
47
53
  }
48
54
  }
49
- }
50
- ]
55
+ ]
56
+ }
51
57
  }