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
@@ -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
  }