Interfacing a Shelly device as a web server


#1

ST supports only Shelly-cloud basic switch interface. I am using Shelly 1 PM with 3 temperatures add-on. Temperature data is not available there, but the local Shelly device web-server provides this data in JSON format.
Is it possible to create a web interface using webcore to collect device temperature readings?


#2

If you can pull the json information by using a specific url, you might be able to with webcore.


#3

I used GET with the device status per API (192.168.1.xx/status). It returned JSON in $response including the desired temperature ($response.ext_temperature.0.tF)


#4

Oh so you can pull the data already, what is it that you want to do with it? Log the data or save it to a graph or something?


#5

I would make a GET request to the URL, and then the very next command can be:
Set string variable to $response

Execute the piston once by pressing Test.
(this will populate the variable)

Then do all of your testing based on the string variable.
(or paste that exact string here, so we can help you)


Note, The Functions page in the Wiki is helpful when parsing data…


#6

My plan is to use Shelly 1 PM temperatures add–on to measure circulation pump water temperature, pump temperature and ambient temperature. Based on this data I will control the the circulation pump switch.
I have a working piston, which reads this data to variables. Controlling the circulation pump switch is straight forward. Now I need to figure out how I want to control the pump.
Not sure about logging. I may save data to Google sheets. I have another piston that does it.
Thank you