{{#Name=Single Device Status Icon}} {{#Description=Displays a single device status icon with control}} {{#Version=1.0}} {{#Author=HomeSeer}} {{dbs=dashboards_ref}} {{widget_id=queries['widget_id']}} {{if widget_id==null}} {{widget_id=var1}} {{end}} {{w=widget_by_id widget_id}} {{id_unique=string.replace w.id '-' ''}} {{# To simplify custom controls, the settings dialog that holds settings is auto generated }} {{# To have your persistent settings saved and restored automatically, add them below in the section that calls "get_value" }} {{# storage arrays for saved value, save name, dialog label, control type }} {{# value: The value that is saved for a particular item, such as a display label, color, font size, etc. }} {{# save name: The name used to save the persistent value. All saved names must start with "save_" }} {{# dialog label: The dialog for saving values is auto generated so this is the label that is displayed for the item such as "Color"}} {{# control_type: The type of control used to configure the item. Control types supported here are: }} {{# text: a simple text box for entering text such as a label }} {{# color: allows for entry of a specific HTML color like #000000 and also displays a button that displays a color picker }} {{# toggle: displays a toggle switch for items that support "enabled/disabled" or On/Off }} {{# arrays that hold settings for the autogenerated settings dialog. These are filled by calling get_value }} {{current_values=[]}} {{save_names=[]}} {{titles=[]}} {{control_types=[]}} {{# function to get a saved value and return the value or the default value}} {{# function parameters: $0=save name, $1=default value, $2=control name for settings dialog, $3=control type }} {{index=0}} {{func get_value v=get_saved_value $0 widget_id if v=='' v=$1 end current_values[index]=v save_names[index]=$0 titles[index]=$2 control_types[index]=$3 index=index+1 ret v end}} {{save_width_height=false}} {{if w.width==0}} {{#first time loading, force a save of the card width and height}} {{save_width_height=true}} {{end}} {{#get settings that will also be used in the autogenerate settings dialog. This fills the arrays above}} {{show_device_name=get_value 'save_show_device_name_toggle' '' 'Show Name' 'toggle'}} {{name_color=get_value 'save_name_color' 'black' 'Name Color' 'color'}} {{name_size=get_value 'save_name_size' '16px' 'Name Size' 'text'}} {{icon_width=get_value 'save_icon_width' '48' 'Icon Width' 'text'}} {{icon_height=get_value 'save_icon_height' '48' 'Icon Height' 'text'}} {{#get settings that will not be configured with the settings dialog}} {{# these are values that may or may not be displayed in the setings dialog but need to be displayed with custom HTML that the autogen code cannot handle }} {{feature_item_ref=get_saved_value 'save_feature_item' widget_id}} {{if feature_item_ref=='' feature_item_ref='0' end}} {{control1_value=get_saved_value 'save_control1' widget_id}} {{control2_value=get_saved_value 'save_control2' widget_id}} {{# set the width and height of the card since we want this one small with just one icon}} {{if save_width_height}} {{end}} {{# normal display HTML is here. This is what is displayed when viewing the card in non-edit mode}} {{if show_device_name=='on'}}
{{dev=device_by_ref feature_item_ref}} {{dev_primary=device_by_ref dev.primary_ref}} {{dev_primary.name}}-{{dev.name}}
{{end}}
{{img_file = status_image_file feature_item_ref}} {{if img_file=='' img_file='images/HomeSeer/status/nostatus.gif' end}}
{{#if we are not in edit mode, don't bother including the edit mode content}} {{if dbs.edit_mode}} {{# card settings dialog, the second tab autogenerates settings based on values added to the settings arrays. Custom settings HTML can be added}} {{#this dialog has 2 tabs, one for formatting the card, the other for card content}} {{# w=widget class, dashboard=dashboard name, d=device}} {{#pop-up dialog to select an HS device feature}} {{else}} {{end}}