예제 #1
0
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():
예제 #2
0
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
예제 #3
0
  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']
예제 #4
0
"""

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']