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'))
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)
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'))
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
def process_smokesensor(self, row: dict): text_element = openhab2.SitemapTextElement(row[COL_NAME], row[COL_LABEL], '', openhab2.ICON_SMOKE)