@alteriom/painlessmesh 1.7.8 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +139 -3
  2. package/README.md +114 -4
  3. package/RELEASE_GUIDE.md +57 -8
  4. package/docs/BRIDGE_FAILOVER.md +512 -0
  5. package/docs/BRIDGE_HEALTH_MONITORING.md +293 -0
  6. package/docs/CREATE_MISSING_RELEASES.md +321 -0
  7. package/docs/README.md +2 -1
  8. package/docs/RELEASE_AGENT_SUMMARY.md +386 -0
  9. package/docs/releases/RELEASE_SUMMARY_v1.7.8.md +523 -0
  10. package/docs/releases/RELEASE_SUMMARY_v1.7.9.md +542 -0
  11. package/docs/troubleshooting/ESP32_C6_COMPATIBILITY.md +157 -0
  12. package/docs/troubleshooting/common-issues.md +28 -0
  13. package/examples/alteriom/alteriom_sensor_package.hpp +233 -1
  14. package/examples/alteriom/platformio.ini +1 -1
  15. package/examples/alteriomImproved/platformio.ini +1 -1
  16. package/examples/alteriomMetricsHealth/metrics_health_node.ino +18 -7
  17. package/examples/alteriomMetricsHealth/platformio.ini +1 -1
  18. package/examples/alteriomPhase1/platformio.ini +1 -1
  19. package/examples/alteriomPhase2/platformio.ini +1 -1
  20. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +1014 -11
  21. package/examples/alteriomSensorNode/platformio.ini +1 -1
  22. package/examples/basic/basic.ino +6 -2
  23. package/examples/basic/platformio.ini +1 -1
  24. package/examples/bridge/alteriom_sensor_package.hpp +1170 -0
  25. package/examples/bridge/bridge.ino +44 -23
  26. package/examples/bridge/bridge_health_monitoring_example.ino +188 -0
  27. package/examples/bridge/enhanced_mqtt_bridge.hpp +1 -1
  28. package/examples/bridge/mqtt_command_bridge.hpp +2 -2
  29. package/examples/bridge/platformio.ini +2 -1
  30. package/examples/bridgeAwareSensorNode/alteriom_sensor_package.hpp +1227 -0
  31. package/examples/bridgeAwareSensorNode/bridgeAwareSensorNode.ino +343 -0
  32. package/examples/bridgeAwareSensorNode/platformio.ini +26 -0
  33. package/examples/bridge_failover/README.md +358 -0
  34. package/examples/bridge_failover/bridge_failover.ino +180 -0
  35. package/examples/bridge_failover/platformio.ini +27 -0
  36. package/examples/diagnosticsExample/diagnosticsExample.ino +171 -0
  37. package/examples/diagnosticsExample/platformio.ini +26 -0
  38. package/examples/echoNode/platformio.ini +1 -1
  39. package/examples/logClient/platformio.ini +1 -1
  40. package/examples/logServer/platformio.ini +1 -1
  41. package/examples/mqttStatusBridge/platformio.ini +1 -1
  42. package/examples/namedMesh/platformio.ini +1 -1
  43. package/examples/ntpTimeSyncBridge/alteriom_sensor_package.hpp +1383 -0
  44. package/examples/ntpTimeSyncBridge/ntpTimeSyncBridge.ino +81 -0
  45. package/examples/ntpTimeSyncNode/alteriom_sensor_package.hpp +1383 -0
  46. package/examples/ntpTimeSyncNode/ntpTimeSyncNode.ino +109 -0
  47. package/examples/otaReceiver/platformio.ini +1 -1
  48. package/examples/rtcIntegration/README.md +235 -0
  49. package/examples/rtcIntegration/rtcIntegration.ino +196 -0
  50. package/examples/startHere/platformio.ini +1 -1
  51. package/examples/webServer/platformio.ini +1 -1
  52. package/library.json +93 -53
  53. package/library.properties +1 -1
  54. package/package.json +2 -2
  55. package/src/arduino/wifi.hpp +581 -0
  56. package/src/painlessMeshSTA.cpp +68 -0
  57. package/src/painlessMeshSTA.h +3 -0
  58. package/src/painlessmesh/mesh.hpp +1127 -4
  59. package/src/painlessmesh/rtc.hpp +203 -0
