def get_data(self): data = copy.deepcopy({ 'city': self.location, 'sun': self.sun, 'day': self.is_day(), 'windspeed': self.get_windspeed_indicator(), 'temperature_indicator': self.get_temperature_indicator(), 'hour_forecast': self.hour_forecast, 'week_forecast': self.week_forecast, 'credits': self.credits }) for item in data['hour_forecast']: item['wind_speed'] *= (3.6 if self.get_windspeed_indicator() == 'kmh' else 1.0) item['temperature'] = item[ 'temperature'] if self.get_temperature_indicator( ) == 'C' else terrariumUtils.to_fahrenheit(item['temperature']) for item in data['week_forecast']: item['wind_speed'] *= (3.6 if self.get_windspeed_indicator() == 'kmh' else 1.0) item['temperature'] = item[ 'temperature'] if self.get_temperature_indicator( ) == 'C' else terrariumUtils.to_fahrenheit(item['temperature']) return data
def get_current(self, force=False): current = self.current indicator = self.get_indicator().lower() if 'f' == indicator: current = terrariumUtils.to_fahrenheit(self.current) elif 'inch' == indicator: current = terrariumUtils.to_inches(self.current) return float(current)
def get_data(self): data = { 'city': self.location, 'sun': self.sun, 'day': self.is_day(), 'windspeed': self.get_windspeed_indicator(), 'temperature_indicator': self.get_temperature_indicator(), 'hour_forecast': [], 'week_forecast': [], 'credits': self.credits } for period in sorted(self.hour_forecast.keys(), key=int): item = copy.deepcopy(self.hour_forecast[period]) item['wind_speed'] *= (3.6 if self.get_windspeed_indicator() == 'kmh' else 1.0) if self.get_temperature_indicator() == 'F': item['temperature'] = terrariumUtils.to_fahrenheit( item['temperature']) elif self.get_temperature_indicator() == 'K': item['temperature'] = terrariumUtils.to_kelvin( item['temperature']) data['hour_forecast'].append(item) for period in sorted(self.week_forecast.keys(), key=int): item = copy.deepcopy(self.week_forecast[period]) item['wind_speed'] *= (3.6 if self.get_windspeed_indicator() == 'kmh' else 1.0) if self.get_temperature_indicator() == 'F': item['temperature'] = terrariumUtils.to_fahrenheit( item['temperature']) elif self.get_temperature_indicator() == 'K': item['temperature'] = terrariumUtils.to_kelvin( item['temperature']) data['week_forecast'].append(item) return data
def get_current(self, force=False): current = 0 if self.current is None else self.current indicator = self.get_indicator().lower() if 'f' == indicator: current = terrariumUtils.to_fahrenheit(current) elif 'k' == indicator: current = terrariumUtils.to_kelvin(current) elif 'inch' == indicator: current = terrariumUtils.to_inches(current) elif 'usgall' == indicator: current = terrariumUtils.to_us_gallons(current) elif 'ukgall' == indicator: current = terrariumUtils.to_uk_gallons(current) return float(current)
def get_current(self, force=False): if self.__current_value is None: return None indicator = self.get_indicator().lower() if 'f' == indicator: current = terrariumUtils.to_fahrenheit(self.__current_value) elif 'k' == indicator: current = terrariumUtils.to_kelvin(self.__current_value) elif 'inch' == indicator: current = terrariumUtils.to_inches(self.__current_value) elif 'usgall' == indicator: current = terrariumUtils.to_us_gallons(self.__current_value) elif 'ukgall' == indicator: current = terrariumUtils.to_uk_gallons(self.__current_value) return float(self.__current_value)
def get_system_stats(self, socket = False): memory = psutil.virtual_memory() uptime = self.get_uptime() disk = psutil.disk_usage('/') cpu_temp = -1 with open('/sys/class/thermal/thermal_zone0/temp') as temperature: cpu_temp = float(temperature.read()) / 1000.0 data = {'memory' : {'total' : memory.total, 'used' : memory.total - memory.available, 'free' : memory.available}, 'disk' : {'total' : disk.total, 'used' : disk.used, 'free' : disk.free}, 'load' : {'load1' : uptime['load'][0], 'load5' : uptime['load'][1], 'load15' : uptime['load'][2]}, 'uptime' : uptime['uptime'], 'cores' : psutil.cpu_count(), 'temperature' : cpu_temp, 'external_calendar_url': self.config.get_external_calender_url()} indicator = self.__unit_type('temperature').lower() if 'f' == indicator: data['temperature'] = terrariumUtils.to_fahrenheit(data['temperature']) elif 'k' == indicator: data['temperature'] = terrariumUtils.to_kelvin(data['temperature']) if socket: gauge_data = {'system_load' : {'current' : data['load']['load1'] * 100, 'alarm_min' : 0, 'alarm_max': 80, 'limit_min' : 0, 'limit_max': 100, 'cores' : data['cores']}, 'system_temperature' : {'current' : data['temperature'], 'alarm_min' : 30, 'alarm_max': 60, 'limit_min' : 0, 'limit_max': 80}, 'system_memory' : {'current' : data['memory']['used'], 'alarm_min' : data['memory']['total'] * 0.1, 'alarm_max': data['memory']['total'] * 0.9, 'limit_min' : 0, 'limit_max': data['memory']['total']}, 'system_disk' : {'current' : data['disk']['used'], 'alarm_min' : data['disk']['total'] * 0.1, 'alarm_max': data['disk']['total'] * 0.9, 'limit_min' : 0, 'limit_max': data['disk']['total']}} gauge_data['system_load']['alarm'] = not(gauge_data['system_load']['alarm_min'] <= gauge_data['system_load']['current'] / data['cores'] <= gauge_data['system_load']['alarm_max']) gauge_data['system_temperature']['alarm'] = not(gauge_data['system_temperature']['alarm_min'] <= gauge_data['system_temperature']['current'] <= gauge_data['system_temperature']['alarm_max']) gauge_data['system_memory']['alarm'] = not(gauge_data['system_memory']['alarm_min'] <= gauge_data['system_memory']['current'] <= gauge_data['system_memory']['alarm_max']) gauge_data['system_disk']['alarm'] = not(gauge_data['system_disk']['alarm_min'] <= gauge_data['system_disk']['current'] <= gauge_data['system_disk']['alarm_max']) self.__send_message({'type':'sensor_gauge','data':gauge_data}) else: return data
def get_current(self, force=False): return float( terrariumUtils.to_fahrenheit(self.current) if self.get_indicator( ) == 'F' else self.current)