Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import xml.etree.ElementTree as ET
- tree = ET.parse('sensor.xml')
- root = tree.getroot()
- def publishMQTT(mqtt_tree="", mqtt_value=""):
- os.system("/usr/bin/mosquitto_pub -t 'emon/'" + mqtt_tree + " -m " + str(mqtt_value))
- for child in root:
- if child.tag == "current":
- print "current: " + child.text
- publishMQTT("ALL4500/current", child.text)
- for subatt1 in child.iter('minmax'):
- for subatt2 in subatt1.iter('today'):
- for subatt3 in subatt2.iter('min'):
- for param_value in subatt3.iter('value'):
- value = param_value.text
- print "value: " + value
- publishMQTT("ALL4500/today/min-value", value))
- for param_value in subatt3.iter('date'):
- date = param_value.text
- print "date: " + date
- publishMQTT("ALL4500/today/min-date", date))
- for param_value in subatt3.iter('timestamp'):
- timestamp = param_value.text
- print "timestamp: " + timestamp
- publishMQTT("ALL4500/today/min-timestamp", timestamp))
- for subatt3 in subatt2.iter('max'):
- for param_value in subatt3.iter('value'):
- value = param_value.text
- print "value: " + value
- publishMQTT("ALL4500/today/max-value", value))
- for param_value in subatt3.iter('date'):
- date = param_value.text
- print "date: " + date
- publishMQTT("ALL4500/today/max-date", date))
- for param_value in subatt3.iter('timestamp'):
- timestamp = param_value.text
- print "timestamp: " + timestamp
- publishMQTT("ALL4500/today/max-timestamp", timestamp))
- for subatt2 in subatt1.iter('absolute'):
- for subatt3 in subatt2.iter('min'):
- for param_value in subatt3.iter('value'):
- value = param_value.text
- print "value: " + value
- publishMQTT("ALL4500/absolute/min-value", value))
- for param_value in subatt3.iter('date'):
- date = param_value.text
- print "date: " + date
- publishMQTT("ALL4500/absolute/min-date", date))
- for param_value in subatt3.iter('timestamp'):
- timestamp = param_value.text
- print "timestamp: " + timestamp
- publishMQTT("ALL4500/absolute/min-timestamp", timestamp))
- for subatt3 in subatt2.iter('max'):
- for param_value in subatt3.iter('value'):
- value = param_value.text
- print "value: " + value
- publishMQTT("ALL4500/absolute/max-value", value))
- for param_value in subatt3.iter('date'):
- date = param_value.text
- print "date: " + date
- publishMQTT("ALL4500/absolute/max-date", date))
- for param_value in subatt3.iter('timestamp'):
- timestamp = param_value.text
- print "timestamp: " + timestamp
- publishMQTT("ALL4500/absolute/max-timestamp", timestamp))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement