parseMsg.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. function parseMsg(topic, msg) {\
  2. print ('parseMsg running');\
  3. switch (topic) {\
  4. case '/card':\
  5. switch (msg.cmd) {\
  6. case 'new_card':\
  7. newCard(msg);\
  8. break;\
  9. case 'update_card':\
  10. updateCard(msg);\
  11. break;\
  12. case 'select_card':\
  13. print ('select_card command received');\
  14. if (msg.action != null) {\
  15. selectCard(msg.action);\
  16. }\
  17. break;\
  18. default:\
  19. print ('no cmd specified!');\
  20. break;\
  21. }\
  22. break;\
  23. case '/status':\
  24. switch (msg.cmd) {\
  25. case 'update':\
  26. print ('update command received');\
  27. if (msg.elements && Array.isArray(msg.elements)) {\
  28. for (var i = 0; i < msg.elements.length; i++) {\
  29. if (msg.elements[i].type != null && msg.elements[i].value != null) {\
  30. print('element ' + i + ': ' + msg.elements[i].type + ' ' + msg.elements[i].value);\
  31. if (typeof msg.elements[i].value === 'number') {\
  32. print('value is a number!');\
  33. setStatus(msg.elements[i].type, msg.elements[i].value);\
  34. }\
  35. }\
  36. }\
  37. }\
  38. break;\
  39. default:\
  40. print ('no cmd specified!');\
  41. break;\
  42. }\
  43. break;\
  44. default:\
  45. print ('topic not recognized specified!');\
  46. break;\
  47. }\
  48. }