Exemplo n.º 1
0
    query = cfg["location"]
    log.info("Using query %s" % query)

    if cfg.has_key("cosm"):
        cosm_feed = cfg["cosm"]["feed"]
        cosm_key  = cfg["cosm"]["key"]
        cosm_datastream  = cfg["cosm"]["datastream"]
        log.debug("Will log to COSM %s/%s" % (cosm_feed, cosm_datastream))
    
    if not debug_mode:
        data_file = file(data_fname, 'a')
        
    try:
        while True:
            try:
                parsed_json = json_GET(API_ENDPOINT % (quote_plus(key), quote_plus(query)),
                                        API_TIMEOUT)
                local_time= time.time()
                observation_time = int(parsed_json['current_observation']['observation_epoch'])
                temp_c = parsed_json['current_observation']['temp_c']
                log.info("Current temperature is: %s" % temp_c)
            except Exception, ex:
                log.error("Error fetching data from API: %s" %ex)
                continue

            csv_report = '{0},{1},{2}\n'.format(local_time,observation_time,temp_c)

            if debug_mode:
                print csv_report
            else:
                # Write to file
                try:
    if cfg.has_key("cosm"):
        cosm_feed = cfg["cosm"]["feed"]
        cosm_key  = cfg["cosm"]["key"]
        cosm_temp_datastream  = cfg["cosm"]["temp_datastream"]
        cosm_tstate_datastream  = cfg["cosm"]["tstate_datastream"]
        cosm_fstate_datastream  = cfg["cosm"]["fstate_datastream"]
        log.debug("Will log to COSM feed %s", cosm_feed)
    
    if not debug_mode:
        data_file = file(data_fname, 'a')
        
    try:
        while True:
            try:
                parsed_json = json_GET(API_ENDPOINT % ip, API_TIMEOUT)
                local_time= time.time()
                temp_f = float(parsed_json['temp'])
                temp_c = (temp_f-32.0)*5.0/9.0
                temp_cs = "{:.1f}".format(temp_c)
                tstate = int(parsed_json['tstate'])
                fstate = int(parsed_json['fstate'])
                if tstate==2:
                    tstate=-1
                s = "Current temperature is: " + temp_cs
                if fstate:
                    s+=" Fan in ON."
                else:
                    s+=" Fan in OFF."
                if tstate==0:
                    s+=" HVAC is OFF."