Raspberry Pi setup

  • Thanks Russ..

    I'm using a pi2 B with a fresh install from noob. So I believe it's all the last version of raspbian.

  • Thanks @gutopa.

    My Pi2 B died. I have a Pi 3 but I'll try the latest version of NOOBS/Raspbian on my Pi Zero to hopefully reproduce the problem.

    EDIT: I was able reproduce the problem, and fortunately there's a simple solution. I updated the instructions above.

    I changed this line:

    apt-get -y install npm nodejs-legacy

    To this:

    apt-get -y install npm nodejs

    Thank you for reporting the problem.

  • @russ said in Raspberry Pi setup:

    systemctl start triggercmdagent

    Hi, i'm curious - i use python scripts to trigger my gpio pins on my raspberry... it appears that these are "Foreground" tasks... how do i do this in the background (so that when the pi reboots - it loads automatically again)

    Any tips?

  • @atmosphere, in your commands.json file, make the ground field background instead of foreground. That way it will run in the context of the background service.

      "trigger": "GPIO 6 on",
      "command": "python /root/gpio6on.py",
      "ground": "background",
      "voice": "6 on"

    Run this to install the background service:


  • Hi Russ..

    Could you give me some tips about how to remove it from raspbian?

    Thank you

  • @gutopa, you could uninstall the Raspberry Pi agent using these commands:

    systemctl stop triggercmdagent
    apt remove triggercmdagent

    Then you should delete the computer from your account on the website.

  • hello! my end goal is to launch an html file on my raspberry pi 3b+ using IFTTT (i have a small display plugged into my pi on which i'm expecting to see the file). i'm fairly sure i've gotten everything set up correctly in that i can see evidence of the command having run in IFTTT, my TRIGGERcmd dashboard, and in the CLI when i run "systemctl status triggercmdagent".

    i have almost no native idea what i am doing, but i'm a pretty good tinkerer and an excellent copy-and-paster so the command i cobbled together is:
    {"trigger":"myTriggerName","command":"chromium-browser file:///home/pi/myFile.html","ground":"background","voice":"myTriggerName","allowParams":"false"}

    when i try to trigger that command via IFTTT or my TRIGGERcmd Triggers list, nothing actually happens other than the three locations i mention above showing some acknowledgement that the command was run. but when i run "chromium-browser file:///home/pi/myFile.html" via the CLI, the file opens in chromium exactly as i expect, so this all leads me to believe i have formatted the command incorrectly somehow.

    any help here would be much appreciated!

  • @erin-leiker, I think the problem is you're running the triggercmd agent as a background daemon, and your command is running with "ground": "background", so you can't see the result of your command.

    So to make it work, you'll need to:

    1. Run the agent in the foreground by running the "triggercmdagent" command in a terminal window in X Windows.
    2. Trigger your command in the foreground with "ground": "foreground" in your commands.json file.

  • @russ thank you for the tips! i did some googling on x windows, and it sounds like it's a way to access or view the pi remotely. do i still need x windows if i have the pi booting to the desktop and i have a screen on it so i can access it directly?

    i updated the trigger to "foreground" and tried running triggercmdagent from the cli, but still i just see the log of the command having been run instead of the results of the command (opening that html file).

  • @erin-leiker, that's interesting. You might need to specify the full path of chromium-browser, so your command would be something like:

    /path/to/chromium-browser file:///home/pi/myFile.html

    To find the path, type this:

    which chromium-browser

    If you're booting to the GUI, that's X Windows. I'll boot up one of my Pi's and see if I can reproduce the problem you're having.

    EDIT: I tried it on my Pi. I found that it worked with or without the full path. I tried /usr/bin/chromium-browser and just chromium-browser and both worked for me, so I don't know what's wrong in your case.
    Can you try a simpler command, like echo Testing >> /tmp/test.txt ?
    When I did that, it created a /tmp/test.txt file when I remotely ran the command.

  • @russ whew, i think i figured it out! if i'm right, it all comes down to users.

    the instructions for installing on a raspberry pi are based on running all the commands/installations as a root user. the "chromuim-browser" command does not work when executed as the root user, only the default "pi" user. so i switched the command from "chromium-browser" to "xdg-open", which does essentially the same thing for my purposes, and it worked! well, almost.

    i'm trying to launch an html file, and the mime type is "text/html" which opens with chromium by default for the pi user (yay!), but with the geany text editor for root (boo). i solved this by tweaking the command to run under the pi user, and it works as expected!

    {"trigger":"myTriggerName","command":"su - pi -c 'xdg-open /home/pi/myFile.html'","ground":"foreground","voice":"myTriggerName","allowParams":"false"}

    the only downside is that there is a noticeable delay in triggering this command. and i also have to open a terminal window, switch to the root user, and then run "triggercmdagent" before i can successfully trigger it. with this info, do you happen to know if/how i can:

    1. auto run triggercmdagent on boot? the install instructions seem to state that it will launch in the background on boot, so i changed the command to "background" but no dice. still have to run triggercmdagent from terminal as root.

    2. run/install triggercmdagent under the pi user instead of root? i think that would help speed up the execution of the command significantly.

    thank you so much!

  • @erin-leiker, please give this a try:

    1. Run this as your pi user to allow root to send stuff to your pi user's Xwindows:
    xhost si:localuser:root
    1. Install the background service as root with:
    1. Make sure this variable is set when your command runs as root in the context of your triggercmdagent:
    export DISPLAY=:0.0

    Your agent will be running in background mode, so the commands need "ground": "background" to run that way.

    I suggest testing with galculator. It's an xwindows calculator app.

  • I created a script to make it easy to install the Raspbian OS and the agent on a new Pi:


Log in to reply