Inpu/Output Juggler condition Time

I’m working on a RUTX09
I tried to use Juggler to perform an action, whatever it is (http, sms, reboot…) by setting hour and minutes as conditions but it doesn’t work.
I also tried to set two conditions, one for the hours and one for the minutes by inserting them in the “action” condition or using one in the “interval” mode, nada de nada.
I tried restarting but nothing, yet I have no errors when I set the parameters.
Can you give me an indication of what I might be doing wrong?
Thank you
Roberto

Hello,

Here’s how I/O Juggler typically operates:

  1. First, there’s a change in the input/output (I/O) state.
  2. Then, the Juggler checks if a certain condition, labeled “Condition,” is met.
  3. If the condition is met, it proceeds to execute the corresponding “Action.”

It’s important to ensure that each part is configured correctly. Also, remember to enable I/O Juggler.

For more detailed information about I/O Juggler, you can visit this link: I/O Juggler Documentation

Best regards,

First of all, thanks for the reply.
So any action is conditioned by the change in the input!
It’s a shame, because once upon a time it wasn’t like this and actions could be performed regardless of the change in state of the input.
I searched and saw that the only way is to use scripts and crontab but they are very difficult and complicated therefore not immediate in setting up a simple thing.
Could you give me an example to set up a text message at a pre-established time? Thanks in advance

Hi,

As you mentioned, scheduling tasks is likely the simplest approach. You’ll need scripting and crontab to set it up, but it’s not as difficult as it may seem.

Here’s a straightforward guide:

  1. Access your router via SSH/CLI.
  2. Execute the following command:
    cd /bin
    
  3. Create a new script file:
    vi script.sh
    
  4. Inside the editor, press “i” to enter insert mode, and then paste in the following script:
    #!/bin/ash
    
    PHONE_NUMBER="+37066666666"
    MESSAGE="HI!"
    
    send_sms() {
        local phone_number="$1"
        local message="$2"
        gsmctl -S -s "$phone_number $message"
    }
    
    send_sms "$PHONE_NUMBER" "$MESSAGE"
    
    Press “Esc” and then type :wq to save and exit.
  5. Make the script executable:
    chmod +x script.sh
    
  6. Test the script:
    ./script.sh
    
    If everything is set up correctly, it should send a message.
  7. Set up periodic execution using crontab:
    crontab -e
    
  8. In the crontab editor, press “i” to enter insert mode and navigate to a new line. Then paste in the following line:
    */5 * * * * /bin/script.sh
    
    Press “Esc” and then type :wq to save and exit.

Now, the script will run every 5 minutes. If you want to change the execution interval, modify */5 * * * * in the crontab accordingly. You can use a tool like crontab.guru to help craft the expression.

Hope this is clear enough.

Best regards,

1 Like

YYou were very kind, now I’ll try to play, thank you very much

This topic was automatically closed after 15 days. New replies are no longer allowed.