コード例 #1
0
 def process_contact_sensor(self, row: dict):
     room_sitemap_element = self.get_room_sitemap_element(
         row[COL_ROOM_NAME], row[COL_ROOM_LABEL])
     text_element = openhab2.SitemapTextElement(row[COL_NAME],
                                                row[COL_LABEL], '',
                                                openhab2.ICON_CONTACT)
     room_sitemap_element.add_element(text_element)
     self.get_frame_by_name(FRAME_OPEN_WINDOWS)\
         .add_sitemap_element(openhab2.SitemapTextElement(row[COL_NAME], row[COL_LABEL], '[%s]',
                                                          openhab2.ICON_CONTACT, row[COL_NAME] + '==OPEN'))
コード例 #2
0
 def process_thermostat(self, row: dict):
     room_sitemap_element = self.get_room_sitemap_element(
         row[COL_ROOM_NAME], row[COL_ROOM_LABEL])
     curr_temperature = openhab2.SitemapTextElement(
         row[COL_NAME] + '_CURR', row[COL_LABEL] + ' IST', '[%.1f °C]',
         openhab2.ICON_TEMPERATURE)
     room_sitemap_element.add_element(curr_temperature)
     target_temperature = openhab2.SitemapSetPointElement(
         row[COL_NAME] + '_TARGET', row[COL_LABEL] + ' SOLL', '[%.1f °C]',
         openhab2.ICON_TEMPERATURE)
     room_sitemap_element.add_element(target_temperature)
コード例 #3
0
 def process_rollershutter(self, row: dict):
     room_sitemap_element = self.get_room_sitemap_element(
         row[COL_ROOM_NAME], row[COL_ROOM_LABEL])
     switch_element = openhab2.SitemapSwitchElement(row[COL_NAME],
                                                    row[COL_LABEL], '[%s]',
                                                    openhab2.ICON_BLINDS)
     room_sitemap_element.add_element(switch_element)
     slider_element = openhab2.SitemapSliderElement(row[COL_NAME],
                                                    row[COL_LABEL],
                                                    '[%d %%]',
                                                    openhab2.ICON_BLINDS)
     room_sitemap_element.add_element(slider_element)
     self.get_frame_by_name(FRAME_OPEN_ROLLERSHUTTERS)\
         .add_sitemap_element(openhab2.SitemapTextElement(row[COL_NAME], row[COL_LABEL], '[%d %%]',
                                                            openhab2.ICON_BLINDS, row[COL_NAME] + '<100'))
コード例 #4
0
    def get_room_sitemap_element(
            self, room_name: str,
            room_label: str) -> openhab2.SitemapTextElement:
        if room_name in self.rooms:
            room_sitemap_element = self.rooms[room_name]
            return room_sitemap_element
        else:
            icon = SitemapConfigBuilder.get_room_icon(room_name)
            room_sitemap_element = openhab2.SitemapTextElement(
                room_name, room_label, '', icon)

            self.rooms[room_name] = room_sitemap_element
            frame = self.frames[FRAME_ALL_ROOMS]
            frame.add_sitemap_element(room_sitemap_element)
            return room_sitemap_element
コード例 #5
0
 def process_smokesensor(self, row: dict):
     text_element = openhab2.SitemapTextElement(row[COL_NAME],
                                                row[COL_LABEL], '',
                                                openhab2.ICON_SMOKE)