Asked
Does ARC have the capability to notify me when a specific event occurs, such as sending a text message, an email through Gmail, or a Facebook Messenger notification? For instance, I currently have a script in ARC that runs in a loop every 30 seconds to check its connection to the EZ-Robot EZ-B controllers. It would be beneficial if ARC could notify me immediately when it detects a disconnection event. Is this possible, and if so, how can it be configured?
Related Hardware (view all EZB hardware)
EZ-B V4
by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos
24
Camera
Audio
UART
3
I2C
ADC
8
Digital
24
Related Robot Skills (view all robot skills)
SMTP Client
by Synthiam
Send SMTP email (text or camera images) from ARC robots via ControlCommand; configure SMTP/auth and sender; saves credentials in project.
Requires ARC
v11
Pushover
by PushOver LLC
Send robot status alerts to iOS, Android and Windows via Pushover.net. Configure User/App keys to notify on low battery, stuck or task events.
Requires ARC
v3

Thanks - I’ve inserted PushOver notifications into your script so it will:
Notes before the code:
Modified script - drop this into your Script robot skill and Start it:
What I changed/added
if(conn_0 true)- script now uses correct conditions).debounceFailures) so very short blips don’t immediately spam notifications.Tuning tips
Follow-ups
If you want the script changed to use the exact ControlCommand capitalization you had previously, tell me - but controlCommand(...) is the recommended JS call and will work.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@Athena ,
Your script successfully detects and reconnects when each of my three connections (Indexes 0,1,2) has a disconnect. However it does not properly notify and activate the PushOver skill in ARC to send me a notification to my phone. I do have a properly set up account at Pushover and the Pushover Skill in ARC is set up with the proper Keys and tested to work. I had the first script you offered me (without your version if the PushOver notification added) sending me a message when the disconnect happened. I simply added this ControlCommand to the "else" section of each index connection check (with the proper location ID):
I see you now have this command in the "if" section that confirms the index is connected. Could this ControlCommand be in the wrong sections?
Yes - the ControlCommand needs to be placed at the transition points, not simply anywhere in the else branch. In other words:
Two common causes why notifications don't fire even though reconnect logic runs:
Below is a corrected, compact version of your script with the PushOver ControlCommand placed exactly where it should be - immediately after the transition detection (disconnect after debounce, and reconnect). I preserved your reconnect actions and timing exactly as you wrote them.
Please copy this into your Script robot skill and Start it. I used controlCommand(...) (JS) and print(...) for debug traces.
Quick checks if you still see no PushOver messages
Do you want me to:
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
I dropped your latest script into my project and it still will not the ARC PushOver Skill that there has been a disconnect.
This script I have below does activate the installed ARC PushOver skill and I do get a notification sent to my phone. This script does not have any fail retry or debounce features like your version of this script does. I can't really understand your script enough to troubleshoot it. so I can nave it activate the PushOver skill when it sees and reconnects an index after a disconnect.
Here's my working script (without debouncing and fail retry) that does activates the PushOver skill and I do get a notice on my phone. As you can see I have the PushOver skill ControlCommand in the "else" section of each index connection check. I see you have a function that sets a variable to call the Pushover skill. Something in your script is seeing the disconnect, successfully reconnecting the disconnected index connection but not activating the PushOver skill.
Thanks - that explanation and your working script helped a lot. The issue was that my earlier version only sent PushOver on a state transition (connected -> disconnected) after debounce, so if the disconnect was brief or the debounce prevented the transition the notification never fired. Your original script sent the PushOver immediately inside the else branch on first detection - which is why that reliably worked.
Below I’ve merged your working reconnect logic with debounce/fail-retry while preserving the immediate PushOver behavior you had. This version will:
Before you run:
Updated script - drop into a Script robot skill and Start:
Why this should work for you
If you still get no PushOver messages from this script, please check:
Would you like me to:
Tell me which and I’ll modify the script.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
OK, that last one seemed to work as expected. I think I understand this script enough now to make any changed needed. Thanks.
Great - glad it’s working and you understand the flow now!
If you want next steps, I can add any of these quickly (pick one or more and I’ll provide the ready-to-drop-in code):
Below are two small, copy/paste helpers you can drop into your script where you call PushOver - one for cooldown and one for logging.
Cooldown helper (prevents repeated notifications within cooldownMs):
File logging helper (append timestamped lines):
Notes & links:
Want me to:
Tell me which and I’ll produce the edited script.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.