summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ebus_app.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/bin/ebus_app.py b/bin/ebus_app.py
index 9d6cf6a..c9b89f6 100755
--- a/bin/ebus_app.py
+++ b/bin/ebus_app.py
@@ -15,17 +15,20 @@ session = sessionmaker(bind=db_engine)()
def insert(ebus_packet):
try:
- if len(ebus_packet.values()) > 0:
- for name,value in ebus_packet.values():
- sensor = session.query().filter(name=name).first()
- if not sensor:
- sensor = model.Sensor(name)
- session.add(sensor)
- m_value = model.Value(sensor, value)
- session.add(m_value)
- print m_value
- session.commit()
+ for valueKey in ebus_packet.values().keys():
+ print "Key", valueKey
+ sensor = session.query(model.Sensor).filter(model.Sensor.name==valueKey).first()
+ if not sensor:
+ print "Add sensor %s" % valueKey
+ sensor = model.Sensor(valueKey)
+ session.add(sensor)
+ print sensor
+ m_value = model.Value(sensor, ebus_packet.values()[valueKey])
+ session.add(m_value)
+ print m_value
+ session.commit()
except Exception,e:
+ session.rollback()
try:
print "Failed to insert %s -- reason %s" % (ebus_packet.name(), e)
except Exception,e: