ovos-skill-mark1-ctrl 0.0.1__py3-none-any.whl

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 (437) hide show
  1. ovos_skill_mark1_ctrl/__init__.py +476 -0
  2. ovos_skill_mark1_ctrl/locale/ca-ES/animation.voc +2 -0
  3. ovos_skill_mark1_ctrl/locale/ca-ES/blink.voc +1 -0
  4. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.entity +13 -0
  5. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.error.dialog +1 -0
  6. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.intent +11 -0
  7. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.levels.value +9 -0
  8. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.not.found.dialog +2 -0
  9. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.not.found.final.dialog +2 -0
  10. ovos_skill_mark1_ctrl/locale/ca-ES/brightness.set.dialog +2 -0
  11. ovos_skill_mark1_ctrl/locale/ca-ES/color.entity +160 -0
  12. ovos_skill_mark1_ctrl/locale/ca-ES/color.need.dialog +3 -0
  13. ovos_skill_mark1_ctrl/locale/ca-ES/color.not.exist.dialog +2 -0
  14. ovos_skill_mark1_ctrl/locale/ca-ES/color.not.found.dialog +3 -0
  15. ovos_skill_mark1_ctrl/locale/ca-ES/colors.value +149 -0
  16. ovos_skill_mark1_ctrl/locale/ca-ES/crazy.voc +1 -0
  17. ovos_skill_mark1_ctrl/locale/ca-ES/custom.eye.color.intent +2 -0
  18. ovos_skill_mark1_ctrl/locale/ca-ES/down.voc +1 -0
  19. ovos_skill_mark1_ctrl/locale/ca-ES/enclosure.voc +4 -0
  20. ovos_skill_mark1_ctrl/locale/ca-ES/error.rgbvalue.dialog +2 -0
  21. ovos_skill_mark1_ctrl/locale/ca-ES/error.set.color.dialog +2 -0
  22. ovos_skill_mark1_ctrl/locale/ca-ES/eye.color.intent +6 -0
  23. ovos_skill_mark1_ctrl/locale/ca-ES/eyes.voc +2 -0
  24. ovos_skill_mark1_ctrl/locale/ca-ES/get.b.value.dialog +2 -0
  25. ovos_skill_mark1_ctrl/locale/ca-ES/get.g.value.dialog +2 -0
  26. ovos_skill_mark1_ctrl/locale/ca-ES/get.r.value.dialog +2 -0
  27. ovos_skill_mark1_ctrl/locale/ca-ES/left.voc +1 -0
  28. ovos_skill_mark1_ctrl/locale/ca-ES/listen.voc +2 -0
  29. ovos_skill_mark1_ctrl/locale/ca-ES/look.voc +2 -0
  30. ovos_skill_mark1_ctrl/locale/ca-ES/mouth.voc +1 -0
  31. ovos_skill_mark1_ctrl/locale/ca-ES/mute.voc +4 -0
  32. ovos_skill_mark1_ctrl/locale/ca-ES/narrow.voc +1 -0
  33. ovos_skill_mark1_ctrl/locale/ca-ES/perform.voc +1 -0
  34. ovos_skill_mark1_ctrl/locale/ca-ES/reboot.voc +1 -0
  35. ovos_skill_mark1_ctrl/locale/ca-ES/reset.voc +4 -0
  36. ovos_skill_mark1_ctrl/locale/ca-ES/right.voc +1 -0
  37. ovos_skill_mark1_ctrl/locale/ca-ES/set.color.success.dialog +3 -0
  38. ovos_skill_mark1_ctrl/locale/ca-ES/set.custom.color.dialog +1 -0
  39. ovos_skill_mark1_ctrl/locale/ca-ES/set.default.eye.color.dialog +1 -0
  40. ovos_skill_mark1_ctrl/locale/ca-ES/smile.voc +2 -0
  41. ovos_skill_mark1_ctrl/locale/ca-ES/spin.voc +1 -0
  42. ovos_skill_mark1_ctrl/locale/ca-ES/system.voc +2 -0
  43. ovos_skill_mark1_ctrl/locale/ca-ES/think.voc +2 -0
  44. ovos_skill_mark1_ctrl/locale/ca-ES/unmute.voc +3 -0
  45. ovos_skill_mark1_ctrl/locale/ca-ES/up.voc +1 -0
  46. ovos_skill_mark1_ctrl/locale/da-DK/animation.voc +2 -0
  47. ovos_skill_mark1_ctrl/locale/da-DK/blink.voc +1 -0
  48. ovos_skill_mark1_ctrl/locale/da-DK/brightness.error.dialog +1 -0
  49. ovos_skill_mark1_ctrl/locale/da-DK/brightness.intent +12 -0
  50. ovos_skill_mark1_ctrl/locale/da-DK/brightness.not.found.dialog +2 -0
  51. ovos_skill_mark1_ctrl/locale/da-DK/brightness.not.found.final.dialog +2 -0
  52. ovos_skill_mark1_ctrl/locale/da-DK/brightness.set.dialog +2 -0
  53. ovos_skill_mark1_ctrl/locale/da-DK/color.need.dialog +3 -0
  54. ovos_skill_mark1_ctrl/locale/da-DK/color.not.exist.dialog +2 -0
  55. ovos_skill_mark1_ctrl/locale/da-DK/color.not.found.dialog +3 -0
  56. ovos_skill_mark1_ctrl/locale/da-DK/crazy.voc +1 -0
  57. ovos_skill_mark1_ctrl/locale/da-DK/custom.eye.color.intent +2 -0
  58. ovos_skill_mark1_ctrl/locale/da-DK/down.voc +1 -0
  59. ovos_skill_mark1_ctrl/locale/da-DK/enclosure.voc +4 -0
  60. ovos_skill_mark1_ctrl/locale/da-DK/error.rgbvalue.dialog +2 -0
  61. ovos_skill_mark1_ctrl/locale/da-DK/error.set.color.dialog +2 -0
  62. ovos_skill_mark1_ctrl/locale/da-DK/eye.color.intent +6 -0
  63. ovos_skill_mark1_ctrl/locale/da-DK/eyes.voc +2 -0
  64. ovos_skill_mark1_ctrl/locale/da-DK/get.b.value.dialog +2 -0
  65. ovos_skill_mark1_ctrl/locale/da-DK/get.g.value.dialog +2 -0
  66. ovos_skill_mark1_ctrl/locale/da-DK/get.r.value.dialog +2 -0
  67. ovos_skill_mark1_ctrl/locale/da-DK/left.voc +1 -0
  68. ovos_skill_mark1_ctrl/locale/da-DK/listen.voc +2 -0
  69. ovos_skill_mark1_ctrl/locale/da-DK/look.voc +2 -0
  70. ovos_skill_mark1_ctrl/locale/da-DK/mouth.voc +1 -0
  71. ovos_skill_mark1_ctrl/locale/da-DK/mute.voc +4 -0
  72. ovos_skill_mark1_ctrl/locale/da-DK/narrow.voc +1 -0
  73. ovos_skill_mark1_ctrl/locale/da-DK/perform.voc +1 -0
  74. ovos_skill_mark1_ctrl/locale/da-DK/reboot.voc +1 -0
  75. ovos_skill_mark1_ctrl/locale/da-DK/reset.voc +4 -0
  76. ovos_skill_mark1_ctrl/locale/da-DK/right.voc +1 -0
  77. ovos_skill_mark1_ctrl/locale/da-DK/set.color.success.dialog +3 -0
  78. ovos_skill_mark1_ctrl/locale/da-DK/set.custom.color.dialog +1 -0
  79. ovos_skill_mark1_ctrl/locale/da-DK/set.default.eye.color.dialog +1 -0
  80. ovos_skill_mark1_ctrl/locale/da-DK/smile.voc +2 -0
  81. ovos_skill_mark1_ctrl/locale/da-DK/spin.voc +3 -0
  82. ovos_skill_mark1_ctrl/locale/da-DK/system.voc +2 -0
  83. ovos_skill_mark1_ctrl/locale/da-DK/think.voc +2 -0
  84. ovos_skill_mark1_ctrl/locale/da-DK/unmute.voc +3 -0
  85. ovos_skill_mark1_ctrl/locale/da-DK/up.voc +1 -0
  86. ovos_skill_mark1_ctrl/locale/de-DE/animation.voc +2 -0
  87. ovos_skill_mark1_ctrl/locale/de-DE/blink.voc +1 -0
  88. ovos_skill_mark1_ctrl/locale/de-DE/brightness.entity +13 -0
  89. ovos_skill_mark1_ctrl/locale/de-DE/brightness.error.dialog +1 -0
  90. ovos_skill_mark1_ctrl/locale/de-DE/brightness.intent +12 -0
  91. ovos_skill_mark1_ctrl/locale/de-DE/brightness.levels.value +9 -0
  92. ovos_skill_mark1_ctrl/locale/de-DE/brightness.not.found.dialog +2 -0
  93. ovos_skill_mark1_ctrl/locale/de-DE/brightness.not.found.final.dialog +2 -0
  94. ovos_skill_mark1_ctrl/locale/de-DE/brightness.set.dialog +2 -0
  95. ovos_skill_mark1_ctrl/locale/de-DE/color.entity +160 -0
  96. ovos_skill_mark1_ctrl/locale/de-DE/color.need.dialog +3 -0
  97. ovos_skill_mark1_ctrl/locale/de-DE/color.not.exist.dialog +2 -0
  98. ovos_skill_mark1_ctrl/locale/de-DE/color.not.found.dialog +3 -0
  99. ovos_skill_mark1_ctrl/locale/de-DE/colors.value +149 -0
  100. ovos_skill_mark1_ctrl/locale/de-DE/crazy.voc +1 -0
  101. ovos_skill_mark1_ctrl/locale/de-DE/custom.eye.color.intent +2 -0
  102. ovos_skill_mark1_ctrl/locale/de-DE/down.voc +1 -0
  103. ovos_skill_mark1_ctrl/locale/de-DE/enclosure.voc +4 -0
  104. ovos_skill_mark1_ctrl/locale/de-DE/error.rgbvalue.dialog +2 -0
  105. ovos_skill_mark1_ctrl/locale/de-DE/error.set.color.dialog +2 -0
  106. ovos_skill_mark1_ctrl/locale/de-DE/eye.color.intent +6 -0
  107. ovos_skill_mark1_ctrl/locale/de-DE/eyes.voc +2 -0
  108. ovos_skill_mark1_ctrl/locale/de-DE/get.b.value.dialog +2 -0
  109. ovos_skill_mark1_ctrl/locale/de-DE/get.g.value.dialog +2 -0
  110. ovos_skill_mark1_ctrl/locale/de-DE/get.r.value.dialog +2 -0
  111. ovos_skill_mark1_ctrl/locale/de-DE/left.voc +1 -0
  112. ovos_skill_mark1_ctrl/locale/de-DE/listen.voc +2 -0
  113. ovos_skill_mark1_ctrl/locale/de-DE/look.voc +2 -0
  114. ovos_skill_mark1_ctrl/locale/de-DE/mouth.voc +1 -0
  115. ovos_skill_mark1_ctrl/locale/de-DE/mute.voc +4 -0
  116. ovos_skill_mark1_ctrl/locale/de-DE/narrow.voc +1 -0
  117. ovos_skill_mark1_ctrl/locale/de-DE/perform.voc +1 -0
  118. ovos_skill_mark1_ctrl/locale/de-DE/reboot.voc +1 -0
  119. ovos_skill_mark1_ctrl/locale/de-DE/reset.voc +4 -0
  120. ovos_skill_mark1_ctrl/locale/de-DE/right.voc +1 -0
  121. ovos_skill_mark1_ctrl/locale/de-DE/set.color.success.dialog +3 -0
  122. ovos_skill_mark1_ctrl/locale/de-DE/set.custom.color.dialog +1 -0
  123. ovos_skill_mark1_ctrl/locale/de-DE/set.default.eye.color.dialog +1 -0
  124. ovos_skill_mark1_ctrl/locale/de-DE/smile.voc +2 -0
  125. ovos_skill_mark1_ctrl/locale/de-DE/spin.voc +3 -0
  126. ovos_skill_mark1_ctrl/locale/de-DE/system.voc +2 -0
  127. ovos_skill_mark1_ctrl/locale/de-DE/think.voc +2 -0
  128. ovos_skill_mark1_ctrl/locale/de-DE/unmute.voc +3 -0
  129. ovos_skill_mark1_ctrl/locale/de-DE/up.voc +1 -0
  130. ovos_skill_mark1_ctrl/locale/el-GR/brightness.entity +13 -0
  131. ovos_skill_mark1_ctrl/locale/el-GR/brightness.error.dialog +1 -0
  132. ovos_skill_mark1_ctrl/locale/el-GR/brightness.intent +13 -0
  133. ovos_skill_mark1_ctrl/locale/el-GR/brightness.levels.value +9 -0
  134. ovos_skill_mark1_ctrl/locale/el-GR/brightness.not.found.dialog +2 -0
  135. ovos_skill_mark1_ctrl/locale/el-GR/brightness.not.found.final.dialog +2 -0
  136. ovos_skill_mark1_ctrl/locale/el-GR/brightness.set.dialog +2 -0
  137. ovos_skill_mark1_ctrl/locale/el-GR/color.entity +160 -0
  138. ovos_skill_mark1_ctrl/locale/el-GR/color.need.dialog +3 -0
  139. ovos_skill_mark1_ctrl/locale/el-GR/color.not.exist.dialog +2 -0
  140. ovos_skill_mark1_ctrl/locale/el-GR/color.not.found.dialog +3 -0
  141. ovos_skill_mark1_ctrl/locale/el-GR/colors.value +149 -0
  142. ovos_skill_mark1_ctrl/locale/el-GR/custom.eye.color.intent +2 -0
  143. ovos_skill_mark1_ctrl/locale/el-GR/error.rgbvalue.dialog +2 -0
  144. ovos_skill_mark1_ctrl/locale/el-GR/error.set.color.dialog +2 -0
  145. ovos_skill_mark1_ctrl/locale/el-GR/eye.color.intent +6 -0
  146. ovos_skill_mark1_ctrl/locale/el-GR/get.b.value.dialog +2 -0
  147. ovos_skill_mark1_ctrl/locale/el-GR/get.g.value.dialog +2 -0
  148. ovos_skill_mark1_ctrl/locale/el-GR/get.r.value.dialog +2 -0
  149. ovos_skill_mark1_ctrl/locale/el-GR/set.color.success.dialog +3 -0
  150. ovos_skill_mark1_ctrl/locale/el-GR/set.custom.color.dialog +1 -0
  151. ovos_skill_mark1_ctrl/locale/en-US/animation.voc +2 -0
  152. ovos_skill_mark1_ctrl/locale/en-US/blink.voc +1 -0
  153. ovos_skill_mark1_ctrl/locale/en-US/brightness.entity +13 -0
  154. ovos_skill_mark1_ctrl/locale/en-US/brightness.error.dialog +1 -0
  155. ovos_skill_mark1_ctrl/locale/en-US/brightness.intent +13 -0
  156. ovos_skill_mark1_ctrl/locale/en-US/brightness.not.found.dialog +2 -0
  157. ovos_skill_mark1_ctrl/locale/en-US/brightness.not.found.final.dialog +2 -0
  158. ovos_skill_mark1_ctrl/locale/en-US/brightness.set.dialog +2 -0
  159. ovos_skill_mark1_ctrl/locale/en-US/color.entity +160 -0
  160. ovos_skill_mark1_ctrl/locale/en-US/color.need.dialog +3 -0
  161. ovos_skill_mark1_ctrl/locale/en-US/color.not.exist.dialog +2 -0
  162. ovos_skill_mark1_ctrl/locale/en-US/color.not.found.dialog +3 -0
  163. ovos_skill_mark1_ctrl/locale/en-US/crazy.voc +1 -0
  164. ovos_skill_mark1_ctrl/locale/en-US/custom.eye.color.intent +2 -0
  165. ovos_skill_mark1_ctrl/locale/en-US/down.voc +1 -0
  166. ovos_skill_mark1_ctrl/locale/en-US/enclosure.voc +4 -0
  167. ovos_skill_mark1_ctrl/locale/en-US/error.rgbvalue.dialog +2 -0
  168. ovos_skill_mark1_ctrl/locale/en-US/error.set.color.dialog +2 -0
  169. ovos_skill_mark1_ctrl/locale/en-US/eye.color.intent +6 -0
  170. ovos_skill_mark1_ctrl/locale/en-US/eyes.voc +2 -0
  171. ovos_skill_mark1_ctrl/locale/en-US/get.b.value.dialog +2 -0
  172. ovos_skill_mark1_ctrl/locale/en-US/get.g.value.dialog +2 -0
  173. ovos_skill_mark1_ctrl/locale/en-US/get.r.value.dialog +2 -0
  174. ovos_skill_mark1_ctrl/locale/en-US/left.voc +1 -0
  175. ovos_skill_mark1_ctrl/locale/en-US/listen.voc +2 -0
  176. ovos_skill_mark1_ctrl/locale/en-US/look.voc +2 -0
  177. ovos_skill_mark1_ctrl/locale/en-US/mouth.voc +1 -0
  178. ovos_skill_mark1_ctrl/locale/en-US/mute.voc +4 -0
  179. ovos_skill_mark1_ctrl/locale/en-US/narrow.voc +1 -0
  180. ovos_skill_mark1_ctrl/locale/en-US/perform.voc +1 -0
  181. ovos_skill_mark1_ctrl/locale/en-US/reboot.voc +1 -0
  182. ovos_skill_mark1_ctrl/locale/en-US/reset.voc +4 -0
  183. ovos_skill_mark1_ctrl/locale/en-US/right.voc +1 -0
  184. ovos_skill_mark1_ctrl/locale/en-US/set.color.success.dialog +3 -0
  185. ovos_skill_mark1_ctrl/locale/en-US/set.custom.color.dialog +1 -0
  186. ovos_skill_mark1_ctrl/locale/en-US/set.default.eye.color.dialog +1 -0
  187. ovos_skill_mark1_ctrl/locale/en-US/smile.voc +2 -0
  188. ovos_skill_mark1_ctrl/locale/en-US/spin.voc +3 -0
  189. ovos_skill_mark1_ctrl/locale/en-US/system.voc +2 -0
  190. ovos_skill_mark1_ctrl/locale/en-US/think.voc +2 -0
  191. ovos_skill_mark1_ctrl/locale/en-US/unmute.voc +3 -0
  192. ovos_skill_mark1_ctrl/locale/en-US/up.voc +1 -0
  193. ovos_skill_mark1_ctrl/locale/es-ES/animation.voc +2 -0
  194. ovos_skill_mark1_ctrl/locale/es-ES/blink.voc +1 -0
  195. ovos_skill_mark1_ctrl/locale/es-ES/brightness.entity +13 -0
  196. ovos_skill_mark1_ctrl/locale/es-ES/brightness.error.dialog +1 -0
  197. ovos_skill_mark1_ctrl/locale/es-ES/brightness.intent +11 -0
  198. ovos_skill_mark1_ctrl/locale/es-ES/brightness.levels.value +9 -0
  199. ovos_skill_mark1_ctrl/locale/es-ES/brightness.not.found.dialog +2 -0
  200. ovos_skill_mark1_ctrl/locale/es-ES/brightness.not.found.final.dialog +2 -0
  201. ovos_skill_mark1_ctrl/locale/es-ES/brightness.set.dialog +2 -0
  202. ovos_skill_mark1_ctrl/locale/es-ES/color.entity +160 -0
  203. ovos_skill_mark1_ctrl/locale/es-ES/color.need.dialog +3 -0
  204. ovos_skill_mark1_ctrl/locale/es-ES/color.not.exist.dialog +2 -0
  205. ovos_skill_mark1_ctrl/locale/es-ES/color.not.found.dialog +3 -0
  206. ovos_skill_mark1_ctrl/locale/es-ES/colors.value +149 -0
  207. ovos_skill_mark1_ctrl/locale/es-ES/crazy.voc +1 -0
  208. ovos_skill_mark1_ctrl/locale/es-ES/custom.eye.color.intent +2 -0
  209. ovos_skill_mark1_ctrl/locale/es-ES/down.voc +1 -0
  210. ovos_skill_mark1_ctrl/locale/es-ES/enclosure.voc +4 -0
  211. ovos_skill_mark1_ctrl/locale/es-ES/error.rgbvalue.dialog +2 -0
  212. ovos_skill_mark1_ctrl/locale/es-ES/error.set.color.dialog +2 -0
  213. ovos_skill_mark1_ctrl/locale/es-ES/eye.color.intent +5 -0
  214. ovos_skill_mark1_ctrl/locale/es-ES/eyes.voc +2 -0
  215. ovos_skill_mark1_ctrl/locale/es-ES/get.b.value.dialog +2 -0
  216. ovos_skill_mark1_ctrl/locale/es-ES/get.g.value.dialog +2 -0
  217. ovos_skill_mark1_ctrl/locale/es-ES/get.r.value.dialog +2 -0
  218. ovos_skill_mark1_ctrl/locale/es-ES/left.voc +1 -0
  219. ovos_skill_mark1_ctrl/locale/es-ES/listen.voc +2 -0
  220. ovos_skill_mark1_ctrl/locale/es-ES/look.voc +2 -0
  221. ovos_skill_mark1_ctrl/locale/es-ES/mouth.voc +1 -0
  222. ovos_skill_mark1_ctrl/locale/es-ES/mute.voc +4 -0
  223. ovos_skill_mark1_ctrl/locale/es-ES/narrow.voc +1 -0
  224. ovos_skill_mark1_ctrl/locale/es-ES/perform.voc +1 -0
  225. ovos_skill_mark1_ctrl/locale/es-ES/reboot.voc +1 -0
  226. ovos_skill_mark1_ctrl/locale/es-ES/reset.voc +4 -0
  227. ovos_skill_mark1_ctrl/locale/es-ES/right.voc +1 -0
  228. ovos_skill_mark1_ctrl/locale/es-ES/set.color.success.dialog +3 -0
  229. ovos_skill_mark1_ctrl/locale/es-ES/set.custom.color.dialog +1 -0
  230. ovos_skill_mark1_ctrl/locale/es-ES/set.default.eye.color.dialog +1 -0
  231. ovos_skill_mark1_ctrl/locale/es-ES/smile.voc +2 -0
  232. ovos_skill_mark1_ctrl/locale/es-ES/spin.voc +2 -0
  233. ovos_skill_mark1_ctrl/locale/es-ES/system.voc +2 -0
  234. ovos_skill_mark1_ctrl/locale/es-ES/think.voc +2 -0
  235. ovos_skill_mark1_ctrl/locale/es-ES/unmute.voc +3 -0
  236. ovos_skill_mark1_ctrl/locale/es-ES/up.voc +1 -0
  237. ovos_skill_mark1_ctrl/locale/fr-FR/animation.voc +2 -0
  238. ovos_skill_mark1_ctrl/locale/fr-FR/blink.voc +2 -0
  239. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.entity +13 -0
  240. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.error.dialog +1 -0
  241. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.intent +12 -0
  242. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.levels.value +9 -0
  243. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.not.found.dialog +2 -0
  244. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.not.found.final.dialog +2 -0
  245. ovos_skill_mark1_ctrl/locale/fr-FR/brightness.set.dialog +2 -0
  246. ovos_skill_mark1_ctrl/locale/fr-FR/color.entity +160 -0
  247. ovos_skill_mark1_ctrl/locale/fr-FR/color.need.dialog +3 -0
  248. ovos_skill_mark1_ctrl/locale/fr-FR/color.not.exist.dialog +2 -0
  249. ovos_skill_mark1_ctrl/locale/fr-FR/color.not.found.dialog +3 -0
  250. ovos_skill_mark1_ctrl/locale/fr-FR/colors.value +149 -0
  251. ovos_skill_mark1_ctrl/locale/fr-FR/crazy.voc +2 -0
  252. ovos_skill_mark1_ctrl/locale/fr-FR/custom.eye.color.intent +2 -0
  253. ovos_skill_mark1_ctrl/locale/fr-FR/down.voc +1 -0
  254. ovos_skill_mark1_ctrl/locale/fr-FR/enclosure.voc +4 -0
  255. ovos_skill_mark1_ctrl/locale/fr-FR/error.rgbvalue.dialog +2 -0
  256. ovos_skill_mark1_ctrl/locale/fr-FR/error.set.color.dialog +2 -0
  257. ovos_skill_mark1_ctrl/locale/fr-FR/eye.color.intent +5 -0
  258. ovos_skill_mark1_ctrl/locale/fr-FR/eyes.voc +2 -0
  259. ovos_skill_mark1_ctrl/locale/fr-FR/get.b.value.dialog +2 -0
  260. ovos_skill_mark1_ctrl/locale/fr-FR/get.g.value.dialog +2 -0
  261. ovos_skill_mark1_ctrl/locale/fr-FR/get.r.value.dialog +2 -0
  262. ovos_skill_mark1_ctrl/locale/fr-FR/left.voc +1 -0
  263. ovos_skill_mark1_ctrl/locale/fr-FR/listen.voc +2 -0
  264. ovos_skill_mark1_ctrl/locale/fr-FR/look.voc +2 -0
  265. ovos_skill_mark1_ctrl/locale/fr-FR/mouth.voc +1 -0
  266. ovos_skill_mark1_ctrl/locale/fr-FR/mute.voc +3 -0
  267. ovos_skill_mark1_ctrl/locale/fr-FR/narrow.voc +1 -0
  268. ovos_skill_mark1_ctrl/locale/fr-FR/perform.voc +1 -0
  269. ovos_skill_mark1_ctrl/locale/fr-FR/reboot.voc +1 -0
  270. ovos_skill_mark1_ctrl/locale/fr-FR/reset.voc +4 -0
  271. ovos_skill_mark1_ctrl/locale/fr-FR/right.voc +1 -0
  272. ovos_skill_mark1_ctrl/locale/fr-FR/set.color.success.dialog +3 -0
  273. ovos_skill_mark1_ctrl/locale/fr-FR/set.custom.color.dialog +1 -0
  274. ovos_skill_mark1_ctrl/locale/fr-FR/set.default.eye.color.dialog +1 -0
  275. ovos_skill_mark1_ctrl/locale/fr-FR/smile.voc +2 -0
  276. ovos_skill_mark1_ctrl/locale/fr-FR/spin.voc +3 -0
  277. ovos_skill_mark1_ctrl/locale/fr-FR/system.voc +2 -0
  278. ovos_skill_mark1_ctrl/locale/fr-FR/think.voc +2 -0
  279. ovos_skill_mark1_ctrl/locale/fr-FR/unmute.voc +3 -0
  280. ovos_skill_mark1_ctrl/locale/fr-FR/up.voc +1 -0
  281. ovos_skill_mark1_ctrl/locale/gl-ES/animation.voc +2 -0
  282. ovos_skill_mark1_ctrl/locale/gl-ES/blink.voc +1 -0
  283. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.entity +13 -0
  284. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.error.dialog +1 -0
  285. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.intent +12 -0
  286. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.levels.value +9 -0
  287. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.not.found.dialog +2 -0
  288. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.not.found.final.dialog +2 -0
  289. ovos_skill_mark1_ctrl/locale/gl-ES/brightness.set.dialog +2 -0
  290. ovos_skill_mark1_ctrl/locale/gl-ES/color.entity +160 -0
  291. ovos_skill_mark1_ctrl/locale/gl-ES/color.need.dialog +3 -0
  292. ovos_skill_mark1_ctrl/locale/gl-ES/color.not.exist.dialog +2 -0
  293. ovos_skill_mark1_ctrl/locale/gl-ES/color.not.found.dialog +3 -0
  294. ovos_skill_mark1_ctrl/locale/gl-ES/colors.value +149 -0
  295. ovos_skill_mark1_ctrl/locale/gl-ES/crazy.voc +1 -0
  296. ovos_skill_mark1_ctrl/locale/gl-ES/custom.eye.color.intent +2 -0
  297. ovos_skill_mark1_ctrl/locale/gl-ES/down.voc +1 -0
  298. ovos_skill_mark1_ctrl/locale/gl-ES/enclosure.voc +4 -0
  299. ovos_skill_mark1_ctrl/locale/gl-ES/error.rgbvalue.dialog +2 -0
  300. ovos_skill_mark1_ctrl/locale/gl-ES/error.set.color.dialog +2 -0
  301. ovos_skill_mark1_ctrl/locale/gl-ES/eye.color.intent +6 -0
  302. ovos_skill_mark1_ctrl/locale/gl-ES/eyes.voc +2 -0
  303. ovos_skill_mark1_ctrl/locale/gl-ES/get.b.value.dialog +2 -0
  304. ovos_skill_mark1_ctrl/locale/gl-ES/get.g.value.dialog +2 -0
  305. ovos_skill_mark1_ctrl/locale/gl-ES/get.r.value.dialog +2 -0
  306. ovos_skill_mark1_ctrl/locale/gl-ES/left.voc +1 -0
  307. ovos_skill_mark1_ctrl/locale/gl-ES/listen.voc +2 -0
  308. ovos_skill_mark1_ctrl/locale/gl-ES/look.voc +2 -0
  309. ovos_skill_mark1_ctrl/locale/gl-ES/mouth.voc +1 -0
  310. ovos_skill_mark1_ctrl/locale/gl-ES/mute.voc +4 -0
  311. ovos_skill_mark1_ctrl/locale/gl-ES/narrow.voc +1 -0
  312. ovos_skill_mark1_ctrl/locale/gl-ES/perform.voc +1 -0
  313. ovos_skill_mark1_ctrl/locale/gl-ES/reboot.voc +1 -0
  314. ovos_skill_mark1_ctrl/locale/gl-ES/reset.voc +4 -0
  315. ovos_skill_mark1_ctrl/locale/gl-ES/right.voc +1 -0
  316. ovos_skill_mark1_ctrl/locale/gl-ES/set.color.success.dialog +3 -0
  317. ovos_skill_mark1_ctrl/locale/gl-ES/set.custom.color.dialog +1 -0
  318. ovos_skill_mark1_ctrl/locale/gl-ES/set.default.eye.color.dialog +1 -0
  319. ovos_skill_mark1_ctrl/locale/gl-ES/smile.voc +2 -0
  320. ovos_skill_mark1_ctrl/locale/gl-ES/spin.voc +1 -0
  321. ovos_skill_mark1_ctrl/locale/gl-ES/system.voc +2 -0
  322. ovos_skill_mark1_ctrl/locale/gl-ES/think.voc +2 -0
  323. ovos_skill_mark1_ctrl/locale/gl-ES/unmute.voc +3 -0
  324. ovos_skill_mark1_ctrl/locale/gl-ES/up.voc +1 -0
  325. ovos_skill_mark1_ctrl/locale/it-IT/brightness.entity +13 -0
  326. ovos_skill_mark1_ctrl/locale/it-IT/brightness.error.dialog +1 -0
  327. ovos_skill_mark1_ctrl/locale/it-IT/brightness.intent +13 -0
  328. ovos_skill_mark1_ctrl/locale/it-IT/brightness.levels.value +9 -0
  329. ovos_skill_mark1_ctrl/locale/it-IT/brightness.not.found.dialog +2 -0
  330. ovos_skill_mark1_ctrl/locale/it-IT/brightness.not.found.final.dialog +2 -0
  331. ovos_skill_mark1_ctrl/locale/it-IT/brightness.set.dialog +2 -0
  332. ovos_skill_mark1_ctrl/locale/it-IT/color.entity +160 -0
  333. ovos_skill_mark1_ctrl/locale/it-IT/color.need.dialog +3 -0
  334. ovos_skill_mark1_ctrl/locale/it-IT/color.not.exist.dialog +2 -0
  335. ovos_skill_mark1_ctrl/locale/it-IT/color.not.found.dialog +3 -0
  336. ovos_skill_mark1_ctrl/locale/it-IT/colors.value +149 -0
  337. ovos_skill_mark1_ctrl/locale/it-IT/custom.eye.color.intent +2 -0
  338. ovos_skill_mark1_ctrl/locale/it-IT/error.rgbvalue.dialog +2 -0
  339. ovos_skill_mark1_ctrl/locale/it-IT/error.set.color.dialog +2 -0
  340. ovos_skill_mark1_ctrl/locale/it-IT/eye.color.intent +6 -0
  341. ovos_skill_mark1_ctrl/locale/it-IT/get.b.value.dialog +2 -0
  342. ovos_skill_mark1_ctrl/locale/it-IT/get.g.value.dialog +2 -0
  343. ovos_skill_mark1_ctrl/locale/it-IT/get.r.value.dialog +2 -0
  344. ovos_skill_mark1_ctrl/locale/it-IT/set.color.success.dialog +3 -0
  345. ovos_skill_mark1_ctrl/locale/it-IT/set.custom.color.dialog +1 -0
  346. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.entity +13 -0
  347. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.error.dialog +1 -0
  348. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.intent +12 -0
  349. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.levels.value +9 -0
  350. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.not.found.dialog +2 -0
  351. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.not.found.final.dialog +2 -0
  352. ovos_skill_mark1_ctrl/locale/nl-NL/brightness.set.dialog +2 -0
  353. ovos_skill_mark1_ctrl/locale/nl-NL/color.entity +160 -0
  354. ovos_skill_mark1_ctrl/locale/nl-NL/color.need.dialog +3 -0
  355. ovos_skill_mark1_ctrl/locale/nl-NL/color.not.exist.dialog +2 -0
  356. ovos_skill_mark1_ctrl/locale/nl-NL/color.not.found.dialog +3 -0
  357. ovos_skill_mark1_ctrl/locale/nl-NL/colors.value +149 -0
  358. ovos_skill_mark1_ctrl/locale/nl-NL/custom.eye.color.intent +2 -0
  359. ovos_skill_mark1_ctrl/locale/nl-NL/error.rgbvalue.dialog +2 -0
  360. ovos_skill_mark1_ctrl/locale/nl-NL/error.set.color.dialog +2 -0
  361. ovos_skill_mark1_ctrl/locale/nl-NL/eye.color.intent +6 -0
  362. ovos_skill_mark1_ctrl/locale/nl-NL/get.b.value.dialog +2 -0
  363. ovos_skill_mark1_ctrl/locale/nl-NL/get.g.value.dialog +2 -0
  364. ovos_skill_mark1_ctrl/locale/nl-NL/get.r.value.dialog +2 -0
  365. ovos_skill_mark1_ctrl/locale/nl-NL/set.color.success.dialog +3 -0
  366. ovos_skill_mark1_ctrl/locale/nl-NL/set.custom.color.dialog +1 -0
  367. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.entity +13 -0
  368. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.error.dialog +1 -0
  369. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.intent +12 -0
  370. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.levels.value +9 -0
  371. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.not.found.dialog +2 -0
  372. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.not.found.final.dialog +2 -0
  373. ovos_skill_mark1_ctrl/locale/pt-BR/brightness.set.dialog +2 -0
  374. ovos_skill_mark1_ctrl/locale/pt-BR/color.entity +160 -0
  375. ovos_skill_mark1_ctrl/locale/pt-BR/color.need.dialog +3 -0
  376. ovos_skill_mark1_ctrl/locale/pt-BR/color.not.exist.dialog +2 -0
  377. ovos_skill_mark1_ctrl/locale/pt-BR/color.not.found.dialog +3 -0
  378. ovos_skill_mark1_ctrl/locale/pt-BR/colors.value +149 -0
  379. ovos_skill_mark1_ctrl/locale/pt-BR/custom.eye.color.intent +2 -0
  380. ovos_skill_mark1_ctrl/locale/pt-BR/error.rgbvalue.dialog +2 -0
  381. ovos_skill_mark1_ctrl/locale/pt-BR/error.set.color.dialog +2 -0
  382. ovos_skill_mark1_ctrl/locale/pt-BR/eye.color.intent +6 -0
  383. ovos_skill_mark1_ctrl/locale/pt-BR/get.b.value.dialog +2 -0
  384. ovos_skill_mark1_ctrl/locale/pt-BR/get.g.value.dialog +2 -0
  385. ovos_skill_mark1_ctrl/locale/pt-BR/get.r.value.dialog +2 -0
  386. ovos_skill_mark1_ctrl/locale/pt-BR/set.color.success.dialog +3 -0
  387. ovos_skill_mark1_ctrl/locale/pt-BR/set.custom.color.dialog +1 -0
  388. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.entity +13 -0
  389. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.error.dialog +1 -0
  390. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.intent +12 -0
  391. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.levels.value +9 -0
  392. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.not.found.dialog +2 -0
  393. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.not.found.final.dialog +2 -0
  394. ovos_skill_mark1_ctrl/locale/ru-RU/brightness.set.dialog +2 -0
  395. ovos_skill_mark1_ctrl/locale/ru-RU/color.entity +160 -0
  396. ovos_skill_mark1_ctrl/locale/ru-RU/color.need.dialog +3 -0
  397. ovos_skill_mark1_ctrl/locale/ru-RU/color.not.exist.dialog +2 -0
  398. ovos_skill_mark1_ctrl/locale/ru-RU/color.not.found.dialog +3 -0
  399. ovos_skill_mark1_ctrl/locale/ru-RU/colors.value +149 -0
  400. ovos_skill_mark1_ctrl/locale/ru-RU/custom.eye.color.intent +2 -0
  401. ovos_skill_mark1_ctrl/locale/ru-RU/error.rgbvalue.dialog +2 -0
  402. ovos_skill_mark1_ctrl/locale/ru-RU/error.set.color.dialog +2 -0
  403. ovos_skill_mark1_ctrl/locale/ru-RU/eye.color.intent +7 -0
  404. ovos_skill_mark1_ctrl/locale/ru-RU/get.b.value.dialog +2 -0
  405. ovos_skill_mark1_ctrl/locale/ru-RU/get.g.value.dialog +1 -0
  406. ovos_skill_mark1_ctrl/locale/ru-RU/get.r.value.dialog +2 -0
  407. ovos_skill_mark1_ctrl/locale/ru-RU/set.color.success.dialog +3 -0
  408. ovos_skill_mark1_ctrl/locale/ru-RU/set.custom.color.dialog +1 -0
  409. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.entity +13 -0
  410. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.error.dialog +1 -0
  411. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.intent +11 -0
  412. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.levels.value +9 -0
  413. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.not.found.dialog +2 -0
  414. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.not.found.final.dialog +2 -0
  415. ovos_skill_mark1_ctrl/locale/sv-SE/brightness.set.dialog +2 -0
  416. ovos_skill_mark1_ctrl/locale/sv-SE/color.entity +160 -0
  417. ovos_skill_mark1_ctrl/locale/sv-SE/color.need.dialog +3 -0
  418. ovos_skill_mark1_ctrl/locale/sv-SE/color.not.exist.dialog +2 -0
  419. ovos_skill_mark1_ctrl/locale/sv-SE/color.not.found.dialog +3 -0
  420. ovos_skill_mark1_ctrl/locale/sv-SE/colors.value +149 -0
  421. ovos_skill_mark1_ctrl/locale/sv-SE/custom.eye.color.intent +2 -0
  422. ovos_skill_mark1_ctrl/locale/sv-SE/error.rgbvalue.dialog +2 -0
  423. ovos_skill_mark1_ctrl/locale/sv-SE/error.set.color.dialog +2 -0
  424. ovos_skill_mark1_ctrl/locale/sv-SE/eye.color.intent +6 -0
  425. ovos_skill_mark1_ctrl/locale/sv-SE/get.b.value.dialog +2 -0
  426. ovos_skill_mark1_ctrl/locale/sv-SE/get.g.value.dialog +2 -0
  427. ovos_skill_mark1_ctrl/locale/sv-SE/get.r.value.dialog +2 -0
  428. ovos_skill_mark1_ctrl/locale/sv-SE/set.color.success.dialog +3 -0
  429. ovos_skill_mark1_ctrl/locale/sv-SE/set.custom.color.dialog +1 -0
  430. ovos_skill_mark1_ctrl/renovate.json +6 -0
  431. ovos_skill_mark1_ctrl/version.py +6 -0
  432. ovos_skill_mark1_ctrl-0.0.1.dist-info/METADATA +17 -0
  433. ovos_skill_mark1_ctrl-0.0.1.dist-info/RECORD +437 -0
  434. ovos_skill_mark1_ctrl-0.0.1.dist-info/WHEEL +5 -0
  435. ovos_skill_mark1_ctrl-0.0.1.dist-info/entry_points.txt +2 -0
  436. ovos_skill_mark1_ctrl-0.0.1.dist-info/licenses/LICENSE +8 -0
  437. ovos_skill_mark1_ctrl-0.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,476 @@
