定制卡/h1>
仪表板/a>是我们定义家庭助理用户界面的方法。必威是什么我们提供很多内置卡,但您不仅限于我们决定将其包括在家庭助理中的卡片。必威是什么您可以构建和使用自己的!//p>
这是一个基本示例,以显示可能的可能性。/p>
在您的家庭助理config dir中创建一必威体育存款个新文件必威是什么 在我们的示例卡中,我们定义了带有标签的卡 用URL向仪表板配置添加资源 然后,您可以在仪表板配置中使用卡:/p>
定制卡被定义为自定义元素/a>。由您决定如何在元素内渲染DOM。您可以使用聚合物,角度,预性或任何其他流行框架(React除外 -有关React的更多信息在这里/a>)。/p>
必威是什么家庭助理会打电话 必威是什么家庭助理将设置 您的卡可以定义 由于某些元素可以懒惰,如果要获得另一个元素的卡大小,则应首先检查其定义。/p>
您的卡可以定义 将仪表板加载的资源导入为JS模块导入。以下是使用JS模块的自定义卡的一个示例,该模块可以完成所有精美的事物。//p>
在您的家庭助理config dir中创建一必威体育存款个新文件必威是什么定义您的卡
班级/span>ContentCardExampame/span>扩展/span>htmlelement/span>{//span>
//每当状态更改时,设置了一个新的“ Hass”对象。用这个//span>
//更新您的内容。/span>
放/span>哈斯/span>((/span>哈斯/span>)/span>{//span>
//如果内容还不存在,请初始化内容。/span>
如果/span>((/span>呢/span>这个/span>。/span>内容/span>)/span>{//span>
这个/span>。/span>Innerhtml/span>=//span>`//span>
<//span>哈卡/span>标题/span>=//span>“/span>示例卡/span>“/span>>//span>
<//span>div/span>班级/span>=//span>“/span>卡容器/span>“/span>>//span>//span>div/span>>//span>
//span>哈卡/span>>//span>
`//span>;/span>
这个/span>。/span>内容/span>=//span>这个/span>。/span>Queryselector/span>((/span>'div'/span>)/span>;/span>
}//span>
const/span>EntityID/span>=//span>这个/span>。/span>config/span>。/span>实体/span>;/span>
const/span>状态/span>=//span>哈斯/span>。/span>状态/span>[[//span>EntityID/span>这是给予的//span>;/span>
const/span>统计员/span>=//span>状态/span>?//span>状态/span>。/span>状态/span>:/span>“不可用”/span>;/span>
这个/span>。/span>内容/span>。/span>Innerhtml/span>=//span>`//span>
的状态/span>$ {/span>EntityID/span>}//span>是/span>$ {/span>统计员/span>}//span>呢/span>
<//span>br/span>>//span><//span>br/span>>//span>
<//span>IMG/span>src/span>=//span>“/span>http://via.placeholder.com/350x150/span>“/span>>//span>
`//span>;/span>
}//span>
//用户提供的配置。抛出例外和家庭助理必威是什么//span>
//将渲染一张错误卡。/span>
setConfig/span>((/span>config/span>)/span>{//span>
如果/span>((/span>呢/span>config/span>。/span>实体/span>)/span>{//span>
扔/span>新的/span>错误/span>((/span>“您需要定义一个实体”/span>)/span>;/span>
}//span>
这个/span>。/span>config/span>=//span>config/span>;/span>
}//span>
//卡的高度。必威是什么家庭助理使用它自动//span>
//在可用列上分配所有卡。/span>
GetCardize/span>((/span>)/span>{//span>
返回/span>3/span>;/span>
}//span>
}//span>
自定义/span>。/span>定义/span>((/span>“内容卡示例”/span>,,,,/span>ContentCardExampame/span>)/span>;/span>引用您的新卡
内容卡示例/code>(请参阅最后一行),所以我们的卡类型将是
自定义:内容卡示例/code>。并且因为您在您的文件中创建了文件
/当地的//code>(如果您最近添加了www文件夹,则需要重新启动家庭助理以获取要拾取的文件)。必威是什么/p>
/local/content-card-example.js/code>和类型
模块/code>((资源文档/a>)。/p>
#示例仪表板配置/span>
视图/span>:/span>
-/span>姓名/span>:/span>例子/span>
牌/span>:/span>
-/span>类型/span>:/span>“自定义:content-card示例”/span>
实体/span>:/span>input_boolean.switch_tv/span>API
setConfig(config)/code>当配置更改时(稀有)。如果您引发了异常,则如果配置无效,则家庭助理将渲染错误卡以通知用户。必威是什么//p>
哈斯/code>当家庭助理状态变化时(频繁)时的财产。必威是什么每当状态更改时,组件都必须自行更新以表示最新状态。//p>
GetCardize/code>将卡的大小返回数字或承诺的方法,该数字可以解决到一个数字。高度为1等于50像素。这将帮助家庭助理在列上平均分发必威是什么卡片。卡的大小
1/code>如果未定义该方法,将假定。/p>
返回/span>自定义/span>
。/span>定义/span>((/span>元素/span>。/span>localname/span>)/span>
。/span>然后/span>((/span>((/span>)/span>=>/span>元素/span>。/span>GetCardize/span>((/span>)/span>)/span>;/span>getConfigelement/code>返回用于编辑用户配置的自定义元素的方法。必威是什么家庭助理将在仪表板中的卡片编辑器中显示此元素。//p>
高级示例
进口/span>“ https://unpkg.com/[电子邮件保护]/a>/wired-card.js?module“/span>;/span>
进口/span>“ https://unpkg.com/[电子邮件保护]/a>/wired-toggle.js?module”/span>;/span>
进口/span>{//span>
litelement/span>,,,,/span>
html/span>,,,,/span>
CSS/span>
}//span>从/span>“ https://unpkg.com/[电子邮件保护]/a>/lit-element.js?module”/span>;/span>
功能/span>负载/span>((/span>URL/span>)/span>{//span>
const/span>关联/span>=//span>文档/span>。/span>创建/span>((/span>“关联”/span>)/span>;/span>
关联/span>。/span>类型/span>=//span>“文字/CSS”/span>;/span>
关联/span>。/span>rel/span>=//span>“样式表”/span>;/span>
关联/span>。/span>HREF/span>=//span>URL/span>;/span>
文档/span>。/span>头/span>。/span>附录/span>((/span>关联/span>)/span>;/span>
}//span>
负载/span>((/span>“ https://fonts.googleapis.com/css?family=gloria+hallelujah”/span>)/span>;/span>
班级/span>WiredToggleCard/span>扩展/span>litelement/span>{//span>
静止的/span>得到/span>特性/span>((/span>)/span>{//span>
返回/span>{//span>
哈斯/span>:/span>{//span>}//span>,,,,/span>
config/span>:/span>{//span>}//span>
}//span>;/span>
}//span>
使成为/span>((/span>)/span>{//span>
返回/span>html/span>`//span>
<//span>有线卡/span>海拔/span>=//span>“/span>2/span>“/span>>//span>
$ {/span>这个/span>。/span>config/span>。/span>实体/span>。/span>地图/span>((/span>恩特/span>=>/span>{//span>
const/span>statebj/span>=//span>这个/span>。/span>哈斯/span>。/span>状态/span>[[//span>恩特/span>这是给予的//span>;/span>
返回/span>statebj/span>
?//span>html/span>`//span>
<//span>div/span>班级/span>=//span>“/span>状态/span>“/span>>//span>
$ {/span>statebj/span>。/span>属性/span>。/span>友好名称/span>}//span>
<//span>有线式/span>
检查/span>=//span>“/span>$ {/span>statebj/span>。/span>状态/span>===/span>“上”/span>}//span>“/span>
@改变/span>=//span>“/span>$ {/span>ev/span>=>/span>这个/span>。/span>_toggle/span>((/span>statebj/span>)/span>}//span>“/span>
>//span>//span>有线式/span>>//span>
//span>div/span>>//span>
`//span>
:/span>html/span>`//span>
<//span>div/span>班级/span>=//span>“/span>未找到/span>“/span>>//span>实体/span>$ {/span>恩特/span>}//span>未找到。/span>//span>div/span>>//span>
`//span>;/span>
}//span>)/span>