Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a443a07e9 | ||
|
|
4a03ac9026 |
@@ -44,7 +44,7 @@
|
|||||||
data-nodename="transferstation.ft01_flow"
|
data-nodename="transferstation.ft01_flow"
|
||||||
data-units="BPD"
|
data-units="BPD"
|
||||||
data-min="0"
|
data-min="0"
|
||||||
data-max="50000"
|
data-max="75000"
|
||||||
data-decimalplaces="2"
|
data-decimalplaces="2"
|
||||||
data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B"
|
data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B"
|
||||||
data-valuefontsize="18px">
|
data-valuefontsize="18px">
|
||||||
38
meshify.py
38
meshify.py
@@ -1,38 +0,0 @@
|
|||||||
"""Query Meshify for data."""
|
|
||||||
import requests
|
|
||||||
import json
|
|
||||||
from os import getenv
|
|
||||||
from sys import exit
|
|
||||||
|
|
||||||
MESHIFY_BASE_URL = "https://henrypump.meshify.com/api/v3/"
|
|
||||||
MESHIFY_USERNAME = getenv("MESHIFY_USERNAME")
|
|
||||||
MESHIFY_PASSWORD = getenv("MESHIFY_PASSWORD")
|
|
||||||
MESHIFY_AUTH = requests.auth.HTTPBasicAuth(MESHIFY_USERNAME, MESHIFY_PASSWORD)
|
|
||||||
|
|
||||||
if not MESHIFY_USERNAME or not MESHIFY_PASSWORD:
|
|
||||||
print("Be sure to set the meshify username and password as environment variables MESHIFY_USERNAME and MESHIFY_PASSWORD")
|
|
||||||
exit()
|
|
||||||
|
|
||||||
|
|
||||||
def find_by_name(name, list_of_stuff):
|
|
||||||
"""Find an object in a list of stuff by its name parameter."""
|
|
||||||
for x in list_of_stuff:
|
|
||||||
if x['name'] == name:
|
|
||||||
return x
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def query_meshify_api(endpoint):
|
|
||||||
"""Make a query to the meshify API."""
|
|
||||||
q_url = MESHIFY_BASE_URL + endpoint
|
|
||||||
q_req = requests.get(q_url, auth=MESHIFY_AUTH)
|
|
||||||
return json.loads(q_req.text) if q_req.status_code == 200 else []
|
|
||||||
|
|
||||||
|
|
||||||
def post_meshify_api(endpoint, data):
|
|
||||||
"""Post data to the meshify API."""
|
|
||||||
q_url = MESHIFY_BASE_URL + endpoint
|
|
||||||
q_req = requests.post(q_url, data=json.dumps(data), auth=MESHIFY_AUTH)
|
|
||||||
if q_req.status_code != 200:
|
|
||||||
print(q_req.status_code)
|
|
||||||
return json.loads(q_req.text) if q_req.status_code == 200 else []
|
|
||||||
BIN
meshify.pyc
BIN
meshify.pyc
Binary file not shown.
@@ -1,38 +0,0 @@
|
|||||||
"""Read a CSV file of channels and post them to Meshify via the API."""
|
|
||||||
|
|
||||||
import csv
|
|
||||||
import meshify
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def main(csv_file, devicetype):
|
|
||||||
"""Main function."""
|
|
||||||
csvfile = open(csv_file, 'rU')
|
|
||||||
reader = csv.DictReader(csvfile, dialect=csv.excel)
|
|
||||||
|
|
||||||
channels = []
|
|
||||||
idx = 0
|
|
||||||
for x in reader:
|
|
||||||
channels.append(x)
|
|
||||||
channels[idx]["fromMe"] = False
|
|
||||||
channels[idx]["regex"] = ""
|
|
||||||
channels[idx]["regexErrMsg"] = ""
|
|
||||||
channels[idx]["dataType"] = int(channels[idx]["dataType"])
|
|
||||||
channels[idx]["deviceTypeId"] = int(channels[idx]["deviceTypeId"])
|
|
||||||
channels[idx]["channelType"] = int(channels[idx]["channelType"])
|
|
||||||
channels[idx]["io"] = bool(channels[idx]["io"])
|
|
||||||
idx += 1
|
|
||||||
|
|
||||||
try:
|
|
||||||
this_devicetype = meshify.find_by_name(devicetype, meshify.query_meshify_api("devicetypes"))
|
|
||||||
for c in channels:
|
|
||||||
print(meshify.post_meshify_api("devicetypes/{}/channels".format(this_devicetype['id']), c))
|
|
||||||
except KeyError:
|
|
||||||
print("Could not find key {}".format(devicetype))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
if len(sys.argv) == 3:
|
|
||||||
main(sys.argv[1], sys.argv[2])
|
|
||||||
else:
|
|
||||||
print("Syntax is python postChannels.py <filepath.csv> <devicetype name>")
|
|
||||||
Binary file not shown.
Reference in New Issue
Block a user