1
+ import random
2
+ import time
3
+ from ast import literal_eval as parse_tuple
4
+ from ovos_color_parser import color_from_description, sRGBAColor
5
+ from ovos_utils import create_daemon, classproperty
6
+ from ovos_utils.log import LOG
7
+ from ovos_utils.process_utils import RuntimeRequirements
8
+ from ovos_workshop.decorators import intent_handler
9
+ from ovos_workshop.intents import IntentBuilder
10
+ from ovos_workshop.skills import OVOSSkill
11
+ from ovos_bus_client.message import Message
12
+ from ovos_i2c_detection import is_mark_1
13
+ from threading import Thread
14
+
15
+
16
+ def _hex_to_rgb(_hex):
17
+ """ Convert hex color code to RGB tuple
18
+ Args:
19
+ hex (str): Hex color string, e.g '#ff12ff' or 'ff12ff'
20
+ Returns:
21
+ (rgb): tuple i.e (123, 200, 155) or None
22
+ """
23
+ try:
24
+ if '#' in _hex:
25
+ _hex = _hex.replace('#', "").strip()
26
+ if len(_hex) != 6:
27
+ return None
28
+ (r, g, b) = int(_hex[0:2], 16), int(_hex[2:4], 16), int(_hex[4:6], 16)
29
+ return (r, g, b)
30
+ except Exception:
31
+ return None
32
+
33
+ class EnclosureControlSkill(OVOSSkill):
34
+ def __init__(self, *args, **kwargs):
35
+ if not is_mark_1():
36
+ LOG.error("This device is not a Mark 1. It is suggested to uninstall this skill")
37
+ raise NotImplementedError("Purposeful exception because not on a Mark 1 device")
38
+ super().__init__(*args, **kwargs)
39
+ self.thread = None
40
+ self.playing = False
41
+ self.animations = []
42
+ self.add_event('mycroft.eyes.default', self.handle_default_eyes)
43
+ self.add_event('mycroft.ready', self.handle_default_eyes)
44
+
45
+ @classproperty
46
+ def runtime_requirements(self):
47
+ return RuntimeRequirements(internet_before_load=False,
48
+ network_before_load=False,
49
+ gui_before_load=False,
50
+ requires_internet=False,
51
+ requires_network=False,
52
+ requires_gui=False,
53
+ no_internet_fallback=True,
54
+ no_network_fallback=True,
55
+ no_gui_fallback=True)
56
+
57
+ @property
58
+ def crazy_eyes_animation(self):
59
+ choices = [(self.enclosure.eyes_look, "d"),
60
+ (self.enclosure.eyes_look, "u"),
61
+ (self.enclosure.eyes_look, "l"),
62
+ (self.enclosure.eyes_look, "r"),
63
+ (self.enclosure.eyes_color, (255, 0, 0)),
64
+ (self.enclosure.eyes_color, (255, 0, 255)),
65
+ (self.enclosure.eyes_color, (255, 255, 255)),
66
+ (self.enclosure.eyes_color, (0, 0, 255)),
67
+ (self.enclosure.eyes_color, (0, 255, 0)),
68
+ (self.enclosure.eyes_color, (255, 255, 0)),
69
+ (self.enclosure.eyes_color, (0, 255, 255)),
70
+ (self.enclosure.eyes_spin, None),
71
+ (self.enclosure.eyes_narrow, None),
72
+ (self.enclosure.eyes_on, None),
73
+ (self.enclosure.eyes_off, None),
74
+ (self.enclosure.eyes_blink, None)]
75
+
76
+ anim = []
77
+ for i in range(0, 10):
78
+ frame = random.choice(choices)
79
+ anim.append(self.animate(i, 3, frame[0], frame[1]))
80
+ return anim
81
+
82
+ @property
83
+ def up_down_animation(self):
84
+ return [
85
+ self.animate(2, 6, self.enclosure.eyes_look, "d"),
86
+ self.animate(4, 6, self.enclosure.eyes_look, "u"),
87
+
88
+ ]
89
+
90
+ @property
91
+ def left_right_animation(self):
92
+ return [
93
+ self.animate(2, 6, self.enclosure.eyes_look, "l"),
94
+ self.animate(4, 6, self.enclosure.eyes_look, "r"),
95
+
96
+ ]
97
+
98
+ @staticmethod
99
+ def animate(t, often, func, *args):
100
+ '''
101
+ Args:
102
+ t (int) : seconds from now to begin the frame (secs)
103
+ often (int/string): (int) how often to repeat the frame (secs)
104
+ (str) when to trigger, relative to the clock,
105
+ for synchronized repetitions
106
+ func: the function to invoke
107
+ *args: arguments to pass to func
108
+ '''
109
+ return {
110
+ "time": time.time() + t,
111
+ "often": often,
112
+ "func": func,
113
+ "args": args
114
+ }
115
+
116
+ @staticmethod
117
+ def _get_time(often, t):
118
+ return often - t % often
119
+
120
+ def run(self):
121
+ """
122
+ animation thread while performing speedtest
123
+
124
+ """
125
+
126
+ while self.playing:
127
+ for animation in self.animations:
128
+ if animation["time"] <= time.time():
129
+ # Execute animation action
130
+ animation["func"](*animation["args"])
131
+
132
+ # Adjust time for next loop
133
+ if type(animation["often"]) is int:
134
+ animation["time"] = time.time() + animation["often"]
135
+ else:
136
+ often = int(animation["often"])
137
+ t = animation["time"]
138
+ animation["time"] = time.time() + self._get_time(
139
+ often, t)
140
+ time.sleep(0.1)
141
+
142
+ self.thread = None
143
+ self.enclosure.activate_mouth_events()
144
+ self.enclosure.mouth_reset()
145
+ self.enclosure.eyes_reset()
146
+
147
+ def play_animation(self, animation=None):
148
+ animation = animation or self.up_down_animation
149
+ if not self.thread:
150
+ self.playing = True
151
+
152
+ # Display info on a screen
153
+ self.enclosure.deactivate_mouth_events()
154
+
155
+ # Build the list of animation actions to run
156
+ self.animations = animation
157
+ self.thread = create_daemon(self.run)
158
+
159
+ @intent_handler(IntentBuilder("EnclosureLookRight")
160
+ .require("look").require("right")
161
+ .optionally("enclosure"))
162
+ def handle_look_right(self, message):
163
+ self.speak("looking right")
164
+ self.enclosure.eyes_look("r")
165
+
166
+ @intent_handler(IntentBuilder("EnclosureLookLeft")
167
+ .require("look").require("left").optionally("enclosure"))
168
+ def handle_look_left(self, message):
169
+ self.speak("looking left")
170
+ self.enclosure.eyes_look("l")
171
+
172
+ @intent_handler(IntentBuilder("EnclosureLookUp")
173
+ .require("look").require("up").optionally("enclosure"))
174
+ def handle_look_up(self, message):
175
+ self.speak("looking up")
176
+ self.enclosure.eyes_look("u")
177
+
178
+ @intent_handler(IntentBuilder("EnclosureLookDown")
179
+ .require("look").require("down").optionally("enclosure"))
180
+ def handle_look_down(self, message):
181
+ self.speak("looking down")
182
+ self.enclosure.eyes_look("d")
183
+
184
+ @intent_handler(IntentBuilder("EnclosureLookUpDown")
185
+ .require("look").require("up")
186
+ .require("down").optionally("enclosure")
187
+ .optionally("animation"))
188
+ def handle_look_up_down(self, message):
189
+ self.speak("up and down, up and down")
190
+ self.play_animation(self.up_down_animation)
191
+
192
+ @intent_handler(IntentBuilder("EnclosureLookLeftRight")
193
+ .require("look").require("right")
194
+ .require("left").optionally("enclosure")
195
+ .optionally("animation"))
196
+ def handle_look_left_right(self, message):
197
+ self.speak("left and right, left and right")
198
+ self.play_animation(self.left_right_animation)
199
+
200
+ @intent_handler(IntentBuilder("EnclosureEyesBlink")
201
+ .require("blink").one_of("eyes", "animation")
202
+ .optionally("enclosure").optionally("right")
203
+ .optionally("left"))
204
+ def handle_blink_eyes(self, message):
205
+ for i in range(0, 10):
206
+ if "right" in message.data:
207
+ self.enclosure.eyes_blink("r")
208
+ if "left" in message.data:
209
+ self.enclosure.eyes_blink("l")
210
+ else:
211
+ self.enclosure.eyes_blink("b")
212
+ self.speak("so this is what it feels like having low F P S")
213
+
214
+ @intent_handler(IntentBuilder("EnclosureEyesSpin")
215
+ .require("spin").one_of("eyes", "animation")
216
+ .optionally("enclosure"))
217
+ def handle_spin_eyes(self, message):
218
+ self.speak("around the world, here i go")
219
+ self.enclosure.eyes_spin()
220
+
221
+ @intent_handler(IntentBuilder("EnclosureEyesNarrow")
222
+ .require("narrow").require("eyes")
223
+ .optionally("enclosure"))
224
+ def handle_narrow_eyes(self, message):
225
+ self.speak("this is my evil face")
226
+ self.enclosure.eyes_narrow()
227
+ self.enclosure.eyes_color(255, 0, 0)
228
+
229
+ @intent_handler(IntentBuilder("EnclosureReset")
230
+ .require("reset").require("enclosure"))
231
+ def handle_enclosure_reset(self, message):
232
+ self.handle_default_eyes()
233
+ self.enclosure.eyes_reset()
234
+ self.enclosure.mouth_reset()
235
+ self.speak("this was fun")
236
+
237
+ @intent_handler(IntentBuilder("EnclosureMouthSmile")
238
+ .require("smile").one_of("animation", "mouth")
239
+ .optionally("enclosure"))
240
+ def handle_enclosure_smile(self, message):
241
+ self.enclosure.mouth_smile()
242
+ self.speak("i don't know how to smile")
243
+
244
+ @intent_handler(IntentBuilder("EnclosureMouthListen")
245
+ .require("listen").one_of("animation", "mouth")
246
+ .optionally("enclosure"))
247
+ def handle_enclosure_listen(self, message):
248
+ self.speak("when i do this i feel like I'm dancing")
249
+ self.enclosure.mouth_listen()
250
+
251
+ @intent_handler(IntentBuilder("EnclosureMouthThink")
252
+ .require("think").one_of("animation", "mouth")
253
+ .optionally("enclosure"))
254
+ def handle_enclosure_think(self, message):
255
+ self.speak("i love thinking")
256
+ self.enclosure.mouth_think()
257
+
258
+ @intent_handler(IntentBuilder("EnclosureCrazyEyes")
259
+ .require("eyes").optionally("animation").require("crazy")
260
+ .optionally("enclosure"))
261
+ def handle_enclosure_crazy_eyes(self, message):
262
+ self.speak("artificial intelligence performing artificial "
263
+ "stupidity, you don't see this every day")
264
+ self.play_animation(self.crazy_eyes_animation)
265
+ self.enclosure.eyes_reset()
266
+
267
+ #####################################################################
268
+ # Color interactions
269
+ def set_eye_color(self, color=None, rgb=None, speak=True, make_default=False):
270
+ """ Change the eye color on the faceplate, update saved setting
271
+ """
272
+ if color is not None:
273
+ color_rgb = self._parse_to_rgb(color)
274
+ if color_rgb is not None:
275
+ (r, g, b) = color_rgb
276
+ elif rgb is not None:
277
+ (r, g, b) = rgb
278
+ else:
279
+ return # no color provided!
280
+
281
+ try:
282
+ self.enclosure.eyes_color(r, g, b)
283
+ if speak:
284
+ self.speak_dialog('set.color.success')
285
+ # Update saved color
286
+ self.settings['current_eye_color'] = [r, g, b]
287
+ if make_default:
288
+ self.settings['default_eye_color'] = [r, g, b]
289
+ except Exception:
290
+ self.log.debug('Bad color code: ' + str(color))
291
+ if speak:
292
+ self.speak_dialog('error.set.color')
293
+
294
+ @intent_handler('custom.eye.color.intent')
295
+ def handle_custom_eye_color(self, message):
296
+ # Conversational interaction to set a custom eye color
297
+
298
+ def is_byte(utt):
299
+ try:
300
+ return 0 <= int(utt) <= 255
301
+ except Exception:
302
+ return False
303
+
304
+ self.speak_dialog('set.custom.color')
305
+ wait_while_speaking()
306
+ r = self.get_response('get.r.value', validator=is_byte,
307
+ on_fail="error.rgbvalue", num_retries=2)
308
+ if not r:
309
+ return # cancelled
310
+
311
+ g = self.get_response('get.g.value', validator=is_byte,
312
+ on_fail="error.rgbvalue", num_retries=2)
313
+ if not g:
314
+ return # cancelled
315
+
316
+ b = self.get_response('get.b.value', validator=is_byte,
317
+ on_fail="error.rgbvalue", num_retries=2)
318
+ if not b:
319
+ return # cancelled
320
+
321
+ custom_rgb = [r, g, b]
322
+
323
+ default = False
324
+ if self.ask_yesno('set.default.eye.color') == 'yes':
325
+ default = True
326
+ self.set_eye_color(rgb=custom_rgb, make_default=default)
327
+
328
+ @intent_handler('eye.color.intent')
329
+ def handle_eye_color(self, message):
330
+ """ Callback to set eye color from list
331
+
332
+ Args:
333
+ message (dict): messagebus message from intent parser
334
+ """
335
+ color_str = (message.data.get('color', None) or
336
+ self.get_response('color.need'))
337
+ if color_str:
338
+ match = color_from_description(color_str)
339
+ if match is not None:
340
+ default = False
341
+ if self.ask_yesno('set.default.eye.color') == 'yes':
342
+ default = True
343
+ self.set_eye_color(color=match, make_default=default)
344
+ else:
345
+ self.speak_dialog('color.not.exist')
346
+
347
+ def _parse_to_rgb(self, color):
348
+ """ Convert color descriptor to RGB
349
+
350
+ Parse a color name ('dark blue'), hex ('#000088') or rgb tuple
351
+ '(0,0,128)' to an RGB tuple.
352
+
353
+ Args:
354
+ color (str): RGB, Hex, or color from color_dict
355
+ Returns:
356
+ (r, g, b) (tuple): Tuple of rgb values (0-255) or None
357
+ """
358
+ if not color:
359
+ return None
360
+
361
+ # # check if named color is valid
362
+ try:
363
+ if isinstance(color, sRGBAColor):
364
+ if 0 <= color.r <= 255 and 0 <= color.g <= 255 and 0 <= color.b <= 255:
365
+ return (color.r, color.g, color.b)
366
+ else:
367
+ return None
368
+ except Exception:
369
+ pass
370
+
371
+ # check if rgb tuple like '(0,0,128)'
372
+ try:
373
+ (r, g, b) = parse_tuple(color)
374
+ if 0 <= r <= 255 and 0 <= g <= 255 and 0 <= b <= 255:
375
+ return (r, g, b)
376
+ else:
377
+ return None
378
+ except Exception:
379
+ pass
380
+
381
+ # Finally check if color is hex, like '#0000cc' or '0000cc'
382
+ return _hex_to_rgb(color)
383
+
384
+ def handle_default_eyes(self):
385
+ if self.settings.get('default_eye_color'):
386
+ self.set_eye_color(rgb=self.settings['default_eye_color'], speak=False)
387
+
388
+ #####################################################################
389
+ # Brightness intent interaction
390
+
391
+ def percent_to_level(self, percent):
392
+ """ converts the brigtness value from percentage to
393
+ a value arduino can read
394
+
395
+ Args:
396
+ percent (int): interger value from 0 to 100
397
+
398
+ return:
399
+ (int): value form 0 to 30
400
+ """
401
+ return int(float(percent) / float(100) * 30)
402
+
403
+ def parse_brightness(self, brightness):
404
+ """ parse text for brightness percentage
405
+
406
+ Args:
407
+ brightness (str): string containing brightness level
408
+
409
+ return:
410
+ (int): brightness as percentage (0-100)
411
+ """
412
+
413
+ try:
414
+ if '%' in brightness:
415
+ brightness = brightness.replace("%", "").strip()
416
+ return int(brightness)
417
+ if 'percent' in brightness:
418
+ brightness = brightness.replace("percent", "").strip()
419
+ return int(brightness)
420
+
421
+ i = int(brightness)
422
+ if i < 0 or i > 100:
423
+ return None
424
+
425
+ if i < 30:
426
+ # Assume plain 0-30 is "level"
427
+ return int((i * 100.0) / 30.0)
428
+
429
+ # Assume plain 31-100 is "percentage"
430
+ return i
431
+ except Exception:
432
+ return None # failed in an int() conversion
433
+
434
+ def set_eye_brightness(self, level, speak=True):
435
+ """ Actually change hardware eye brightness
436
+
437
+ Args:
438
+ level (int): 0-30, brightness level
439
+ speak (bool): when True, speak a confirmation
440
+ """
441
+ self.enclosure.eyes_brightness(level)
442
+ if speak is True:
443
+ percent = int(float(level) * float(100) / float(30))
444
+ self.speak_dialog(
445
+ 'brightness.set', data={'val': str(percent) + '%'})
446
+
447
+ def _set_brightness(self, brightness):
448
+ # brightness can be a number or word like "full", "half"
449
+ percent = self.parse_brightness(brightness)
450
+ if percent is None:
451
+ self.speak_dialog('brightness.not.found.final')
452
+ elif int(percent) is -1:
453
+ self.handle_auto_brightness(None)
454
+ else:
455
+ self.auto_brightness = False
456
+ self.set_eye_brightness(self.percent_to_level(percent))
457
+
458
+ @intent_handler('brightness.intent')
459
+ def handle_brightness(self, message):
460
+ """ Intent Callback to set custom eye colors in rgb
461
+
462
+ Args:
463
+ message (dict): messagebus message from intent parser
464
+ """
465
+ brightness = (message.data.get('brightness', None) or
466
+ self.get_response('brightness.not.found'))
467
+ if brightness:
468
+ self._set_brightness(brightness)
469
+
470
+ def stop(self):
471
+ if self.playing and self.thread is not None:
472
+ self.playing = False
473
+ self.enclosure.activate_mouth_events()
474
+ self.enclosure.eyes_reset()
475
+ return True
476
+ return False
@@ -0,0 +1,2 @@
1
+ animacions
2
+ animació
@@ -0,0 +1 @@
1
+ parpelleja
@@ -0,0 +1,13 @@
1
+ #
2
+ ##
3
+ ###
4
+ #%
5
+ ##%
6
+ ###%
7
+ complet|ple|plena
8
+ brillant|lluminós
9
+ meitat
10
+ atenuar
11
+ baix
12
+ automàtic|automàtica|automàticament
13
+ automàtic
@@ -0,0 +1 @@
1
+ No entenc aquest valor de brillantor, doneu-me un valor de brillantor entre el 0 i el 100 per cent.
@@ -0,0 +1,11 @@
1
+ (baixa|aumenta) (la|) (brillantor|il·luminació) al {brightness} (per cent|)
2
+ (canvia a|estableix|commuta) (el|) (nivell|) (de|d'|) (brillantor|il·luminació) dels (ulls|)
3
+ (canvia a|estableix|commuta) els ulls al {brightness} (per cent|) (de|d'|) (brillantor|il·luminació)
4
+ (canvia a|estableix|commuta) els ulls al {brightness} (per cent|) (nivell|) (de|d'|) (brillantor|il·luminació)
5
+ abaixa la (brillantor|il·luminació) dels ulls al {brightness} (per cent|)
6
+ atenua (la|) {brightness} de (els|) ulls al (percentatge|per cent)
7
+ atenua al {brightness} per cent
8
+ enfosqueix|atenua una mica
9
+ ets (massa|) (brillant|oscur)
10
+ il·lumina ho|aumenta la brillantor
11
+ il·lumina-ho (una mica|un poc|) fins al {brightness} (per cent|)
@@ -0,0 +1,9 @@
1
+ # nom, percentatge
2
+ # NOTA: Afegeix-ho a vocab/xx-xx/brightness.entity, també
3
+ ple, 100
4
+ brillant, 75
5
+ meitat,50
6
+ tènue,25
7
+ feble,10
8
+ auto,-1
9
+ automàtic,-1
@@ -0,0 +1,2 @@
1
+ Digueu-me un percentatge o un nivell de brillantor per a la meva cara
2
+ Quin nivell o percentatge de brillantor voleu?
@@ -0,0 +1,2 @@
1
+ Ho sento, no entenc aquesta brillantor.
2
+ Només entenc expressions com "ple" o 50%
@@ -0,0 +1,2 @@
1
+ D'acord, establint la brillantor a {val}
2
+ Ok, estableixo la brillantor a {val}.
@@ -0,0 +1,160 @@
1
+ per defecte
2
+ blau alice
3
+ aliceblue
4
+ blanc antic
5
+ aigua
6
+ aiguamarina
7
+ atzur
8
+ beix
9
+ bisque
10
+ negre
11
+ ametlla blanca
12
+ blau
13
+ violeta blau
14
+ marró
15
+ color madera
16
+ castany
17
+ blau cadet
18
+ cartoixà
19
+ xocolata
20
+ corall
21
+ blau porpra
22
+ blau porpra
23
+ blat de moro
24
+ blat
25
+ carmesí
26
+ cyan
27
+ blau fosc
28
+ cian fosc
29
+ vareta daurada fosca
30
+ vara daurada fosca
31
+ gris fosc
32
+ gris fosc
33
+ verd fosc
34
+ caqui fosc
35
+ magenta fosc
36
+ verd oliva fosc
37
+ taronja fosc
38
+ orquídia fosc
39
+ vermell fosc
40
+ salmó fosc
41
+ verd mar fosc
42
+ blau pissarra fosc
43
+ gris pissarra fosc
44
+ gris pissarra fosc
45
+ turquesa fosc
46
+ violeta fosc
47
+ rosa profund
48
+ blau cel profund
49
+ gris fosc
50
+ gris tènue
51
+ blau dodger
52
+ paleta de foc
53
+ maó
54
+ blanc floral
55
+ verd bosc
56
+ fúcsia
57
+ fúcsia
58
+ gris estaïn
59
+ blanc fantasma
60
+ daurat
61
+ daurat
62
+ gris
63
+ gris
64
+ verd
65
+ groc verd
66
+ mel
67
+ mel
68
+ rosa intens
69
+ vermell indi
70
+ anyil
71
+ marbre
72
+ caqui
73
+ lavanda
74
+ lavanda vermella
75
+ verd gespa
76
+ limón suau
77
+ blau clar
78
+ coral clar
79
+ cian clar
80
+ vell groc daurat clar
81
+ groc daurat clar
82
+ gris clar
83
+ gris clar
84
+ rosa clar
85
+ rosa clar
86
+ salmó clar
87
+ verd mar clar
88
+ cel blau clar
89
+ gris pissarra clar
90
+ gris pissarra clar
91
+ blau acer clar
92
+ groc clar
93
+ llima
94
+ verd llima
95
+ lli
96
+ magenta
97
+ marró
98
+ aqua marí mitjà
99
+ blau mitjà
100
+ orquídia mitjà
101
+ violeta mitjà
102
+ verd marí mitjà
103
+ blau pissarra mitjà
104
+ verd primavera mitjà
105
+ turquesa mitjà
106
+ vermell violeta mitjà
107
+ blau mitjanit
108
+ menta crema
109
+ rosa boirós
110
+ moquessin
111
+ blanc navajo
112
+ blau marí
113
+ encaix antic
114
+ oli
115
+ oli verd
116
+ taronja
117
+ vermell taronja
118
+ orquídia
119
+ groc daurat pàl·lid
120
+ groc daurat pàl·lid
121
+ verd pàl·lid
122
+ turquesa pàl·lid
123
+ vermell violeta pàl·lid
124
+ papaya
125
+ préssec
126
+ peru
127
+ rosa
128
+ pruna
129
+ blau pols
130
+ porpra
131
+ porpra rebecca
132
+ vermell
133
+ marró rosat
134
+ blau reial
135
+ marró sella
136
+ salmó
137
+ marró arenós
138
+ verd mar
139
+ blanc petxina
140
+ petxina
141
+ siena
142
+ plata|argent
143
+ blau cel
144
+ blau pissarra
145
+ gris pissarra
146
+ gris pissarra
147
+ neu
148
+ verd primavera
149
+ blau acer
150
+ moreno
151
+ xarxet
152
+ card
153
+ tomàquet
154
+ turquesa
155
+ violeta
156
+ blat
157
+ blanc
158
+ fum blanc
159
+ groc
160
+ verd groc
@@ -0,0 +1,3 @@
1
+ Poseu un color per provar.
2
+ Quin color voleu que siguin els meus ulls?
3
+ Quin color voleu utilitzar?
@@ -0,0 +1,2 @@
1
+ No conec aquest color. Si en coneixeu els valors R G B podeu dir "definir un color d'ulls personalitzat".
2
+ No és un color que conec.