I have an Everspring ST814 device (Temp & humidity) I wanted to get the humidity and temp data out of HS2pro to overlay into Blue Iris. I didn't see a clear way to extract that data from HS2 remotely so I wrote a Python script to pull it remotely.
I usde BeautifulSoup python library to parse the html, but other than that it's pretty straight forward and doesn't require running on your HS2 server.
Have fun, and I'm guessing I'll have to redo this when I move to HS3Pro
I usde BeautifulSoup python library to parse the html, but other than that it's pretty straight forward and doesn't require running on your HS2 server.
Have fun, and I'm guessing I'll have to redo this when I move to HS3Pro
Code:
import requests from bs4 import BeautifulSoup # Grab your URL r = requests.get("http://your.homeseer.server/stat?location=yourspecificpage") temp = r.content # Get content into BeautifulSoup soup = BeautifulSoup(temp) # Grab your specific content, in this case it's the cell with temp and humidity from the Everspring ST814-2 # I used Chrome's inpsect element function to find this in HS2's html....right click in the section line_temp = soup.find(id="dv_Status6090") line_hum = soup.find(id="dv_Status3869") ##print(soup.prettify()) ##line.encode('ascii','ignore') # Break the specific string up and get just the data field = line_temp.contents tempurature = field[2] tempurature = tempurature.encode('ascii','ignore') #print tempurature # Break the specific string up and get just the data field = line_hum.contents humidity = field[2] humidity = humidity.encode('ascii','ignore') #print humidity # Remove white space from cell variable print("\r") tempurature = tempurature.replace(" ", "") humidity = humidity.replace(" ", "") #Print out to file for BlueIris to pickup f = open('//your/personal/path/temp.txt', 'w') f.write(tempurature) f.close() #Print out to file for BlueIris to pickup f = open('//your/personal/path/hum.txt', 'w') f.write(humidity) f.close()