def render(self, request): temp = Utils.get_temperature(Utils.temperature_pin) json_object = json.loads(temp) json_formatted_str = json.dumps(json_object, indent=2) current_temp_json = Utils.get_current_temperature_from_weatherapi( requests, controller, "Riverton") localtime = str(current_temp_json["current"]["last_updated"]) feels_like = str(current_temp_json["current"]["feelslike_f"]) condition = str(current_temp_json["current"]["condition"]["text"]) icon = str(current_temp_json["current"]["condition"]["icon"]) wind_mph = str(current_temp_json["current"]["wind_mph"]) wind_dir = str(current_temp_json["current"]["wind_dir"]) humidity = str(current_temp_json["current"]["humidity"]) uv = str(current_temp_json["current"]["uv"]) vis_miles = str(current_temp_json["current"]["vis_miles"]) temp_f = str(current_temp_json["current"]["temp_f"]) locationName = str(current_temp_json["location"]["name"]) locationState = str(current_temp_json["location"]["region"]) current_temp_json_formatted = json.dumps(current_temp_json, indent=2) im = '<img id=\"conditionsImage\" src=\"http:' + icon + '\"/>' curr_weather = '<table><tr><td>As of {}</td></tr><tr><td><b>{}</b></td></tr><tr><td><h2>{}F </h2></td></tr><tr><td><i>Feels like {}F </i>{}</td><td>{}</td></tr><tr><td>Wind:{}mph {}</td><td>Humidity: {}%</td></tr><tr><td>UV: {}</td><td>Visibility: {}miles</td></tr></table>'.format( localtime, locationName + ", " + locationState, temp_f, feels_like, condition, im, wind_mph, wind_dir, humidity, uv, vis_miles) return "<html><body>%s<pre>Garage</pre><pre>%s</pre><pre>Current Weather</pre><pre>%s</pre></body></html>" % ( curr_weather, json_formatted_str, current_temp_json_formatted)
def get_temp(self): msg = Utils.get_temperature(Utils.temperature_pin) if "error reading" in msg: logging.info("Error getting temperature") if msg != "": Utils.publish_MQTT(self.mqtt_server, self.mqtt_topic_temperature, msg, self.mqtt_username, self.mqtt_password) return msg
def settings(request): message = '' #utils.draw_timeline('poliv') #utils.draw_timeline('svet') controllers = utils.get_sensors(29) #controllers temp_data = utils.get_temperature() d = dict(request=request, message=message, controllers=controllers, temp_data=temp_data) return render_to_response('web/settings.html', d, context_instance=RequestContext(request)) #########################################################################
def main(request): message = "" events = utils.get_monitor_events() alerts = utils.get_alert_events() temp_data = utils.get_temperature() d = dict(request=request, message=message, events=events, alerts=alerts, temp_data=temp_data) return render_to_response('web/main.html', d, context_instance=RequestContext(request))
def generate_weather_data(cities): full_weather_data = [] for city in cities: latitude, longitude = utils.get_lat_and_lon() altitude = utils.get_altitude() local_time = utils.get_local_time() temperature = utils.get_temperature() pressure = utils.get_pressure() weather_condition = utils.get_condition(temperature) humidity = utils.get_humidity() entry = utils.create_weather_entry(city, latitude, longitude, altitude, local_time, weather_condition, temperature, pressure, humidity) full_weather_data.append(entry) return full_weather_data
async def GET_sensor_live(request, hapic_data: HapicData): while True: yield Measure(datetime.datetime.now(), utils.get_temperature()) await asyncio.sleep(1)
The results dictionary created should be identical after your change. """ import time from utils import get_temperature, cities, dates start_time = time.time() # Used to time the execution of this script # Initialize empty array of results results = {city: [] for city in cities} # For each city get the temperature for each date, and add it to the relevant array for city in cities: for date in dates: temp = get_temperature(city, date) results[city].append(temp) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # <<< DO NOT EDIT THE CODE BELOW THIS LINE >>> # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Calculate aggregates, and print out the results print('\nRESULTS:') for city, temperatures in results.items(): average = sum(temperatures) / len(temperatures) print( f"\t{city}:\tAverage Temperature: {average:.1f}°C " f"(range {min(temperatures):.1f} - {max(temperatures):.1f}) " f"[from {len(temperatures)} readings]"
def test_temperature(self): temp = utils.get_temperature() self.assertGreater(float(temp), -10) self.assertLess(float(temp), 50)