Comments (2)
Noting the following behavior when banned (on the MQTT /error
topic):
The cbErrorTopic
callback should work in the following way:
a) Client stays connected to Adafruit IO's MQTT broker, it should disconnect from MQTT first.
b) Sketch should attempt to reconnect the client to Adafruit IO's MQTT broker, using an exponential backoff interval. This should be implemented within mqttStatus()
10:53:04.377 -> Looking for subscription len 18
10:53:04.377 -> Found sub #2
10:53:04.377 -> Data len: 66
10:53:04.377 -> Data: "enforcement limit reached, your account is banned for 30 seconds"
10:53:04.377 -> IO ERROR: "enforcement limit reached, your account is banned for 30 seconds"
10:53:04.377 -> Disconnecting device from Adafruit IO...
10:53:04.377 -> ERROR: Please define a network interface
10:53:04.545 -> MQTT ping packet:
Full debug output:
10:53:04.143 -> Data len: 73
10:53:04.143 -> Data: "brentrubell data rate limit reached, 14 seconds until throttle released"
10:53:04.143 -> IO Throttle Error: "brentrubell data rate limit reached, 14 seconds until throttle released"
10:53:04.344 -> Read data: 0 [0x30],
10:53:04.344 -> Packet Type: 0 [0x30],
10:53:04.344 -> Read data: V [0x56],
10:53:04.344 -> Packet Length: 86
10:53:04.344 -> Read data: [0x00], [0x12], b [0x62], r [0x72], e [0x65], n [0x6E], t [0x74], r [0x72],
10:53:04.344 -> u [0x75], b [0x62], e [0x65], l [0x6C], l [0x6C], / [0x2F], e [0x65], r [0x72],
10:53:04.344 -> r [0x72], o [0x6F], r [0x72], s [0x73], " [0x22], e [0x65], n [0x6E], f [0x66],
10:53:04.344 -> o [0x6F], r [0x72], c [0x63], e [0x65], m [0x6D], e [0x65], n [0x6E], t [0x74],
10:53:04.344 -> [0x20], l [0x6C], i [0x69], m [0x6D], i [0x69], t [0x74], [0x20], r [0x72],
10:53:04.344 -> e [0x65], a [0x61], c [0x63], h [0x68], e [0x65], d [0x64], , [0x2C], [0x20],
10:53:04.344 -> y [0x79], o [0x6F], u [0x75], r [0x72], [0x20], a [0x61], c [0x63], c [0x63],
10:53:04.344 -> o [0x6F], u [0x75], n [0x6E], t [0x74], [0x20], i [0x69], s [0x73], [0x20],
10:53:04.344 -> b [0x62], a [0x61], n [0x6E], n [0x6E], e [0x65], d [0x64], [0x20], f [0x66],
10:53:04.377 -> o [0x6F], r [0x72], [0x20], 3 [0x33], 0 [0x30], [0x20], s [0x73], e [0x65],
10:53:04.377 -> c [0x63], o [0x6F], n [0x6E], d [0x64], s [0x73], " [0x22],
10:53:04.377 -> Packet len: 88
10:53:04.377 -> 0 [0x30], V [0x56], [0x00], [0x12], b [0x62], r [0x72], e [0x65], n [0x6E],
10:53:04.377 -> t [0x74], r [0x72], u [0x75], b [0x62], e [0x65], l [0x6C], l [0x6C], / [0x2F],
10:53:04.377 -> e [0x65], r [0x72], r [0x72], o [0x6F], r [0x72], s [0x73], " [0x22], e [0x65],
10:53:04.377 -> n [0x6E], f [0x66], o [0x6F], r [0x72], c [0x63], e [0x65], m [0x6D], e [0x65],
10:53:04.377 -> n [0x6E], t [0x74], [0x20], l [0x6C], i [0x69], m [0x6D], i [0x69], t [0x74],
10:53:04.377 -> [0x20], r [0x72], e [0x65], a [0x61], c [0x63], h [0x68], e [0x65], d [0x64],
10:53:04.377 -> , [0x2C], [0x20], y [0x79], o [0x6F], u [0x75], r [0x72], [0x20], a [0x61],
10:53:04.377 -> c [0x63], c [0x63], o [0x6F], u [0x75], n [0x6E], t [0x74], [0x20], i [0x69],
10:53:04.377 -> s [0x73], [0x20], b [0x62], a [0x61], n [0x6E], n [0x6E], e [0x65], d [0x64],
10:53:04.377 -> [0x20], f [0x66], o [0x6F], r [0x72], [0x20], 3 [0x33], 0 [0x30], [0x20],
10:53:04.377 -> s [0x73], e [0x65], c [0x63], o [0x6F], n [0x6E], d [0x64], s [0x73], " [0x22],
10:53:04.377 ->
10:53:04.377 -> Looking for subscription len 18
10:53:04.377 -> Found sub #2
10:53:04.377 -> Data len: 66
10:53:04.377 -> Data: "enforcement limit reached, your account is banned for 30 seconds"
10:53:04.377 -> IO ERROR: "enforcement limit reached, your account is banned for 30 seconds"
10:53:04.377 -> Disconnecting device from Adafruit IO...
10:53:04.377 -> ERROR: Please define a network interface
10:53:04.545 -> MQTT ping packet:
10:53:04.545 -> [0xC0], [0x00],
10:53:04.545 -> Client sendPacket returned: 2
10:53:04.545 -> Read data: [0xD0],
10:53:04.545 -> Packet Type: [0xD0],
10:53:04.545 -> Read data: [0x00],
10:53:04.545 -> Packet Length: 0
10:53:06.553 -> MQTT ping packet:
10:53:06.553 -> [0xC0], [0x00],
10:53:06.553 -> Client sendPacket returned: 2
10:53:06.589 -> Read data: [0xD0],
10:53:06.589 -> Packet Type: [0xD0],
10:53:06.589 -> Read data: [0x00],
10:53:06.589 -> Packet Length: 0
10:53:08.607 -> MQTT ping packet:
10:53:08.607 -> [0xC0], [0x00],
10:53:08.607 -> Client sendPacket returned: 2
10:53:08.640 -> Read data: [0xD0],
10:53:08.640 -> Packet Type: [0xD0],
10:53:08.640 -> Read data: [0x00],
10:53:08.640 -> Packet Length: 0
10:53:10.630 -> MQTT ping packet:
10:53:10.630 -> [0xC0], [0x00],
10:53:10.630 -> Client sendPacket returned: 2
10:53:10.668 -> Read data: [0xD0],
10:53:10.668 -> Packet Type: [0xD0],
10:53:10.668 -> Read data: [0x00],
10:53:10.668 -> Packet Length: 0
10:53:12.662 -> MQTT ping packet:
10:53:12.662 -> [0xC0], [0x00],
10:53:12.662 -> Client sendPacket returned: 2
10:53:12.696 -> Read data: [0xD0],
10:53:12.696 -> Packet Type: [0xD0],
10:53:12.696 -> Read data: [0x00],
10:53:12.696 -> Packet Length: 0
10:53:14.690 -> MQTT ping packet:
10:53:14.690 -> [0xC0], [0x00],
10:53:14.723 -> Client sendPacket returned: 2
10:53:14.723 -> Read data: [0xD0],
10:53:14.723 -> Packet Type: [0xD0],
10:53:14.723 -> Read data: [0x00],
10:53:14.723 -> Packet Length: 0
10:53:16.757 -> MQTT ping packet:
10:53:16.757 -> [0xC0], [0x00],
10:53:16.757 -> Client sendPacket returned: 2
10:53:16.794 -> Read data: [0xD0],
10:53:16.794 -> Packet Type: [0xD0],
10:53:16.794 -> Read data: [0x00],
10:53:16.794 -> Packet Length: 0
10:53:18.812 -> MQTT ping packet:
10:53:18.812 -> [0xC0], [0x00],
10:53:18.812 -> Client sendPacket returned: 2
10:53:18.845 -> Read data: [0xD0],
10:53:18.845 -> Packet Type: [0xD0],
10:53:18.845 -> Read data: [0x00],
10:53:18.845 -> Packet Length: 0
10:53:20.840 -> MQTT ping packet:
10:53:20.840 -> [0xC0], [0x00],
10:53:20.840 -> Client sendPacket returned: 2
10:53:20.879 -> Read data: [0xD0],
10:53:20.879 -> Packet Type: [0xD0],
10:53:20.879 -> Read data: [0x00],
10:53:20.879 -> Packet Length: 0
10:53:22.888 -> MQTT ping packet:
10:53:22.888 -> [0xC0], [0x00],
10:53:22.888 -> Client sendPacket returned: 2
10:53:22.888 -> Read data: [0xD0],
10:53:22.888 -> Packet Type: [0xD0],
10:53:22.888 -> Read data: [0x00],
from adafruit_wippersnapper_arduino.
Closing via #57
from adafruit_wippersnapper_arduino.
Related Issues (20)
- Buttons with OnChange and Pull DOWN have an initial state incorrectly of Pressed until toggled. HOT 1
- Remove depreciation warnings on this repository's Actions
- Support WipperSnapper API V2
- v74 / staging - Infinite "Polling for message containing hardware configuration..." HOT 3
- Allow external triggering of i2c sensor measurements - e.g. Interrupt support
- Support for Over The Air Updates (OTA) on ESP32
- Ensure WipperSnapper is build with latest stable release of nanopb
- Display device's battery level on status bar HOT 1
- Display WiFi RSSI level on status bar HOT 3
- FunHouse - Creating a LED on BUILTIN Pin causes crash HOT 1
- Compilation error: exit status 1 Arduino UNO R4 WiFi HOT 2
- There is an issue with Adafruit IO HOT 1
- Migrate from ArduinoJSON6 to ArduinoJSON7
- Boards get into a RED LIGHT state, usually corrupt flash - No easy guidance / fix HOT 1
- Support RGB status LED on the BitsyWing Airlift
- VCNL4020 causes reboot on initialisation when only device externally plugged in (StemmaQT), works with additional StemmaQT devices on I2C Bus HOT 7
- RED LIGHT: Improve Error Messages in early failure situations and possibly compile time: HOT 3
- UART PM2.5 sensor stops responding after 5-11minutes HOT 2
- Early Task Error "task_wdt: delete_entry(232): task not found" - sometimes reported at boot
- API V2: Remove Initial Pin Configuration Routine
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from adafruit_wippersnapper_arduino.