theengsdecoder 1.8.4__tar.gz → 1.9.0__tar.gz

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 (561) hide show
  1. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/CMakeLists.txt +2 -2
  2. {theengsdecoder-1.8.4/theengsdecoder.egg-info → theengsdecoder-1.9.0}/PKG-INFO +1 -1
  3. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/decoder.cpp +36 -26
  4. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/decoder.h +7 -1
  5. theengsdecoder-1.9.0/src/devices/APPLEAIRPODS_json.h +172 -0
  6. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BC08_json.h +2 -2
  7. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGDK2_json.h +2 -2
  8. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/H5055_json.h +2 -2
  9. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/HOBOMX2001_json.h +2 -2
  10. theengsdecoder-1.9.0/src/devices/HOLYIOT_json.h +32 -0
  11. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/RuuviTag_RAWv2_json.h +11 -1
  12. theengsdecoder-1.9.0/src/devices/SensorP_HTP_json.h +42 -0
  13. theengsdecoder-1.9.0/src/devices/SensorP_HT_json.h +34 -0
  14. theengsdecoder-1.9.0/src/devices/THB1_json.h +61 -0
  15. theengsdecoder-1.9.0/src/devices/UT363BT_json.h +26 -0
  16. theengsdecoder-1.9.0/src/devices/VCH6003_json.h +41 -0
  17. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/iBeacon_json.h +2 -2
  18. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices.h +12 -0
  19. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0/theengsdecoder.egg-info}/PKG-INFO +1 -1
  20. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/theengsdecoder.egg-info/SOURCES.txt +6 -0
  21. theengsdecoder-1.8.4/src/devices/APPLEAIRPODS_json.h +0 -116
  22. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/README.md +0 -0
  23. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/TheengsDecoder/__init__.py +0 -0
  24. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/TheengsDecoder/_decoder.cpp +0 -0
  25. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/pyproject.toml +0 -0
  26. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/setup.cfg +0 -0
  27. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/setup.py +0 -0
  28. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.clang-format +0 -0
  29. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.devcontainer/Dockerfile +0 -0
  30. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.devcontainer/devcontainer.json +0 -0
  31. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.git +0 -0
  32. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.gitattributes +0 -0
  33. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.github/FUNDING.yml +0 -0
  34. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.github/ISSUE_TEMPLATE.md +0 -0
  35. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.github/workflows/ci.yml +0 -0
  36. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.github/workflows/lock.yml +0 -0
  37. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.github/workflows/release.yml +0 -0
  38. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.gitignore +0 -0
  39. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.mbedignore +0 -0
  40. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.prettierignore +0 -0
  41. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/.vscode/settings.json +0 -0
  42. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/ArduinoJson.h +0 -0
  43. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/CHANGELOG.md +0 -0
  44. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/CMakeLists.txt +0 -0
  45. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/CONTRIBUTING.md +0 -0
  46. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/LICENSE.md +0 -0
  47. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/README.md +0 -0
  48. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/SUPPORT.md +0 -0
  49. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/appveyor.yml +0 -0
  50. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/banner.svg +0 -0
  51. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/component.mk +0 -0
  52. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonConfigFile/JsonConfigFile.ino +0 -0
  53. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonFilterExample/JsonFilterExample.ino +0 -0
  54. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -0
  55. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonHttpClient/JsonHttpClient.ino +0 -0
  56. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonParserExample/JsonParserExample.ino +0 -0
  57. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonServer/JsonServer.ino +0 -0
  58. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -0
  59. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/MsgPackParser/MsgPackParser.ino +0 -0
  60. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/ProgmemExample/ProgmemExample.ino +0 -0
  61. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/examples/StringExample/StringExample.ino +0 -0
  62. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ArduinoJsonConfig.cmake.in +0 -0
  63. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/CompileOptions.cmake +0 -0
  64. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ci/arduino.sh +0 -0
  65. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ci/espidf/CMakeLists.txt +0 -0
  66. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ci/espidf/main/CMakeLists.txt +0 -0
  67. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ci/espidf/main/component.mk +0 -0
  68. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ci/espidf/main/main.cpp +0 -0
  69. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/ci/particle.sh +0 -0
  70. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/CMakeLists.txt +0 -0
  71. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/Makefile +0 -0
  72. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_corpus/.gitignore +0 -0
  73. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_fuzzer.cpp +0 -0
  74. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/Comments.json +0 -0
  75. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/EmptyArray.json +0 -0
  76. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/EmptyObject.json +0 -0
  77. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/ExcessiveNesting.json +0 -0
  78. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/IntegerOverflow.json +0 -0
  79. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/Numbers.json +0 -0
  80. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/OpenWeatherMap.json +0 -0
  81. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/Strings.json +0 -0
  82. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/json_seed_corpus/WeatherUnderground.json +0 -0
  83. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_corpus/.gitignore +0 -0
  84. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_fuzzer.cpp +0 -0
  85. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/array16 +0 -0
  86. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/array32 +0 -0
  87. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/false +0 -0
  88. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixarray +0 -0
  89. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixint_negative +0 -0
  90. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixint_positive +0 -0
  91. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixmap +0 -0
  92. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixstr +0 -0
  93. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/float32 +0 -0
  94. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/float64 +0 -0
  95. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int16 +0 -0
  96. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int32 +0 -0
  97. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int64 +0 -0
  98. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int8 +0 -0
  99. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/map16 +0 -0
  100. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/map32 +0 -0
  101. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/nil +0 -0
  102. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/str16 +0 -0
  103. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/str32 +0 -0
  104. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/str8 +0 -0
  105. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/true +0 -0
  106. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint16 +0 -0
  107. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint32 +0 -0
  108. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint64 +0 -0
  109. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint8 +0 -0
  110. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/fuzzing/reproducer.cpp +0 -0
  111. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/particle/project.properties +0 -0
  112. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/particle/src/smocktest.ino +0 -0
  113. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/build-arduino-package.sh +0 -0
  114. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/build-single-header.sh +0 -0
  115. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/get-release-body.sh +0 -0
  116. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/get-release-page.sh +0 -0
  117. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/publish-particle-library.sh +0 -0
  118. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/publish.sh +0 -0
  119. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/wandbox/JsonGeneratorExample.cpp +0 -0
  120. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/wandbox/JsonParserExample.cpp +0 -0
  121. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/wandbox/MsgPackParserExample.cpp +0 -0
  122. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/scripts/wandbox/publish.sh +0 -0
  123. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/.clang-tidy +0 -0
  124. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/CMakeLists.txt +0 -0
  125. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp11/CMakeLists.txt +0 -0
  126. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp11/issue1120.cpp +0 -0
  127. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp11/nullptr.cpp +0 -0
  128. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp11/use_long_long_0.cpp +0 -0
  129. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp11/use_long_long_1.cpp +0 -0
  130. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp17/CMakeLists.txt +0 -0
  131. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Cpp17/string_view.cpp +0 -0
  132. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/CMakeLists.txt +0 -0
  133. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/Issue1189.cpp +0 -0
  134. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/Issue978.cpp +0 -0
  135. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/assign_char.cpp +0 -0
  136. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/delete_jsondocument.cpp +0 -0
  137. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/read_long_long.cpp +0 -0
  138. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/variant_as_char.cpp +0 -0
  139. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/FailingBuilds/write_long_long.cpp +0 -0
  140. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Helpers/Arduino.h +0 -0
  141. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Helpers/CustomReader.hpp +0 -0
  142. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Helpers/api/Print.h +0 -0
  143. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Helpers/api/Stream.h +0 -0
  144. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Helpers/api/String.h +0 -0
  145. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Helpers/progmem_emulation.hpp +0 -0
  146. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/IntegrationTests/CMakeLists.txt +0 -0
  147. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/IntegrationTests/gbathree.cpp +0 -0
  148. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/IntegrationTests/issue772.cpp +0 -0
  149. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/IntegrationTests/openweathermap.cpp +0 -0
  150. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/IntegrationTests/round_trip.cpp +0 -0
  151. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/CMakeLists.txt +0 -0
  152. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/add.cpp +0 -0
  153. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/clear.cpp +0 -0
  154. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/copyArray.cpp +0 -0
  155. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/createNested.cpp +0 -0
  156. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/equals.cpp +0 -0
  157. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/get.cpp +0 -0
  158. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/isNull.cpp +0 -0
  159. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/iterator.cpp +0 -0
  160. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/memoryUsage.cpp +0 -0
  161. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/nesting.cpp +0 -0
  162. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/remove.cpp +0 -0
  163. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/size.cpp +0 -0
  164. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/std_string.cpp +0 -0
  165. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/subscript.cpp +0 -0
  166. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonArray/undefined.cpp +0 -0
  167. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/CMakeLists.txt +0 -0
  168. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/DeserializationError.cpp +0 -0
  169. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/array.cpp +0 -0
  170. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/array_static.cpp +0 -0
  171. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/filter.cpp +0 -0
  172. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/incomplete_input.cpp +0 -0
  173. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/input_types.cpp +0 -0
  174. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/invalid_input.cpp +0 -0
  175. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/misc.cpp +0 -0
  176. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/nestingLimit.cpp +0 -0
  177. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/number.cpp +0 -0
  178. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/object.cpp +0 -0
  179. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/object_static.cpp +0 -0
  180. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDeserializer/string.cpp +0 -0
  181. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/BasicJsonDocument.cpp +0 -0
  182. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/CMakeLists.txt +0 -0
  183. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/DynamicJsonDocument.cpp +0 -0
  184. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/ElementProxy.cpp +0 -0
  185. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/MemberProxy.cpp +0 -0
  186. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/StaticJsonDocument.cpp +0 -0
  187. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/add.cpp +0 -0
  188. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/compare.cpp +0 -0
  189. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/containsKey.cpp +0 -0
  190. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/createNested.cpp +0 -0
  191. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/isNull.cpp +0 -0
  192. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/nesting.cpp +0 -0
  193. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/overflowed.cpp +0 -0
  194. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/remove.cpp +0 -0
  195. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/shrinkToFit.cpp +0 -0
  196. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/size.cpp +0 -0
  197. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonDocument/subscript.cpp +0 -0
  198. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/CMakeLists.txt +0 -0
  199. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/clear.cpp +0 -0
  200. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/containsKey.cpp +0 -0
  201. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/copy.cpp +0 -0
  202. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/createNestedArray.cpp +0 -0
  203. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/createNestedObject.cpp +0 -0
  204. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/equals.cpp +0 -0
  205. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/invalid.cpp +0 -0
  206. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/isNull.cpp +0 -0
  207. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/iterator.cpp +0 -0
  208. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/memoryUsage.cpp +0 -0
  209. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/nesting.cpp +0 -0
  210. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/remove.cpp +0 -0
  211. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/size.cpp +0 -0
  212. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/std_string.cpp +0 -0
  213. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonObject/subscript.cpp +0 -0
  214. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/CMakeLists.txt +0 -0
  215. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/CustomWriter.cpp +0 -0
  216. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/JsonArray.cpp +0 -0
  217. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/JsonArrayPretty.cpp +0 -0
  218. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/JsonObject.cpp +0 -0
  219. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/JsonObjectPretty.cpp +0 -0
  220. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/JsonVariant.cpp +0 -0
  221. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/misc.cpp +0 -0
  222. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/std_stream.cpp +0 -0
  223. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonSerializer/std_string.cpp +0 -0
  224. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/CMakeLists.txt +0 -0
  225. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/add.cpp +0 -0
  226. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/as.cpp +0 -0
  227. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/clear.cpp +0 -0
  228. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/compare.cpp +0 -0
  229. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/containsKey.cpp +0 -0
  230. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/converters.cpp +0 -0
  231. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/copy.cpp +0 -0
  232. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/createNested.cpp +0 -0
  233. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/is.cpp +0 -0
  234. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/isnull.cpp +0 -0
  235. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/memoryUsage.cpp +0 -0
  236. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/misc.cpp +0 -0
  237. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/nesting.cpp +0 -0
  238. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/or.cpp +0 -0
  239. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/overflow.cpp +0 -0
  240. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/remove.cpp +0 -0
  241. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/set.cpp +0 -0
  242. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/subscript.cpp +0 -0
  243. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/types.cpp +0 -0
  244. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/JsonVariant/undefined.cpp +0 -0
  245. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MemoryPool/CMakeLists.txt +0 -0
  246. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MemoryPool/StringCopier.cpp +0 -0
  247. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MemoryPool/allocVariant.cpp +0 -0
  248. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MemoryPool/clear.cpp +0 -0
  249. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MemoryPool/saveString.cpp +0 -0
  250. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MemoryPool/size.cpp +0 -0
  251. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/CMakeLists.txt +0 -0
  252. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/FloatParts.cpp +0 -0
  253. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/JsonString.cpp +0 -0
  254. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/Readers.cpp +0 -0
  255. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/StringAdapters.cpp +0 -0
  256. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/StringWriter.cpp +0 -0
  257. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/TypeTraits.cpp +0 -0
  258. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/Utf16.cpp +0 -0
  259. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/Utf8.cpp +0 -0
  260. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/arithmeticCompare.cpp +0 -0
  261. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/conflicts.cpp +0 -0
  262. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/custom_string.hpp +0 -0
  263. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/deprecated.cpp +0 -0
  264. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/printable.cpp +0 -0
  265. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/unsigned_char.cpp +0 -0
  266. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/version.cpp +0 -0
  267. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Misc/weird_strcmp.hpp +0 -0
  268. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/CMakeLists.txt +0 -0
  269. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/decode_unicode_0.cpp +0 -0
  270. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/decode_unicode_1.cpp +0 -0
  271. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_alignment_0.cpp +0 -0
  272. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_alignment_1.cpp +0 -0
  273. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_comments_0.cpp +0 -0
  274. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_comments_1.cpp +0 -0
  275. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_infinity_0.cpp +0 -0
  276. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_infinity_1.cpp +0 -0
  277. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_nan_0.cpp +0 -0
  278. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_nan_1.cpp +0 -0
  279. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_progmem_1.cpp +0 -0
  280. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_string_deduplication_0.cpp +0 -0
  281. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/enable_string_deduplication_1.cpp +0 -0
  282. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/use_double_0.cpp +0 -0
  283. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MixedConfiguration/use_double_1.cpp +0 -0
  284. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/CMakeLists.txt +0 -0
  285. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeArray.cpp +0 -0
  286. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeObject.cpp +0 -0
  287. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeStaticVariant.cpp +0 -0
  288. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeVariant.cpp +0 -0
  289. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/doubleToFloat.cpp +0 -0
  290. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/filter.cpp +0 -0
  291. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/incompleteInput.cpp +0 -0
  292. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/input_types.cpp +0 -0
  293. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/misc.cpp +0 -0
  294. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/nestingLimit.cpp +0 -0
  295. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackDeserializer/notSupported.cpp +0 -0
  296. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/CMakeLists.txt +0 -0
  297. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/destination_types.cpp +0 -0
  298. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/measure.cpp +0 -0
  299. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/misc.cpp +0 -0
  300. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/serializeArray.cpp +0 -0
  301. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/serializeObject.cpp +0 -0
  302. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/MsgPackSerializer/serializeVariant.cpp +0 -0
  303. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Numbers/CMakeLists.txt +0 -0
  304. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Numbers/convertNumber.cpp +0 -0
  305. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Numbers/parseDouble.cpp +0 -0
  306. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Numbers/parseFloat.cpp +0 -0
  307. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Numbers/parseInteger.cpp +0 -0
  308. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/Numbers/parseNumber.cpp +0 -0
  309. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/TextFormatter/CMakeLists.txt +0 -0
  310. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/TextFormatter/writeFloat.cpp +0 -0
  311. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/TextFormatter/writeInteger.cpp +0 -0
  312. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/TextFormatter/writeString.cpp +0 -0
  313. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/catch/.clang-format +0 -0
  314. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/catch/CMakeLists.txt +0 -0
  315. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/catch/catch.cpp +0 -0
  316. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/extras/tests/catch/catch.hpp +0 -0
  317. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/keywords.txt +0 -0
  318. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/library.json +0 -0
  319. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/library.properties +0 -0
  320. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/ArrayFunctions.hpp +0 -0
  321. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/ArrayImpl.hpp +0 -0
  322. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/ArrayIterator.hpp +0 -0
  323. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/ArrayRef.hpp +0 -0
  324. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/ArrayShortcuts.hpp +0 -0
  325. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/ElementProxy.hpp +0 -0
  326. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Array/Utilities.hpp +0 -0
  327. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Collection/CollectionData.hpp +0 -0
  328. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -0
  329. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Configuration.hpp +0 -0
  330. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -0
  331. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Filter.hpp +0 -0
  332. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -0
  333. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Reader.hpp +0 -0
  334. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -0
  335. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -0
  336. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -0
  337. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -0
  338. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -0
  339. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -0
  340. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -0
  341. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Deserialization/deserialize.hpp +0 -0
  342. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Document/BasicJsonDocument.hpp +0 -0
  343. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Document/DynamicJsonDocument.hpp +0 -0
  344. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Document/JsonDocument.hpp +0 -0
  345. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Document/StaticJsonDocument.hpp +0 -0
  346. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/EscapeSequence.hpp +0 -0
  347. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -0
  348. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/JsonSerializer.hpp +0 -0
  349. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/Latch.hpp +0 -0
  350. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -0
  351. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/TextFormatter.hpp +0 -0
  352. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/Utf16.hpp +0 -0
  353. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Json/Utf8.hpp +0 -0
  354. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Memory/Alignment.hpp +0 -0
  355. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Memory/MemoryPool.hpp +0 -0
  356. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Misc/SerializedValue.hpp +0 -0
  357. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Misc/Visitable.hpp +0 -0
  358. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -0
  359. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -0
  360. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/MsgPack/endianess.hpp +0 -0
  361. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/MsgPack/ieee754.hpp +0 -0
  362. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Namespace.hpp +0 -0
  363. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/Float.hpp +0 -0
  364. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/FloatParts.hpp +0 -0
  365. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -0
  366. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/Integer.hpp +0 -0
  367. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -0
  368. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/convertNumber.hpp +0 -0
  369. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Numbers/parseNumber.hpp +0 -0
  370. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/MemberProxy.hpp +0 -0
  371. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/ObjectFunctions.hpp +0 -0
  372. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/ObjectImpl.hpp +0 -0
  373. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/ObjectIterator.hpp +0 -0
  374. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/ObjectRef.hpp +0 -0
  375. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/ObjectShortcuts.hpp +0 -0
  376. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Object/Pair.hpp +0 -0
  377. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -0
  378. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/assert.hpp +0 -0
  379. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/attributes.hpp +0 -0
  380. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/ctype.hpp +0 -0
  381. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/integer.hpp +0 -0
  382. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/limits.hpp +0 -0
  383. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/math.hpp +0 -0
  384. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -0
  385. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -0
  386. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -0
  387. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -0
  388. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/safe_strcmp.hpp +0 -0
  389. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/static_array.hpp +0 -0
  390. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -0
  391. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -0
  392. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -0
  393. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -0
  394. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -0
  395. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -0
  396. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -0
  397. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -0
  398. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -0
  399. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -0
  400. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -0
  401. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -0
  402. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -0
  403. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -0
  404. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -0
  405. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -0
  406. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -0
  407. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/make_void.hpp +0 -0
  408. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -0
  409. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -0
  410. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -0
  411. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -0
  412. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits.hpp +0 -0
  413. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Polyfills/utility.hpp +0 -0
  414. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -0
  415. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writer.hpp +0 -0
  416. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -0
  417. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -0
  418. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -0
  419. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -0
  420. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -0
  421. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -0
  422. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/measure.hpp +0 -0
  423. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Serialization/serialize.hpp +0 -0
  424. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/StringStorage/StringCopier.hpp +0 -0
  425. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/StringStorage/StringMover.hpp +0 -0
  426. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/StringStorage/StringStorage.hpp +0 -0
  427. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/ArduinoStringAdapter.hpp +0 -0
  428. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/ConstRamStringAdapter.hpp +0 -0
  429. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/FlashStringAdapter.hpp +0 -0
  430. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/JsonStringAdapter.hpp +0 -0
  431. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/RamStringAdapter.hpp +0 -0
  432. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/SizedFlashStringAdapter.hpp +0 -0
  433. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/SizedRamStringAdapter.hpp +0 -0
  434. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/StdStringAdapter.hpp +0 -0
  435. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/Adapters/StringViewAdapter.hpp +0 -0
  436. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/IsWriteableString.hpp +0 -0
  437. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/StoragePolicy.hpp +0 -0
  438. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/String.hpp +0 -0
  439. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/StringAdapter.hpp +0 -0
  440. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Strings/StringAdapters.hpp +0 -0
  441. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/Converter.hpp +0 -0
  442. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -0
  443. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/SlotFunctions.hpp +0 -0
  444. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantCompare.hpp +0 -0
  445. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantContent.hpp +0 -0
  446. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantData.hpp +0 -0
  447. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantFunctions.hpp +0 -0
  448. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantImpl.hpp +0 -0
  449. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantOperators.hpp +0 -0
  450. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantRef.hpp +0 -0
  451. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantShortcuts.hpp +0 -0
  452. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantSlot.hpp +0 -0
  453. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantTag.hpp +0 -0
  454. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/VariantTo.hpp +0 -0
  455. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/Variant/Visitor.hpp +0 -0
  456. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/compatibility.hpp +0 -0
  457. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson/version.hpp +0 -0
  458. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson.h +0 -0
  459. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/ArduinoJson.hpp +0 -0
  460. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/arduino_json/src/CMakeLists.txt +0 -0
  461. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/decoder_c.cpp +0 -0
  462. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/ABN03_json.h +0 -0
  463. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/ABN07_json.h +0 -0
  464. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/ABTemp_json.h +0 -0
  465. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/APPLEDEVICE_json.h +0 -0
  466. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/APPLEWATCH_json.h +0 -0
  467. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/APPLE_json.h +0 -0
  468. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/ARANET4_json.h +0 -0
  469. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Amphiro_json.h +0 -0
  470. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BM1IN1_json.h +0 -0
  471. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BM2_json.h +0 -0
  472. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BM3IN1_json.h +0 -0
  473. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BM4IN1_json.h +0 -0
  474. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BM6_json.h +0 -0
  475. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BPARASITE_json.h +0 -0
  476. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/BWBSDOO_json.h +0 -0
  477. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGD1_json.h +0 -0
  478. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGDN1_json.h +0 -0
  479. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGG1_json.h +0 -0
  480. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGH1_json.h +0 -0
  481. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGP1W_json.h +0 -0
  482. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGP23W_json.h +0 -0
  483. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/CGPR1_json.h +0 -0
  484. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/FEASY_json.h +0 -0
  485. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/GAEN_json.h +0 -0
  486. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/H5072_json.h +0 -0
  487. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/H5074_json.h +0 -0
  488. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/H5102_json.h +0 -0
  489. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/H5106_json.h +0 -0
  490. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/H5179_json.h +0 -0
  491. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/HHCCJCY01HHCC_json.h +0 -0
  492. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/HHCCJCY10_json.h +0 -0
  493. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/HHCCPOT002_json.h +0 -0
  494. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/IBS_THBP01B_json.h +0 -0
  495. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/IBT_2X_json.h +0 -0
  496. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/IBT_4XS_json.h +0 -0
  497. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/IBT_6XS_SOLIS6_json.h +0 -0
  498. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/JAALEE_json.h +0 -0
  499. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/JQJCY01YM_json.h +0 -0
  500. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/KKM_K6P_json.h +0 -0
  501. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/KKM_K9_json.h +0 -0
  502. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/LYWSD02_json.h +0 -0
  503. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/LYWSD03MMC_ENCR_json.h +0 -0
  504. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/LYWSD03MMC_json.h +0 -0
  505. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/LYWSDCGQ_json.h +0 -0
  506. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/MBXPRO_json.h +0 -0
  507. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/MS_CDP_json.h +0 -0
  508. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/MUE4094RT_json.h +0 -0
  509. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Miband_json.h +0 -0
  510. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Mikrotik_json.h +0 -0
  511. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Mokobeacon_json.h +0 -0
  512. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Mopeka_json.h +0 -0
  513. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/NODONNIU_json.h +0 -0
  514. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/OTOD_json.h +0 -0
  515. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/OralB_json.h +0 -0
  516. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Oras_json.h +0 -0
  517. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/PH10_json.h +0 -0
  518. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/RDL52832_json.h +0 -0
  519. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/RuuviTag_RAWv1_json.h +0 -0
  520. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBBT_002C_ENCR_json.h +0 -0
  521. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBBT_002C_json.h +0 -0
  522. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBBT_004CEU_US_json.h +0 -0
  523. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBBT_json.h +0 -0
  524. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBCS_json.h +0 -0
  525. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBCU_json.h +0 -0
  526. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBDW_002C_ENCR_json.h +0 -0
  527. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBDW_002C_json.h +0 -0
  528. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBHT_003C_ENCR_json.h +0 -0
  529. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBHT_003C_json.h +0 -0
  530. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBMO_003Z_ENCR_json.h +0 -0
  531. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBMO_003Z_json.h +0 -0
  532. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBMP_json.h +0 -0
  533. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBMS_json.h +0 -0
  534. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBMT_json.h +0 -0
  535. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBOT_json.h +0 -0
  536. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SBS1_json.h +0 -0
  537. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SCD4X_json.h +0 -0
  538. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SE_MAG_json.h +0 -0
  539. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SE_RHT_json.h +0 -0
  540. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SE_TEMP_json.h +0 -0
  541. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SE_TPROBE_json.h +0 -0
  542. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SHT4X_json.h +0 -0
  543. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/ServiceData_json.h +0 -0
  544. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/Skale_json.h +0 -0
  545. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/SmartDry_json.h +0 -0
  546. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/T201_json.h +0 -0
  547. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/T301_json.h +0 -0
  548. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/TILT_json.h +0 -0
  549. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/TPMS_json.h +0 -0
  550. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/TPTH_json.h +0 -0
  551. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/ThermoBeacon_json.h +0 -0
  552. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/XMTZC04HMKG_json.h +0 -0
  553. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/XMTZC04HMLB_json.h +0 -0
  554. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/XMTZC05HMKG_json.h +0 -0
  555. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/XMTZC05HMLB_json.h +0 -0
  556. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/XOSSX2_json.h +0 -0
  557. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/common_props.h +0 -0
  558. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/iNodeEM_json.h +0 -0
  559. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/src/devices/tracker_json.h +0 -0
  560. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/theengsdecoder.egg-info/dependency_links.txt +0 -0
  561. {theengsdecoder-1.8.4 → theengsdecoder-1.9.0}/theengsdecoder.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- cmake_minimum_required(VERSION 3.3)
