Button usage in EMoncms

I have a local host setup. I want my button in emoncms to operate an led via arduino (which is connected to raspberry pi) on which emoncms is running. Any help please.

Hello @Usman36264

The emoncms dashboard buttons update the emoncms feed that its associated with. You could create a script that reads the value of this feed and updates the arduino.

Here’s an example of the feed value API:

http://localhost/emoncms/feed/value.json?id=10

You could load this into a python script with:

import requests, json

emoncms_apikey = "apikey"
emoncms_server = "http://localhost/emoncms"

reply = requests.get(emoncms_server+"/feed/value.json", params={'id':10,'apikey':emoncms_apikey})
value = reply.text
print(value)

If instead of using the arduino you can connect the LED straight to the RaspberryPi it’s probably a lot simpler, here’s an example using gpiozero:

import requests, json, gpiozero

led1 = gpiozero.LED(9)

emoncms_apikey = "apikey"
emoncms_server = "http://localhost/emoncms"

reply = requests.get(emoncms_server+"/feed/value.json", params={'id':10,'apikey':emoncms_apikey})
value = int(reply.text)

if value>0:
    led1.on()
else:
    led1.off()