package/library.json CHANGED
@@ -1,55 +1,95 @@
1
1
  {
2
- "name": "AlteriomPainlessMesh",
3
- "keywords": "ethernet, m2m, iot, mesh, alteriom, sensor, esp32, esp8266, json, time-sync, wireless, communication",
4
- "description": "painlessMesh is a user-friendly library for creating mesh networks with ESP8266 and ESP32 devices. This Alteriom fork includes additional packages for sensor data (SensorPackage), device commands (CommandPackage), and status monitoring (StatusPackage). It handles routing and network management automatically, so you can focus on your application. The library uses JSON-based messaging and syncs time across all nodes, making it ideal for coordinated behaviour like synchronized light displays or sensor networks reporting to a central node.",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/Alteriom/painlessMesh"
8
- },
9
- "version": "1.7.8",
10
- "frameworks": ["arduino"],
11
- "platforms": ["espressif8266", "espressif32"],
12
- "srcDir": "src",
13
- "includeDir": "src",
14
- "dependencies": [
15
- { "owner": "esp32async", "name": "AsyncTCP", "version": "^3.4.7", "platforms" : ["espressif32"] },
16
- { "owner": "esp32async", "name": "ESPAsyncTCP", "version": "^2.0.0", "platforms" : ["espressif8266"] },
17
- { "owner": "bblanchon", "name": "ArduinoJson", "version": "^7.4.2" },
18
- { "owner": "arkhipenko", "name": "TaskScheduler", "version": "^4.0.0" }
19
- ],
20
- "authors": [
21
- { "name": "Scotty Franzyshen" },
22
- {
23
- "name": "Coopdis",
24
- "url": "https://github.com/Coopdis"
25
- },
26
- { "name": "Edwin van Leeuwen" },
27
- { "name": "Germán Martín" },
28
- { "name": "Maximilian Schwarz" },
29
- { "name": "Doanh Doanh" },
30
- {
31
- "name": "Alteriom",
32
- "url": "https://github.com/Alteriom",
33
- "maintainer": true
34
- }
35
- ],
36
- "license": "LGPL-3.0",
37
- "homepage": "https://github.com/Alteriom/painlessMesh",
38
- "headers": ["painlessMesh.h", "AlteriomPainlessMesh.h"],
39
- "examples": [
40
- "examples/alteriom/alteriom.ino",
41
- "examples/alteriom/alteriom_sensor_node.ino",
42
- "examples/alteriom/improved_sensor_node.ino",
43
- "examples/basic/basic.ino",
44
- "examples/bridge/bridge.ino",
45
- "examples/echoNode/echoNode.ino",
46
- "examples/logClient/logClient.ino",
47
- "examples/logServer/logServer.ino",
48
- "examples/mqttBridge/mqttBridge.ino",
49
- "examples/namedMesh/namedMesh.ino",
50
- "examples/otaReceiver/otaReceiver.ino",
51
- "examples/otaSender/otaSender.ino",
52
- "examples/startHere/startHere.ino",
53
- "examples/webServer/webServer.ino"
54
- ]
2
+ "name": "AlteriomPainlessMesh",
3
+ "keywords": "ethernet, m2m, iot, mesh, alteriom, sensor, esp32, esp8266, json, time-sync, wireless, communication",
4
+ "description": "painlessMesh is a user-friendly library for creating mesh networks with ESP8266 and ESP32 devices. This Alteriom fork includes additional packages for sensor data (SensorPackage), device commands (CommandPackage), and status monitoring (StatusPackage). It handles routing and network management automatically, so you can focus on your application. The library uses JSON-based messaging and syncs time across all nodes, making it ideal for coordinated behaviour like synchronized light displays or sensor networks reporting to a central node.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Alteriom/painlessMesh"
8
+ },
9
+ "version": "1.8.0",
10
+ "frameworks": [
11
+ "arduino"
12
+ ],
13
+ "platforms": [
14
+ "espressif8266",
15
+ "espressif32"
16
+ ],
17
+ "srcDir": "src",
18
+ "includeDir": "src",
19
+ "dependencies": [
20
+ {
21
+ "owner": "esp32async",
22
+ "name": "AsyncTCP",
23
+ "version": "^3.4.7",
24
+ "platforms": [
25
+ "espressif32"
26
+ ]
27
+ },
28
+ {
29
+ "owner": "esp32async",
30
+ "name": "ESPAsyncTCP",
31
+ "version": "^2.0.0",
32
+ "platforms": [
33
+ "espressif8266"
34
+ ]
35
+ },
36
+ {
37
+ "owner": "bblanchon",
38
+ "name": "ArduinoJson",
39
+ "version": "^7.4.2"
40
+ },
41
+ {
42
+ "owner": "arkhipenko",
43
+ "name": "TaskScheduler",
44
+ "version": "^4.0.0"
45
+ }
46
+ ],
47
+ "authors": [
48
+ {
49
+ "name": "Scotty Franzyshen"
50
+ },
51
+ {
52
+ "name": "Coopdis",
53
+ "url": "https://github.com/Coopdis"
54
+ },
55
+ {
56
+ "name": "Edwin van Leeuwen"
57
+ },
58
+ {
59
+ "name": "Germán Martín"
60
+ },
61
+ {
62
+ "name": "Maximilian Schwarz"
63
+ },
64
+ {
65
+ "name": "Doanh Doanh"
66
+ },
67
+ {
68
+ "name": "Alteriom",
69
+ "url": "https://github.com/Alteriom",
70
+ "maintainer": true
71
+ }
72
+ ],
73
+ "license": "LGPL-3.0",
74
+ "homepage": "https://github.com/Alteriom/painlessMesh",
75
+ "headers": [
76
+ "painlessMesh.h",
77
+ "AlteriomPainlessMesh.h"
78
+ ],
79
+ "examples": [
80
+ "examples/alteriom/alteriom.ino",
81
+ "examples/alteriom/alteriom_sensor_node.ino",
82
+ "examples/alteriom/improved_sensor_node.ino",
83
+ "examples/basic/basic.ino",
84
+ "examples/bridge/bridge.ino",
85
+ "examples/echoNode/echoNode.ino",
86
+ "examples/logClient/logClient.ino",
87
+ "examples/logServer/logServer.ino",
88
+ "examples/mqttBridge/mqttBridge.ino",
89
+ "examples/namedMesh/namedMesh.ino",
90
+ "examples/otaReceiver/otaReceiver.ino",
91
+ "examples/otaSender/otaSender.ino",
92
+ "examples/startHere/startHere.ino",
93
+ "examples/webServer/webServer.ino"
94
+ ]
55
95
  }
