Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
    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)