1
+ cmake_minimum_required(VERSION 3.5)
2
2
 
3
- project(decoder VERSION 1.8.4)
3
+ project(decoder VERSION 1.9.0)
4
4
  find_package(PythonExtensions REQUIRED)
5
5
 
6
6
  add_library(_decoder MODULE TheengsDecoder/_decoder.cpp src/decoder.cpp)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: theengsdecoder
3
- Version: 1.8.4
3
+ Version: 1.9.0
4
4
  Summary: A message decoder for the Internet of Things
5
5
  Author: Theengs
6
6
  License: GPL-3.0 License
@@ -29,10 +29,13 @@
29
29
  #ifdef DEBUG_DECODER
30
30
  # include <stdio.h>
31
31
  # define DEBUG_PRINT(...) \
32
- { printf(__VA_ARGS__); }
32
+ { \
33
+ printf(__VA_ARGS__); \
34
+ }
33
35
  #else
34
36
  # define DEBUG_PRINT(...) \
35
- {}
37
+ { \
38
+ }
36
39
  #endif
37
40
 
38
41
  #ifdef UNIT_TESTING
@@ -63,7 +66,7 @@ void TheengsDecoder::reverse_hex_data(const char* in, char* out, int l) {
63
66
  i -= 2;
64
67
  j += 2;
65
68
  }
