monkey.patch_all() import time from threading import Thread from flask import Flask, render_template, session, request, redirect, Response from flask.ext.socketio import SocketIO, emit import os import sys import signal import mosquitto import json import subprocess from configobj import ConfigObj from pyfina import pyfina pyfina = pyfina("data/") app = Flask(__name__) app.debug = True app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) mqtt_thread = None conffile = "/home/trystan/Desktop/pi/emonview/emonview.conf" settings = ConfigObj(conffile, file_error=True) username = settings["emonview"]["username"] password = settings["emonview"]["password"] @app.route('/') def index():
import mosquitto import time from pyfina import pyfina from configobj import ConfigObj pyfina = pyfina("data/") conffile="/home/trystan/Desktop/pi/emonview/emonview.conf" settings = ConfigObj(conffile, file_error=True) # itterate through node setting and create feeds if required for node in settings["nodes"]: if "record" in settings["nodes"][node]["Rx"]: nodename = settings["nodes"][node]["nodename"] i = 0 for name in settings["nodes"][node]["Rx"]["names"]: record = int(settings["nodes"][node]["Rx"]["record"][i]) interval = int(settings["nodes"][node]["Rx"]["interval"][i]) if record: filename = nodename+"."+name print "create: "+filename+" "+str(interval) pyfina.create(filename,interval) i += 1 def on_message(mosq, obj, msg): key = msg.topic parts = key.split("/") value = msg.payload*1
http://openenergymonitor.org """ import sys, time, string, json, redis, struct from configobj import ConfigObj from pyfina import pyfina settings = ConfigObj("emon-py.conf", file_error=True) nodelist = settings['nodes'] r = redis.Redis(host=settings['redis']['host'], port=settings['redis']['port'], db=settings['redis']['db']) pyfina = pyfina(settings['data']['dir']) while 1: buffers = {} while r.llen('buffer'): csv = r.lpop('buffer').split(',') timestamp = int(csv[0]) nodeid = int(csv[1]) csv = csv[2:] if str(nodeid) in nodelist and 'interval' in nodelist[str(nodeid)]: intervals = nodelist[str(nodeid)]['interval']
""" import sys, time, string, json, redis, struct from configobj import ConfigObj from pyfina import pyfina settings = ConfigObj("emon-py.conf", file_error=True) nodelist = settings['nodes'] r = redis.Redis( host=settings['redis']['host'], port=settings['redis']['port'], db=settings['redis']['db'] ) pyfina = pyfina(settings['data']['dir']) while 1: buffers = {} while r.llen('buffer'): csv = r.lpop('buffer').split(',') timestamp = int(csv[0]) nodeid = int(csv[1]) csv = csv[2:] if str(nodeid) in nodelist and 'interval' in nodelist[str(nodeid)]: intervals = nodelist[str(nodeid)]['interval']