def system(self): MenuItems = [] text='' cpu_cores = system.cpu('core_count')[0] cpu_temp = system.getGpuTemperature() cpu_takt = system.getCpuTakt() # print(system.get_lan_ip('eth0')) mem_free = system.memory('available') mem_total = system.memory('total') mem_percent = system.memory('percent_free') disk_free = system.disks('free') disk_total = system.disks('total') disk_percent = system.disks('percent_free') uptime = system.uptime() text=text + "CPU-Cores: " + str(cpu_cores) + " with " + str(cpu_takt) + " MHz<br/>" text=text + "CPU-Temperatur: " + str(cpu_temp) + " °C<br/>" # text=text + "CPU-Last: " + str(cpu_load) + " %<br/>" text=text + "RAM (frei): " + str(mem_free) + " / " + str(mem_total) + " MB (" + str(mem_percent) + "%)<br/>" text=text + "Flashdisk (frei): " + str(disk_free) + " / " + str(disk_total) + " GB (" + str(disk_percent) + "%)<br/>" text=text + "IP-Adresse: " + system.get_lan_ip('eth0') + " <br/>" text=text + "Uptime: " + str(uptime) + " Tage<br/>" return SnomXML.SnomIPPhoneText(Title="Serverstatus ", Text=text)
def read_rss_content(self, feed): feed = int(feed) - 1 prompt = "" # print("rss_file: " + config['rss_file']) try: fobj = open(config['rss_file']) except: # print "Dateizugriff fehlgeschlagen!" return SnomXML.SnomIPPhoneText("Dateizugriff fehlgeschlagen!", "ERROR", prompt) sys.exit(0) itemlist = pickle.load(fobj) fobj.close() # print itemlist # UTF-8 Encoding: rss_headline = itemlist[feed][0].encode('utf-8') rss_content = itemlist[feed][1].encode('utf-8') # print(rss_content) return SnomXML.SnomIPPhoneText(rss_content, rss_headline, prompt)
def get_temp(self, room, type): ''' :param typ: 1 - alter Heizungssteller, 4 - neuer Heizungssteller ''' print(" function get_temp, room: " + room + ", type: " + str(type)) if room == "all": room_nr = 0 if room == "Wohnzimmer": room_nr = 1 if room == "Arbeitszimmer": room_nr = 2 if room == "Schlafzimmer": room_nr = 3 print "Daten von Raum-ID: " + str(room_nr) text = '' if room_nr == 0: room = 'Raum-Temperaturen' # text= 'date<br/>' isttemp = command.get_value('temp_wz') text = text + "Wohnzimmer: " + str(isttemp) + "°C<br/>" isttemp = command.get_value('temp_az') text = text + "Arbeitszimmer: " + str(isttemp) + "°C<br/>" # isttemp = command.get_value('temp_sz') # text = text + "Schlafzimmer: " + str(isttemp) + "°C<br/>" if room_nr == 1 or room_nr == 3: isttemp = command.get_value('temp_wz') settemp = command.get_value('settemp_wz') valve = command.get_value('valve_wz') control_mode = command.get_value('controlmode_wz') battery = command.get_value('battery_valve1_wz') if control_mode == 0 : str_control_mode = "Auto " if control_mode == 1 : str_control_mode = "Manual " if control_mode == 2 : str_control_mode = "Party " if control_mode == 3 : str_control_mode = "Boost " text = text + "- Ist-Temperatur: " + str(isttemp) + " °C<br/>" text = text + "- Soll-Temperatur: " + str(settemp) + " °C<br/>" text = text + "- Ventilstatus: " + str(valve) + " %<br/>" text = text + "- Klima Control Mode: " + str_control_mode + " <br/>" text = text + "- Batterie Spannung: " + str(battery) + " V<br/>" if room_nr == 2: isttemp = command.get_value('temp_az') feuchte = command.get_value('humidity_az') text = text + "- Ist-Temperatur: " + str(isttemp) + " °C<br/>" text = text + "- Luftfeuchte: " + str(feuchte) + " %<br/>" print("Text: " + text) return SnomXML.SnomIPPhoneText(Title="Heizung - Klima " + room, Text = text)
def wetter(self): MenuItems=[] # writeString = SnomXML.SnomIPHeader()+str(snom.get_temp('all','isttemp')) # MenuItems.append((feed, config['base_url']+'rss')) # return SnomXML.SnomIPPhoneMenu(Title = feed + "-Feeds", MenuItems = MenuItems) wetter_txt = "Das Wetter Heute in " + config['city'] + " \n " prompt = "" # Use lib pyowm: observation = owm.weather_at_place(config['city']) w = observation.get_weather() # print(w) # <Weather - reference time=2013-12-18 09:20, # status=Clouds> # Weather details temp = w.get_temperature('celsius') # {'temp_max': 10.5, 'temp': 9.7, 'temp_min': 9.0} # Temperatur einlesen Temperatur = temp["temp"] Temp_min = temp["temp_min"] Temp_max = temp["temp_max"] # Weather details wind = w.get_wind() # {'speed': 4.6, 'deg': 330} wind_speed = wind['speed'] # {'speed': 4.6, 'deg': 330} # wind_deg = wind['deg'] # {'speed': 4.6, 'deg': 330} humidity = w.get_humidity() # 87 # Query for daily weather forecast for the next 14 days over London # fc = owm.daily_forecast(config['city'], limit=6) fc = owm.three_hours_forecast(config['city']) f = fc.get_forecast() # for weather in f: # print (weather.get_reference_time('iso'),weather.get_status()) # print("Temp.: " + str(Temperatur)) # print("Temp_min: " + str(Temp_min)) # print("Temp_max: " + str(Temp_max)) # wetter_txt = "Wetter heute am " + wday2wtag(Wetter[0][0]) + ":<br/> Temp.: " + str(Temperatur) + u"°C<br/> Min.: " + str(Temp_min) + u"°C, Max.: " + str(Temp_max) + u"°C<br/>Wettersituation: " + Wetterlage + "<br/> Wetter morgen am " + wday2wtag(Wetter[1][0]) + ":<br/>Temp. Min: " + str(Wetter[1][2]) + u"°C, Max: " + str(Wetter[1][3]) + u"°C<br/>Wetter: " + str(Wetter[1][4]) # wetter_txt = "Wetter heute:<br/> Temp.: " + str(Temperatur) + u"°C<br/> Min.: " + str(Temp_min) + u"°C <br/>Max.: " + str(Temp_max) + u"°C<br/>Wind: " + str(wind_speed) + " m/s " + str(wind_deg) + u"°<br/>Luftfeuchte: " + str(humidity) + "%<br/>" wetter_txt = "Wetter heute:<br/> Temp.: " + str(Temperatur) + u"°C<br/> Min.: " + str(Temp_min) + u"°C <br/>Max.: " + str(Temp_max) + u"°C<br/>Wind: " + str(wind_speed) + " m/s <br/>Luftfeuchte: " + str(humidity) + "%<br/>" wetter_string = u"Wetterbericht für " + config['city'] # UTF-8 Encoding: wetter_string = wetter_string.encode('utf-8') wetter_txt = wetter_txt.encode('utf-8') # print(wetter_string) # print(wetter_txt) return SnomXML.SnomIPPhoneText(wetter_txt, wetter_string, prompt)
def help(self): text= u"Einfach aus dem Menü das Gewünschte wählen" # text+="0 = 0-9, " return SnomXML.SnomIPPhoneText(Title="Homeautomatisierung", Text=text)
def wetter_yahoo(self): MenuItems=[] # writeString = SnomXML.SnomIPHeader()+str(snom.get_temp('all','isttemp')) # MenuItems.append((feed, config['base_url']+'rss')) # return SnomXML.SnomIPPhoneMenu(Title = feed + "-Feeds", MenuItems = MenuItems) wetter_txt = "Das Wetter Heute in Berlin \n " prompt = "" # Liste fuer den Wetterbericht # 1. Dimension = heute, 2. Dimension = naechster Tag # 1. Element = Tag, 2. Element = Datum, 3. = Niedrigste Temperatur, 4. Element = Hoechste Temperatur, 5. Element = Wettersituation Wetter = [["", "", "", "", ""] , ["", "", "", "", ""]] # URL oeffnen und XML Daten einlesen # &u=c am Ende fuer Wetter in Grad Celsius # https://weather.yahoo.com/deutschland/bundesland-berlin/berlin-638242/# Baum = urllib.urlopen('http://weather.yahooapis.com/forecastrss?w=638242&u=c').read() # XML Daten parsen und in Baumstruktur anordnen Baum = parseString(Baum) # Ort einlesen Ort = Baum.getElementsByTagName('yweather:location')[0] Stadt = Ort.attributes["city"].value Land = Ort.attributes["country"].value # Datum einlesen Datum = Baum.getElementsByTagName('lastBuildDate')[0].firstChild.data # Koordinaten auslesen Geo_Lat = Baum.getElementsByTagName('geo:lat')[0].firstChild.data Geo_Long = Baum.getElementsByTagName('geo:long')[0].firstChild.data # Wetterdaten von heute einlesen Today = Baum.getElementsByTagName('yweather:condition')[0] # Wettertext einlesen Wetterlage = Today.attributes["text"].value # Temperatur einlesen Temperatur = float(Today.attributes["temp"].value) # Daten in einer Liste speichern for Counter in range(2): # Wetterdaten fuer die beiden Tage einlesen # Daten einlesen Future = Baum.getElementsByTagName('yweather:forecast')[Counter] # Daten verarbeiten Wetter[Counter][0] = Future.attributes["day"].value Wetter[Counter][1] = Future.attributes["date"].value Wetter[Counter][2] = float(Future.attributes["low"].value) Wetter[Counter][3] = float(Future.attributes["high"].value) Wetter[Counter][4] = Future.attributes["text"].value wetter_txt = "Wetter heute am " + wday2wtag(Wetter[0][0]) + ":<br/> Temp.: " + str(Temperatur) + u"°C<br/> Min.: " + str(Wetter[0][2]) + u"°C, Max.: " + str(Wetter[0][3]) + u"°C<br/>Wettersituation: " + Wetterlage + "<br/> Wetter morgen am " + wday2wtag(Wetter[1][0]) + ":<br/>Temp. Min: " + str(Wetter[1][2]) + u"°C, Max: " + str(Wetter[1][3]) + u"°C<br/>Wetter: " + str(Wetter[1][4]) wetter_string = u"Wetterbericht für " + Stadt # UTF-8 Encoding: wetter_string = wetter_string.encode('utf-8') wetter_txt = wetter_txt.encode('utf-8') # print(wetter_string) # print(wetter_txt) return SnomXML.SnomIPPhoneText(wetter_txt, wetter_string, prompt)