66
- out[l] = '\0';
69
+ out[j] = '\0';
67
70
  }
68
71
 
69
72
  double TheengsDecoder::bf_value_from_hex_string(const char* data_str,
@@ -103,11 +106,11 @@ double TheengsDecoder::value_from_hex_string(const char* data_str,
103
106
  DEBUG_PRINT("extracted value from %s = %lld\n", data.c_str(), (long long)value);
104
107
  } else {
105
108
  union {
106
- long longV;
109
+ long long longV;
107
110
  float floatV;
108
111
  };
109
- longV = strtol(data.c_str(), NULL, 16);
110
- DEBUG_PRINT("extracted float value from %s = %f\n", data.c_str(), floatV);
112
+ longV = strtoll(data.c_str(), NULL, 16);
113
+ DEBUG_PRINT("extracted float value from %s = %lld = %f\n", data.c_str(), (long long)longV, floatV);
111
114
  value = floatV;
112
115
  }
113
116
 
@@ -285,9 +288,9 @@ bool TheengsDecoder::checkDeviceMatch(const JsonArray& condition,
285
288
  string_to_compare = mac_string.c_str();
286
289
 
287
290
  if (strstr(cond_str, "revmac@index") != nullptr) {
288
- char* reverse_mac_string = (char*)malloc(strlen(string_to_compare) + 1);
289
-
291
+ char reverse_mac_string[13]; // 12 bytes + null terminator
290
292
  reverse_hex_data(string_to_compare, reverse_mac_string, 12);
293
+ reverse_mac_string[12] = '\0'; // Ensure null termination
291
294
  string_to_compare = reverse_mac_string;
292
295
  }
293
296
 
@@ -302,9 +305,7 @@ bool TheengsDecoder::checkDeviceMatch(const JsonArray& condition,
302
305
  string_to_compare,
303
306
  cond_index);
304
307
 
305
- if (strncmp(&cmp_str[cond_index],
306
- string_to_compare,
307
- 12) == 0) {
308
+ if (strncmp(&cmp_str[cond_index], string_to_compare, 12) == 0) {
308
309
  match = true;
309
310
  } else {
310
311
  match = false;
@@ -439,14 +440,14 @@ bool TheengsDecoder::checkPropCondition(const JsonArray& prop_condition,
439
440
  cond_met = evaluateDatalength(op, data_len, req_len);
440
441
  }
441
442
  } else if (dev_name != nullptr && strstr(prop_condition[i].as<const char*>(), "name") != nullptr) {
442
- if (strstr(prop_condition[i+1].as<const char*>(), "contain") != nullptr) {
443
- if (strstr(dev_name, prop_condition[i+2].as<const char*>()) != nullptr) {
444
- cond_met = (strstr(prop_condition[i+1].as<const char*>(), "not_") != nullptr) ? false : true;
443
+ if (strstr(prop_condition[i + 1].as<const char*>(), "contain") != nullptr) {
444
+ if (strstr(dev_name, prop_condition[i + 2].as<const char*>()) != nullptr) {
445
+ cond_met = (strstr(prop_condition[i + 1].as<const char*>(), "not_") != nullptr) ? false : true;
445
446
  } else {
446
- cond_met = (strstr(prop_condition[i+1].as<const char*>(), "not_") != nullptr) ? true : false;
447
+ cond_met = (strstr(prop_condition[i + 1].as<const char*>(), "not_") != nullptr) ? true : false;
447
448
  }
448
449
  }
449
-
450
+
450
451
  } else {
451
452
  DEBUG_PRINT("ERROR property condition data source invalid\n");
452
453
  return false;
@@ -585,6 +586,9 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
585
586
  case 18:
586
587
  doc["type"] = "AUDIO"; // Button
587
588
  break;
589
+ case 19:
590
+ doc["type"] = "WIND"; // Button
591
+ break;
588
592
  case 254:
589
593
  doc["type"] = "RMAC"; // random MAC address devices
590
594
  break;
@@ -728,18 +732,18 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
728
732
  temp_val += post_proc[i + 1].as<double>();
729
733
  break;
730
734
  case '%': {
731
- long val = (long)temp_val;
732
- temp_val = val % post_proc[i + 1].as<long>();
735
+ long long val = (long long)temp_val;
736
+ temp_val = (double)(val % post_proc[i + 1].as<long long>());
733
737
  break;
734
738
  }
735
739
  case '<': {
736
- long val = (long)temp_val;
737
- temp_val = val << post_proc[i + 1].as<unsigned int>();
740
+ long long val = (long long)temp_val;
741
+ temp_val = (double)(val << post_proc[i + 1].as<unsigned int>());
738
742
  break;
739
743
  }
740
744
  case '>': {
741
- long val = (long)temp_val;
742
- temp_val = val >> post_proc[i + 1].as<unsigned int>();
745
+ long long val = (long long)temp_val;
746
+ temp_val = (double)(val >> post_proc[i + 1].as<unsigned int>());
743
747
  break;
744
748
  }
745
749
  case '!': {
@@ -749,12 +753,12 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
749
753
  }
750
754
  case '&': {
751
755
  long long val = (long long)temp_val;
752
- temp_val = val & post_proc[i + 1].as<unsigned int>();
756
+ temp_val = (double)(val & post_proc[i + 1].as<unsigned int>());
753
757
  break;
754
758
  }
755
759
  case '^': {
756
760
  long long val = (long long)temp_val;
757
- temp_val = val ^ post_proc[i + 1].as<unsigned int>();
761
+ temp_val = (double)(val ^ post_proc[i + 1].as<unsigned int>());
758
762
  break;
759
763
  }
760
764
  }
@@ -774,7 +778,7 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
774
778
  }
775
779
  } else if (strncmp(post_proc[i].as<const char*>(), "abs", 3) == 0) {
776
780
  long long val = (long long)temp_val;
777
- temp_val = abs(val);
781
+ temp_val = (double)abs(val);
778
782
  } else if (strncmp(post_proc[i].as<const char*>(), "SBBT-dir", 8) == 0) { // "SBBT" decoder specific post_proc
779
783
  if (temp_val < 0) {
780
784
  proc_str = "down";
@@ -936,8 +940,14 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
936
940
  ascii += ch;
937
941
  }
938
942
 
943
+ // DEBUG_PRINT("PROP: %s\n", prop.as<JsonObject>();
944
+
939
945
  if (ascii != "") {
940
- jsondata[sanitizeJsonKey(kv.key().c_str())] = ascii;
946
+ if (prop.containsKey("is_double")) {
947
+ jsondata[sanitizeJsonKey(kv.key().c_str())] = std::stod(ascii);
948
+ } else {
949
+ jsondata[sanitizeJsonKey(kv.key().c_str())] = ascii;
950
+ }
941
951
  }
942
952
 
943
953
  success = i_main;
@@ -140,6 +140,7 @@ public:
140
140
  MOPEKA,
141
141
  T201,
142
142
  T301,
143
+ THB1,
143
144
  NUT,
144
145
  NUTALE,
145
146
  ITAG,
@@ -156,10 +157,14 @@ public:
156
157
  APPLEAIRPODS,
157
158
  APPLEWATCH,
158
159
  APPLEDEVICE,
160
+ HOLYIOT,
159
161
  IBEACON,
160
162
  APPLE_CONT,
161
163
  APPLE_CONTAT,
164
+ SPHTP,
165
+ SPHT,
162
166
  SERVICE_DATA,
167
+ UT363BT,
163
168
  SE_RHT,
164
169
  SE_TEMP,
165
170
  SE_TPROBE,
@@ -173,6 +178,7 @@ public:
173
178
  SBMO_003Z_ENCR,
174
179
  SBHT_003C,
175
180
  SBHT_003C_ENCR,
181
+ VCH6003,
176
182
  BLE_ID_MAX
177
183
  };
178
184
 
@@ -189,7 +195,7 @@ private:
189
195
  const char* dev_name, const char* svc_uuid, const char* mac_id);
190
196
  std::string sanitizeJsonKey(const char* key_in);
191
197
 
192
- size_t m_docMax = 12000;
198
+ size_t m_docMax = 12200;
193
199
  size_t m_minSvcDataLen = 20;
194
200
  size_t m_minMfgDataLen = 16;
195
201
  };
@@ -0,0 +1,172 @@
1
+ const char* _APPLEAIRPODS_json = "{\"brand\":\"Apple/Beats\",\"model\":\"AirPods (Pro)/Solo|Studio Buds\",\"model_id\":\"APPLEAIRPODS\",\"tag\":\"1218\",\"condition\":[\"manufacturerdata\",\"=\",58,\"index\",0,\"4c00071901\"],\"properties\":{\"version\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",10,4],\"lookup\":[\"0220\",\"AirPods 1st gen.\",\"0f20\",\"AirPods 2nd gen.\",\"0e20\",\"AirPods Pro 1st gen.\",\"1420\",\"AirPods Pro 2 Lightning\",\"2420\",\"AirPods Pro 2 USB-C\",\"0a20\",\"AirPods Max Lightning\",\"0320\",\"Powerbeats³\",\"0520\",\"BeatsX\",\"0620\",\"Beats Solo³\"]},\"color\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",22,2],\"lookup\":[\"00\",\"white\",\"01\",\"black\",\"02\",\"red\",\"03\",\"blue\",\"04\",\"pink\",\"05\",\"gray\",\"06\",\"silver\",\"07\",\"gold\",\"08\",\"rose gold\",\"09\",\"space gray\",\"0a\",\"dark blue\",\"0b\",\"light blue\",\"0c\",\"yellow\",\"11\",\"green\"]},\"status\":{\"condition\":[\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",14,2],\"lookup\":[\"05\",\"both in case\",\"14\",\"both in case\",\"15\",\"both in case\",\"25\",\"both in case\",\"34\",\"both in case\",\"35\",\"both in case\",\"55\",\"both in case\",\"75\",\"both in case\",\"00\",\"L in case - R out of case\",\"11\",\"L in case - R out of case\",\"71\",\"L in case - R out of case\",\"02\",\"L in case - R in ear\",\"13\",\"L in case - R in ear\",\"24\",\"L in case - R in ear\",\"73\",\"L in case - R in ear\",\"20\",\"R in case - L out of case\",\"31\",\"R in case - L out of case\",\"51\",\"R in case - L out of case\",\"04\",\"R in case - L in ear\",\"22\",\"R in case - L in ear\",\"33\",\"R in case - L in ear\",\"53\",\"R in case - L in ear\",\"01\",\"both out of case\",\"21\",\"both out of case\",\"03\",\"R in ear - L out of case\",\"29\",\"R in ear - L out of case\",\"23\",\"L in ear - R out of case\",\"09\",\"L in ear - R out of case\",\"0b\",\"both in ears\",\"2b\",\"both in ears\"]},\"_status\":{\"condition\":[\"manufacturerdata\",10,\"0a20\"],\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",14,2],\"lookup\":[\"25\",\"in case\",\"34\",\"in case\",\"35\",\"in case\",\"75\",\"in case\",\"21\",\"out of case\",\"2b\",\"on ears\"]},\"batt_r\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,1],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",16,1],\"post_proc\":[\"*\",10,\"max\",100]},\"_batt_r\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,0,\"&\",\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",17,1],\"post_proc\":[\"*\",10,\"max\",100]},\"batt_l\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,1,\"&\",\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",17,1],\"post_proc\":[\"*\",10,\"max\",100]},\"_batt_l\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,0,\"&\",\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",16,1],\"post_proc\":[\"*\",10,\"max\",100]},\"batt_case\":{\"condition\":[\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",19,1],\"post_proc\":[\"*\",10,\"max\",100]},\"charging_r\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,1],\"decoder\":[\"bit_static_value\",\"manufacturerdata\",18,1,false,true]},\"_charging_r\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,0,\"&\",\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"bit_static_value\",\"manufacturerdata\",18,0,false,true]},\"charging_l\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,1,\"&\",\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"bit_static_value\",\"manufacturerdata\",18,0,false,true]},\"_charging_l\":{\"condition\":[\"manufacturerdata\",14,\"bit\",1,0,\"&\",\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"bit_static_value\",\"manufacturerdata\",18,1,false,true]},\"charging_case\":{\"condition\":[\"manufacturerdata\",10,\"!\",\"0a20\"],\"decoder\":[\"bit_static_value\",\"manufacturerdata\",18,2,false,true]}}}";
2
+ /*R""""(
3
+ {
4
+ "brand":"Apple/Beats",
5
+ "model":"AirPods (Pro)/Solo|Studio Buds",
6
+ "model_id":"APPLEAIRPODS",
7
+ "tag":"1218",
8
+ "condition":["manufacturerdata","=", 58, "index", 0, "4c00071901"],
9
+ "properties":{
10
+ "version":{
11
+ "decoder":["string_from_hex_data", "manufacturerdata", 10, 4],
12
+ "lookup":["0220", "AirPods 1st gen.",
13
+ "0f20", "AirPods 2nd gen.",
14
+ "0e20", "AirPods Pro 1st gen.",
15
+ "1420", "AirPods Pro 2 Lightning",
16
+ "2420", "AirPods Pro 2 USB-C",
17
+ "0a20", "AirPods Max Lightning",
18
+ "0320", "Powerbeats³",
19
+ "0520", "BeatsX",
20
+ "0620", "Beats Solo³"]
21
+ },
22
+ "color":{
23
+ "decoder":["string_from_hex_data", "manufacturerdata", 22, 2],
24
+ "lookup":["00", "white",
25
+ "01", "black",
26
+ "02", "red",
27
+ "03", "blue",
28
+ "04", "pink",
29
+ "05", "gray",
30
+ "06", "silver",
31
+ "07", "gold",
32
+ "08", "rose gold",
33
+ "09", "space gray",
34
+ "0a", "dark blue",
35
+ "0b", "light blue",
36
+ "0c", "yellow",
37
+ "11", "green"]
38
+ },
39
+ "status":{
40
+ "condition":["manufacturerdata", 10, "!", "0a20"],
41
+ "decoder":["string_from_hex_data", "manufacturerdata", 14, 2],
42
+ "lookup":["05", "both in case",
43
+ "14", "both in case",
44
+ "15", "both in case",
45
+ "25", "both in case",
46
+ "34", "both in case",
47
+ "35", "both in case",
48
+ "55", "both in case",
49
+ "75", "both in case",
50
+ "00", "L in case - R out of case",
51
+ "11", "L in case - R out of case",
52
+ "71", "L in case - R out of case",
53
+ "02", "L in case - R in ear",
54
+ "13", "L in case - R in ear",
55
+ "24", "L in case - R in ear",
56
+ "73", "L in case - R in ear",
57
+ "20", "R in case - L out of case",
58
+ "31", "R in case - L out of case",
59
+ "51", "R in case - L out of case",
60
+ "04", "R in case - L in ear",
61
+ "22", "R in case - L in ear",
62
+ "33", "R in case - L in ear",
63
+ "53", "R in case - L in ear",
64
+ "01", "both out of case",
65
+ "21", "both out of case",
66
+ "03", "R in ear - L out of case",
67
+ "29", "R in ear - L out of case",
68
+ "23", "L in ear - R out of case",
69
+ "09", "L in ear - R out of case",
70
+ "0b", "both in ears",
71
+ "2b", "both in ears"]
72
+ },
73
+ "_status":{
74
+ "condition":["manufacturerdata", 10, "0a20"],
75
+ "decoder":["string_from_hex_data", "manufacturerdata", 14, 2],
76
+ "lookup":["25", "in case",
77
+ "34", "in case",
78
+ "35", "in case",
79
+ "75", "in case",
80
+ "21", "out of case",
81
+ "2b", "on ears"]
82
+ },
83
+ "batt_r":{
84
+ "condition":["manufacturerdata", 14, "bit", 1, 1],
85
+ "decoder":["value_from_hex_data", "manufacturerdata", 16, 1],
86
+ "post_proc":["*", 10, "max", 100]
87
+ },
88
+ "_batt_r":{
89
+ "condition":["manufacturerdata", 14, "bit", 1, 0, "&", "manufacturerdata", 10, "!", "0a20"],
90
+ "decoder":["value_from_hex_data", "manufacturerdata", 17, 1],
91
+ "post_proc":["*", 10, "max", 100]
92
+ },
93
+ "batt_l":{
94
+ "condition":["manufacturerdata", 14, "bit", 1, 1, "&", "manufacturerdata", 10, "!", "0a20"],
95
+ "decoder":["value_from_hex_data", "manufacturerdata", 17, 1],
96
+ "post_proc":["*", 10, "max", 100]
97
+ },
98
+ "_batt_l":{
99
+ "condition":["manufacturerdata", 14, "bit", 1, 0, "&", "manufacturerdata", 10, "!", "0a20"],
100
+ "decoder":["value_from_hex_data", "manufacturerdata", 16, 1],
101
+ "post_proc":["*", 10, "max", 100]
102
+ },
103
+ "batt_case":{
104
+ "condition":["manufacturerdata", 10, "!", "0a20"],
105
+ "decoder":["value_from_hex_data", "manufacturerdata", 19, 1],
106
+ "post_proc":["*", 10, "max", 100]
107
+ },
108
+ "charging_r":{
109
+ "condition":["manufacturerdata", 14, "bit", 1, 1],
110
+ "decoder":["bit_static_value", "manufacturerdata", 18, 1, false, true]
111
+ },
112
+ "_charging_r":{
113
+ "condition":["manufacturerdata", 14, "bit", 1, 0, "&", "manufacturerdata", 10, "!", "0a20"],
114
+ "decoder":["bit_static_value", "manufacturerdata", 18, 0, false, true]
115
+ },
116
+ "charging_l":{
117
+ "condition":["manufacturerdata", 14, "bit", 1, 1, "&", "manufacturerdata", 10, "!", "0a20"],
118
+ "decoder":["bit_static_value", "manufacturerdata", 18, 0, false, true]
119
+ },
120
+ "_charging_l":{
121
+ "condition":["manufacturerdata", 14, "bit", 1, 0, "&", "manufacturerdata", 10, "!", "0a20"],
122
+ "decoder":["bit_static_value", "manufacturerdata", 18, 1, false, true]
123
+ },
124
+ "charging_case":{
125
+ "condition":["manufacturerdata", 10, "!", "0a20"],
126
+ "decoder":["bit_static_value", "manufacturerdata", 18, 2, false, true]
127
+ }
128
+ }
129
+ })"""";*/
130
+
131
+ const char* _APPLEAIRPODS_json_props = "{\"properties\":{\"version\":{\"unit\":\"string\",\"name\":\"model version\"},\"color\":{\"unit\":\"string\",\"name\":\"color\"},\"status\":{\"unit\":\"string\",\"name\":\"status\"},\"batt_r\":{\"unit\":\"%\",\"name\":\"battery\"},\"batt_l\":{\"unit\":\"%\",\"name\":\"battery\"},\"batt_case\":{\"unit\":\"%\",\"name\":\"battery\"},\"charging_r\":{\"unit\":\"status\",\"name\":\"battery_charging\"},\"charging_l\":{\"unit\":\"status\",\"name\":\"battery_charging\"},\"charging_case\":{\"unit\":\"status\",\"name\":\"battery_charging\"}}}";
132
+ /*R""""(
133
+ {
134
+ "properties":{
135
+ "version":{
136
+ "unit":"string",
137
+ "name":"model version"
138
+ },
139
+ "color":{
140
+ "unit":"string",
141
+ "name":"color"
142
+ },
143
+ "status":{
144
+ "unit":"string",
145
+ "name":"status"
146
+ },
147
+ "batt_r":{
148
+ "unit":"%",
149
+ "name":"battery"
150
+ },
151
+ "batt_l":{
152
+ "unit":"%",
153
+ "name":"battery"
154
+ },
155
+ "batt_case":{
156
+ "unit":"%",
157
+ "name":"battery"
158
+ },
159
+ "charging_r":{
160
+ "unit":"status",
161
+ "name":"battery_charging"
162
+ },
163
+ "charging_l":{
164
+ "unit":"status",
165
+ "name":"battery_charging"
166
+ },
167
+ "charging_case":{
168
+ "unit":"status",
169
+ "name":"battery_charging"
170
+ }
171
+ }
172
+ })"""";*/
@@ -1,11 +1,11 @@
1
- const char* _BC08_json = "{\"brand\":\"BlueCharm\",\"model\":\"Beacon 08/04P/021\",\"model_id\":\"KSensor\",\"tag\":\"0708\",\"condition\":[\"servicedata\",\"=\",26,\"index\",0,\"21010b\",\"&\",\"uuid\",\"index\",0,\"feaa\"],\"properties\":{\".cal\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",12,2,false,false],\"post_proc\":[\"/\",256,\"*\",100,\">\",0,\"/\",100]},\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",10,2,false,true],\"post_proc\":[\"+\",\".cal\"]},\"accx\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",14,4,false,true]},\"accy\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",18,4,false,true]},\"accz\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",22,4,false,true]},\"volt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",6,4,false,false],\"post_proc\":[\"/\",1000]}}}";
1
+ const char* _BC08_json = "{\"brand\":\"BlueCharm\",\"model\":\"Beacon 08/04P/021\",\"model_id\":\"KSensor\",\"tag\":\"0708\",\"condition\":[\"uuid\",\"index\",0,\"feaa\",\"&\",\"servicedata\",\"=\",26,\"index\",0,\"21010b\",\"|\",\"servicedata\",\"=\",26,\"index\",0,\"21000b\"],\"properties\":{\".cal\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",12,2,false,false],\"post_proc\":[\"/\",256,\"*\",100,\">\",0,\"/\",100]},\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",10,2,false,true],\"post_proc\":[\"+\",\".cal\"]},\"accx\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",14,4,false,true]},\"accy\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",18,4,false,true]},\"accz\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",22,4,false,true]},\"volt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",6,4,false,false],\"post_proc\":[\"/\",1000]}}}";
2
2
  /*R""""(
3
3
  {
4
4
  "brand":"BlueCharm",
5
5
  "model":"Beacon 08/04P/021",
6
6
  "model_id":"KSensor",
7
7
  "tag":"0708",
8
- "condition":["servicedata", "=", 26, "index", 0, "21010b", "&", "uuid", "index", 0, "feaa"],
8
+ "condition":["uuid", "index", 0, "feaa", "&", "servicedata", "=", 26, "index", 0, "21010b", "|", "servicedata", "=", 26, "index", 0, "21000b"],
9
9
  "properties":{
10
10
  ".cal":{
11
11
  "decoder":["value_from_hex_data", "servicedata", 12, 2, false, false],
@@ -57,14 +57,14 @@ const char* _CGDK2_json_ATC1441 = "{\"brand\":\"ClearGrass/Qingping\",\"model\":
57
57
  })"""";*/
