Beispiel #1
0
 def save(self):
     try:
         with open(self.config_path + "config.json", 'w') as fh:
             fh.write(json.dumps(self.config))
     except IOError:
         tools.warning("Could not write config file.")
         sys.exit(1)
 def save(self):
     try:
         with open(self.config_path + "config.json", 'w') as fh:
             fh.write(json.dumps(self.config))
     except IOError:
         tools.warning("Could not write config file.")
         sys.exit(1)
Beispiel #3
0
 def load(self):
     try:
         folder_exists = make_sure_path_exists(self.config_path)
         if (folder_exists
                 and os.path.isfile(self.config_path + "config.json")):
             initialized = True
         else:
             initialized = False
     except OSError:
         tools.warning("Unable to create ~/.config folder.")
         sys.exit(1)
     if not initialized:
         self.initialize()
     else:
         try:
             with open(self.config_path + "config.json", 'r') as fh:
                 self.config = json.load(fh)
         except (ValueError, IOError):
             tools.warning("Config file could not be read.")
             sys.exit(1)
 def load(self):
     try:
         folder_exists = make_sure_path_exists(self.config_path)
         if(folder_exists and
            os.path.isfile(self.config_path + "config.json")):
             initialized = True
         else:
             initialized = False
     except OSError:
         tools.warning("Unable to create ~/.config folder.")
         sys.exit(1)
     if not initialized:
         self.initialize()
     else:
         try:
             with open(self.config_path + "config.json", 'r') as fh:
                 self.config = json.load(fh)
         except (ValueError, IOError):
             tools.warning("Config file could not be read.")
             sys.exit(1)
Beispiel #5
0
                config.get("database"))
engine = create_engine(database_url, echo=config.get("debug"))
create_session = sessionmaker(bind=engine)
database.Base.metadata.create_all(engine)

try:
    while True:
        power = random.randint(0, 4000)
        power = math.sin(time.clock() * 2)**2 * 2000
        print("New encrypted packet:" + str(power))

        db = create_session()
        sensor = (db.query(
            database.Sensor).filter_by(name="CitizenWatt").first())
        if not sensor:
            tools.warning("Got packet " + str(power) + " but install is not " +
                          "complete ! Visit http://citizenwatt first.")
            db.close()
        else:
            now = datetime.datetime.now().timestamp()
            measure_db = database.Measures(sensor_id=sensor.id,
                                           value=power,
                                           timestamp=now,
                                           night_rate=get_rate_type(db))
            db.add(measure_db)
            db.commit()
            print(now)
            print("Saved successfully.")
        time.sleep(8)
except KeyboardInterrupt:
    pass

# Configuration
config = Config()

# DB initialization
database_url = (config.get("database_type") + "://" + config.get("username") +
                ":" + config.get("password") + "@" + config.get("host") + "/" +
                config.get("database"))
engine = create_engine(database_url, echo=config.get("debug"))
create_session = sessionmaker(bind=engine)
database.Base.metadata.create_all(engine)

sensor = get_cw_sensor()
while not sensor or not sensor.aes_key:
    tools.warning("Install is not complete ! " +
                    "Visit http://citizenwatt.local first.")
    time.sleep(1)
    sensor = get_cw_sensor()

key = json.loads(sensor.aes_key)
key = struct.pack("<16B", *key)


try:
    assert(stat.S_ISFIFO(os.stat(config.get("named_fifo")).st_mode))
except (AssertionError, FileNotFoundError):
    sys.exit("Unable to open fifo " + config.get("named_fifo") + ".")

try:
    with open(config.get("named_fifo"), 'rb') as fifo:
        while True:
Beispiel #7
0

# Configuration
config = Config()

# DB initialization
database_url = (config.get("database_type") + "://" + config.get("username") +
                ":" + config.get("password") + "@" + config.get("host") + "/" +
                config.get("database"))
engine = create_engine(database_url, echo=config.get("debug"))
create_session = sessionmaker(bind=engine)
database.Base.metadata.create_all(engine)

sensor = get_cw_sensor()
while not sensor or not sensor.aes_key:
    tools.warning("Install is not complete ! " +
                  "Visit http://citizenwatt.local first.")
    time.sleep(1)
    sensor = get_cw_sensor()

key = json.loads(sensor.aes_key)
key = struct.pack("<16B", *key)

try:
    assert (stat.S_ISFIFO(os.stat(config.get("named_fifo")).st_mode))
except (AssertionError, FileNotFoundError):
    sys.exit("Unable to open fifo " + config.get("named_fifo") + ".")

try:
    with open(config.get("named_fifo"), 'rb') as fifo:
        while True:
            measure = fifo.read(16)
engine = create_engine(database_url, echo=config.get("debug"))
create_session = sessionmaker(bind=engine)
database.Base.metadata.create_all(engine)

try:
    while True:
        power = random.randint(0, 4000)
        power = math.sin(time.clock()*2)**2 * 2000
        print("New encrypted packet:" + str(power))

        db = create_session()
        sensor = (db.query(database.Sensor)
                  .filter_by(name="CitizenWatt")
                  .first())
        if not sensor:
            tools.warning("Got packet "+str(power)+" but install is not " +
                          "complete ! Visit http://citizenwatt first.")
            db.close()
        else:
            now = datetime.datetime.now().timestamp()
            measure_db = database.Measures(sensor_id=sensor.id,
                                           value=power,
                                           timestamp=now,
                                           night_rate=get_rate_type(db))
            db.add(measure_db)
            db.commit()
            print(now)
            print("Saved successfully.")
        time.sleep(8)
except KeyboardInterrupt:
    pass

# Configuration
config = Config()

# DB initialization
database_url = (config.get("database_type") + "://" + config.get("username") +
                ":" + config.get("password") + "@" + config.get("host") + "/" +
                config.get("database"))
engine = create_engine(database_url, echo=config.get("debug"))
create_session = sessionmaker(bind=engine)
database.Base.metadata.create_all(engine)

sensor = get_cw_sensor()
while not sensor or not sensor.aes_key:
    tools.warning("Install is not complete ! " +
                  "Visit http://citizenwatt.local first.")
    time.sleep(1)
    sensor = get_cw_sensor()

key = json.loads(sensor.aes_key)
key = struct.pack("<16B", *key)


try:
    while True:
        power = random.randint(0, 3000)
        print("Power: "+str(power))

        db = create_session()
        measure_db = database.Measures(sensor_id=sensor.id,
                                        value=power,