@@ -1,5 +1,5 @@
1
1
  name=AlteriomPainlessMesh
2
- version=1.7.8
2
+ version=1.8.0
3
3
  author=Coopdis,Scotty Franzyshen,Edwin van Leeuwen,Germán Martín,Maximilian Schwarz,Doanh Doanh,Alteriom
4
4
  maintainer=Alteriom
5
5
  sentence=A painless way to setup a mesh with ESP8266 and ESP32 devices with Alteriom extensions
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alteriom/painlessmesh",
3
- "version": "1.7.8",
3
+ "version": "1.8.0",
4
4
  "description": "painlessMesh is a user-friendly library for creating mesh networks with ESP8266 and ESP32 devices. This Alteriom fork includes additional packages for sensor data (SensorPackage), device commands (CommandPackage), and status monitoring (StatusPackage). It handles routing and network management automatically, so you can focus on your application. The library uses JSON-based messaging and syncs time across all nodes, making it ideal for coordinated behaviour like synchronized light displays or sensor networks reporting to a central node.",
5
5
  "keywords": [
6
6
  "arduino",
@@ -39,7 +39,7 @@
39
39
  "url": "https://github.com/Alteriom/painlessMesh/issues"
40
40
  },
41
41
  "devDependencies": {
42
- "@alteriom/mqtt-schema": "^0.7.2",
42
+ "@alteriom/mqtt-schema": "^0.7.3",
43
43
  "@eslint/js": "^9.0.0",
44
44
  "ajv": "^8.17.1",
45
45
  "ajv-formats": "^3.0.1",