58
58
 
59
59
  // PVVX
60
- const char* _CGDK2_json_PVVX = "{\"brand\":\"ClearGrass/Qingping\",\"model\":\"TH Lite\",\"model_id\":\"CGDK2_PVVX\",\"tag\":\"0102\",\"condition\":[\"servicedata\",\"=\",30,\"&\",\"uuid\",\"index\",0,\"181a\",\"&\",\"name\",\"index\",0,\"CGDK\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",12,4,true],\"post_proc\":[\"/\",100]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",16,4,true],\"post_proc\":[\"/\",100]},\"batt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",24,2,false]},\"volt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",20,4,true],\"post_proc\":[\"/\",1000]},\"mac\":{\"decoder\":[\"revmac_from_hex_data\",\"servicedata\",0]}}}";
60
+ const char* _CGDK2_json_PVVX = "{\"brand\":\"ClearGrass/Qingping\",\"model\":\"TH Lite\",\"model_id\":\"CGDK2_PVVX\",\"tag\":\"0102\",\"condition\":[\"servicedata\",\"=\",30,\"&\",\"uuid\",\"index\",0,\"181a\",\"&\",\"name\",\"index\",0,\"CGD\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",12,4,true],\"post_proc\":[\"/\",100]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",16,4,true],\"post_proc\":[\"/\",100]},\"batt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",24,2,false]},\"volt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",20,4,true],\"post_proc\":[\"/\",1000]},\"mac\":{\"decoder\":[\"revmac_from_hex_data\",\"servicedata\",0]}}}";
61
61
  /* R""""(
62
62
  {
63
63
  "brand":"ClearGrass/Qingping",
64
64
  "model":"TH Lite",
65
65
  "model_id":"CGDK2_PVVX",
66
66
  "tag":"0102",
67
- "condition":["servicedata", "=", 30, "&", "uuid", "index", 0, "181a", "&", "name", "index", 0, "CGDK"],
67
+ "condition":["servicedata", "=", 30, "&", "uuid", "index", 0, "181a", "&", "name", "index", 0, "CGD"],
68
68
  "properties":{
69
69
  "tempc":{
70
70
  "decoder":["value_from_hex_data", "servicedata", 12, 4, true],
@@ -1,11 +1,11 @@
1
- const char* _H5055_json = "{\"brand\":\"Govee\",\"model\":\"Bluetooth BBQ Thermometer\",\"model_id\":\"H5055\",\"tag\":\"0301\",\"condition\":[\"manufacturerdata\",\">=\",41,\"index\",12,\"06\",\"|\",\"manufacturerdata\",\">=\",41,\"index\",12,\"20\",\"&\",\"manufacturerdata\",\"index\",26,\"06\",\"|\",\"manufacturerdata\",\">=\",41,\"index\",26,\"20\",\"&\",\"manufacturerdata\",\"index\",40,\"0\"],\"properties\":{\"tempc1\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,true,false]},\"tempc2\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]},\"tempc3\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,1],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,true,false]},\"tempc4\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,1],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]},\"tempc5\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,1,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,true,false]},\"tempc6\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,1,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]},\"batt\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,2,false]}}}";
1
+ const char* _H5055_json = "{\"brand\":\"Govee\",\"model\":\"Bluetooth BBQ Thermometer\",\"model_id\":\"H5055\",\"tag\":\"0301\",\"condition\":[\"manufacturerdata\",\"index\",12,\"06\",\"|\",\"manufacturerdata\",\"index\",12,\"20\",\"|\",\"manufacturerdata\",\"index\",12,\"22\",\"&\",\"manufacturerdata\",\"=\",44,\"index\",40,\"0000\",\"|\",\"manufacturerdata\",\"=\",41,\"index\",40,\"0\"],\"properties\":{\"tempc1\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,true,false]},\"tempc2\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]},\"tempc3\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,1],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,true,false]},\"tempc4\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,0,\"&\",\"manufacturerdata\",10,\"bit\",2,1],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]},\"tempc5\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,1,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,true,false]},\"tempc6\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ffff\",\"&\",\"manufacturerdata\",10,\"bit\",3,1,\"&\",\"manufacturerdata\",10,\"bit\",2,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]},\"batt\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,2,false]}}}";
2
2
  /*R""""(
3
3
  {
4
4
  "brand":"Govee",
5
5
  "model":"Bluetooth BBQ Thermometer",
6
6
  "model_id":"H5055",
7
7
  "tag":"0301",
8
- "condition":["manufacturerdata", ">=", 41, "index", 12, "06", "|", "manufacturerdata", ">=", 41, "index", 12, "20", "&", "manufacturerdata", "index", 26, "06", "|", "manufacturerdata", ">=", 41, "index", 26, "20", "&", "manufacturerdata", "index", 40, "0"],
8
+ "condition":["manufacturerdata", "index", 12, "06", "|", "manufacturerdata", "index", 12, "20", "|", "manufacturerdata", "index", 12, "22", "&", "manufacturerdata", "=", 44, "index", 40, "0000", "|", "manufacturerdata", "=", 41, "index", 40, "0"],
9
9
  "properties":{
10
10
  "tempc1":{
11
11
  "condition":["manufacturerdata", 14, "!", "ffff", "&", "manufacturerdata", 10, "bit", 3, 0, "&", "manufacturerdata", 10, "bit", 2, 0],
@@ -1,4 +1,4 @@
1
- const char* _HOBOMX2001_json = "{\"brand\":\"Onset\",\"model\":\"Hobo Water Level Sensor\",\"model_id\":\"HOBOMX2001\",\"tag\":\"ff\",\"condition\":[\"manufacturerdata\",\"=\",44,\"index\",0,\"c500\"],\"properties\":{\"lvl_cm\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",36,8,true,false,true],\"post_proc\":[\"*\",100]}}}";
1
+ const char* _HOBOMX2001_json = "{\"brand\":\"Onset\",\"model\":\"Hobo Water Level Sensor\",\"model_id\":\"HOBOMX2001\",\"tag\":\"ff\",\"condition\":[\"manufacturerdata\",\"=\",44,\"index\",0,\"c500\"],\"properties\":{\"lvl_cm\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",36,8,true,true,true],\"post_proc\":[\"*\",100]}}}";
2
2
  /* R""""(
3
3
  {
4
4
  "brand":"Onset",
@@ -8,7 +8,7 @@ const char* _HOBOMX2001_json = "{\"brand\":\"Onset\",\"model\":\"Hobo Water Leve
8
8
  "condition":["manufacturerdata", "=", 44, "index", 0, "c500"],
9
9
  "properties":{
10
10
  "lvl_cm":{
11
- "decoder":["value_from_hex_data", "manufacturerdata", 36, 8, true, false, true],
11
+ "decoder":["value_from_hex_data", "manufacturerdata", 36, 8, true, true, true],
12
12
  "post_proc":["*", 100]
13
13
  }
14
14
  }
@@ -0,0 +1,32 @@
1
+ const char* _HOLYIOT_json = "{\"brand\":\"HolyIoT\",\"model\":\"Beacon\",\"model_id\":\"HOLYIOT\",\"tag\":\"1009\",\"condition\":[\"manufacturerdata\",\"=\",50,\"index\",0,\"4c000215\",\"&\",\"servicedata\",\"=\",26,\"index\",0,\"416\",\"&\",\"uuid\",\"index\",0,\"5242\"],\"properties\":{\"batt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",2,2]},\"device\":{\"decoder\":[\"static_value\",\"HolyIoT Beacon Tracker\"]}}}";
2
+ /*R""""(
3
+ {
4
+ "brand":"HolyIoT",
5
+ "model":"Beacon",
6
+ "model_id":"HOLYIOT",
7
+ "tag":"1009",
8
+ "condition":["manufacturerdata", "=", 50, "index", 0, "4c000215", "&", "servicedata", "=", 26, "index", 0, "416", "&", "uuid", "index", 0, "5242"],
9
+ "properties":{
10
+ "batt":{
11
+ "decoder":["value_from_hex_data", "servicedata", 2, 2]
12
+ },
13
+ "device":{
14
+ "decoder":["static_value", "HolyIoT Beacon Tracker"]
15
+ }
16
+ }
17
+ })"""";*/
18
+
19
+ const char* _HOLYIOT_json_props = "{\"properties\":{\"batt\":{\"unit\":\"%\",\"name\":\"battery\"},\"device\":{\"unit\":\"string\",\"name\":\"tracker device\"}}}";
20
+ /*R""""(
21
+ {
22
+ "properties":{
23
+ "batt":{
24
+ "unit":"%",
25
+ "name":"battery"
26
+ },
27
+ "device":{
28
+ "unit":"string",
29
+ "name":"tracker device"
30
+ }
31
+ }
32
+ })"""";*/
@@ -1,4 +1,4 @@
1
- const char* _RuuviTag_RAWv2_json = "{\"brand\":\"Ruuvi\",\"model\":\"RuuviTag\",\"model_id\":\"RuuviTag_RAWv2\",\"tag\":\"0708\",\"condition\":[\"manufacturerdata\",\"=\",52,\"index\",0,\"990405\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",6,4,false,true],\"post_proc\":[\"/\",200]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",10,4,false,false],\"post_proc\":[\"/\",400]},\"pres\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false],\"post_proc\":[\"+\",50000,\"/\",100]},\"accx\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",18,4,false,true],\"post_proc\":[\"/\",10000,\"*\",9.80665]},\"accy\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,4,false,true],\"post_proc\":[\"/\",10000,\"*\",9.80665]},\"accz\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",26,4,false,true],\"post_proc\":[\"/\",10000,\"*\",9.80665]},\"volt\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4,false,false],\"post_proc\":[\">\",5,\"+\",1600,\"/\",1000]},\"tx\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4,false,false],\"post_proc\":[\"%\",32,\"*\",2,\"-\",40]},\"mov\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",34,2,false,false]},\"seq\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",36,4,false,false]},\"mac\":{\"decoder\":[\"mac_from_hex_data\",\"manufacturerdata\",40]}}}";
1
+ const char* _RuuviTag_RAWv2_json = "{\"brand\":\"Ruuvi\",\"model\":\"RuuviTag\",\"model_id\":\"RuuviTag_RAWv2\",\"tag\":\"0708\",\"condition\":[\"manufacturerdata\",\"=\",52,\"index\",0,\"990405\"],\"properties\":{\"tempc\":{\"condition\":[\"manufacturerdata\",6,\"!\",\"8000\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",6,4,false,true],\"post_proc\":[\"/\",200]},\"hum\":{\"condition\":[\"manufacturerdata\",10,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",10,4,false,false],\"post_proc\":[\"/\",400]},\"pres\":{\"condition\":[\"manufacturerdata\",14,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false],\"post_proc\":[\"+\",50000,\"/\",100]},\"accx\":{\"condition\":[\"manufacturerdata\",18,\"!\",\"8000\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",18,4,false,true],\"post_proc\":[\"/\",10000,\"*\",9.80665]},\"accy\":{\"condition\":[\"manufacturerdata\",22,\"!\",\"8000\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,4,false,true],\"post_proc\":[\"/\",10000,\"*\",9.80665]},\"accz\":{\"condition\":[\"manufacturerdata\",26,\"!\",\"8000\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",26,4,false,true],\"post_proc\":[\"/\",10000,\"*\",9.80665]},\"volt\":{\"condition\":[\"manufacturerdata\",30,\"!\",\"7ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4,false,false],\"post_proc\":[\">\",5,\"+\",1600,\"/\",1000]},\"tx\":{\"condition\":[\"manufacturerdata\",33,\"!\",\"f\",\"&\",\"manufacturerdata\",32,\"!\",\"1\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4,false,false],\"post_proc\":[\"%\",32,\"*\",2,\"-\",40]},\"mov\":{\"condition\":[\"manufacturerdata\",34,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",34,2,false,false]},\"seq\":{\"condition\":[\"manufacturerdata\",36,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",36,4,false,false]},\"mac\":{\"decoder\":[\"mac_from_hex_data\",\"manufacturerdata\",40]}}}";
2
2
  /*R""""(
3
3
  {
4
4
  "brand":"Ruuvi",
@@ -8,41 +8,51 @@ const char* _RuuviTag_RAWv2_json = "{\"brand\":\"Ruuvi\",\"model\":\"RuuviTag\",
8
8
  "condition":["manufacturerdata", "=", 52, "index", 0, "990405"],
9
9
  "properties":{
10
10
  "tempc":{
11
+ "condition":["manufacturerdata", 6, "!", "8000"],
11
12
  "decoder":["value_from_hex_data", "manufacturerdata", 6, 4, false, true],
12
13
  "post_proc":["/", 200]
13
14
  },
14
15
  "hum":{
16
+ "condition":["manufacturerdata", 10, "!", "ffff"],
15
17
  "decoder":["value_from_hex_data", "manufacturerdata", 10, 4, false, false],
16
18
  "post_proc":["/", 400]
17
19
  },
18
20
  "pres":{
21
+ "condition":["manufacturerdata", 14, "!", "ffff"],
19
22
  "decoder":["value_from_hex_data", "manufacturerdata", 14, 4, false, false],
20
23
  "post_proc":["+", 50000, "/", 100]
21
24
  },
22
25
  "accx":{
26
+ "condition":["manufacturerdata", 18, "!", "8000"],
23
27
  "decoder":["value_from_hex_data", "manufacturerdata", 18, 4, false, true],
24
28
  "post_proc":["/", 10000, "*", 9.80665]
25
29
  },
26
30
  "accy":{
31
+ "condition":["manufacturerdata", 22, "!", "8000"],
27
32
  "decoder":["value_from_hex_data", "manufacturerdata", 22, 4, false, true],
28
33
  "post_proc":["/", 10000, "*", 9.80665]
29
34
  },
30
35
  "accz":{
36
+ "condition":["manufacturerdata", 26, "!", "8000"],
31
37
  "decoder":["value_from_hex_data", "manufacturerdata", 26, 4, false, true],
32
38
  "post_proc":["/", 10000, "*", 9.80665]
33
39
  },
34
40
  "volt":{
41
+ "condition":["manufacturerdata", 30, "!", "7ff"],
35
42
  "decoder":["value_from_hex_data", "manufacturerdata", 30, 4, false, false],
36
43
  "post_proc":[">", 5, "+", 1600, "/", 1000]
37
44
  },
38
45
  "tx":{
46
+ "condition":["manufacturerdata", 33, "!", "f", "&", "manufacturerdata", 32, "!", "1"],
39
47
  "decoder":["value_from_hex_data", "manufacturerdata", 30, 4, false, false],
40
48
  "post_proc":["%", 32, "*", 2, "-", 40]
41
49
  },
42
50
  "mov":{
51
+ "condition":["manufacturerdata", 34, "!", "ff"],
43
52
  "decoder":["value_from_hex_data", "manufacturerdata", 34, 2, false, false]
44
53
  },
45
54
  "seq":{
55
+ "condition":["manufacturerdata", 36, "!", "ffff"],
46
56
  "decoder":["value_from_hex_data", "manufacturerdata", 36, 4, false, false]
47
57
  },
48
58
  "mac":{
@@ -0,0 +1,42 @@
1
+ const char* _SensorPush_HTP_json = "{\"brand\":\"SensorPush\",\"model\":\"HTP.xw\",\"model_id\":\"SPHTP\",\"tag\":\"0209\",\"condition\":[\"manufacturerdata\",\"=\",14,\"index\",0,\"00\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",2,12,true,true],\"post_proc\":[\"%\",72001,\"*\",0.0025,\"+\",-40]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",2,12,true,false],\"post_proc\":[\"%\",2880112001,\"/\",72001,\"*\",0.0025]},\"pres\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",2,12,true,false],\"post_proc\":[\"%\",273613520207001,\"/\",2880112001,\"+\",30000.0,\"/\",100.0]}}}";
2
+ /* R""""(
3
+ {
4
+ "brand": "SensorPush",
5
+ "model": "HTP.xw",
6
+ "model_id": "SPHTP",
7
+ "tag": "0209",
8
+ "condition": ["manufacturerdata", "=", 14, "index", 0, "00"],
9
+ "properties": {
10
+ "tempc": {
11
+ "decoder": ["value_from_hex_data", "manufacturerdata", 2, 12, true, true],
12
+ "post_proc": ["%", 72001, "*", 0.0025, "+", -40]
13
+ },
14
+ "hum": {
15
+ "decoder": ["value_from_hex_data", "manufacturerdata", 2, 12, true, false],
16
+ "post_proc": ["%", 2880112001, "/", 72001, "*", 0.0025]
17
+ },
18
+ "pres":{
19
+ "decoder": ["value_from_hex_data", "manufacturerdata", 2, 12, true, false],
20
+ "post_proc": ["%", 273613520207001, "/", 2880112001, "+", 30000.0, "/", 100.0]
21
+ }
22
+ }
23
+ })"""";*/
24
+
25
+ const char* _SensorPush_HTP_json_props = "{\"properties\":{\"tempc\":{\"unit\":\"°C\",\"name\":\"temperature\"},\"hum\":{\"unit\":\"%\",\"name\":\"humidity\"},\"pres\":{\"unit\":\"hPa\",\"name\":\"pressure\"}}}";
26
+ /*R""""(
27
+ {
28
+ "properties": {
29
+ "tempc": {
30
+ "unit":"°C",
31
+ "name":"temperature"
32
+ },
33
+ "hum": {
34
+ "unit":"%",
35
+ "name":"humidity"
36
+ },
37
+ "pres": {
38
+ "unit":"hPa",
39
+ "name":"pressure"
40
+ }
41
+ }
42
+ })"""";*/