You can find the entire repo here.
14
config/www/custom_ui/floorplan/README.md
Executable file
@@ -0,0 +1,14 @@
|
||||
# [](https://travis-ci.org/CCOSTAN/Home-AssistantConfig) Home-Assistant Config by [@ccostan](http://www.twitter.com/ccostan)
|
||||
[Home Assistant](https://home-assistant.io/) configuration files (YAMLs)
|
||||
|
||||
Be sure to :star: my repo so you can keep up to date on the daily progress!
|
||||
|
||||

|
||||
|
||||
This is the first directory you need for a successful Floorplan installation!
|
||||
|
||||
#Still have questions on my Config?
|
||||
Follow me on twitter : [@CCostan](https://twitter.com/ccostan)
|
||||
Follow the Smart Home on twitter : [@BearStoneHA](https://twitter.com/BearStoneHA)
|
||||
|
||||
You can also vist my [Blog](http://www.vmwareinfo.com/search/label/iot) for all of my [Home Automation Posts](http://www.vmwareinfo.com/search/label/iot).
|
205
config/www/custom_ui/floorplan/alarm.css
Executable file
@@ -0,0 +1,205 @@
|
||||
SVG shapes */
|
||||
|
||||
svg, svg * {
|
||||
vector-effect: non-scaling-stroke !important;
|
||||
pointer-events: all !important;
|
||||
}
|
||||
/*
|
||||
/* Hover over */
|
||||
|
||||
/* Interior Garage */
|
||||
#binary_sensor\.mcu1_gpio12.window-opened {
|
||||
transform: rotate(270deg);
|
||||
transform-origin: left;
|
||||
}
|
||||
/* Back Door */
|
||||
#binary_sensor\.mcu2_gpio5.window-opened {
|
||||
transform: rotate(270deg);
|
||||
transform-origin: right;
|
||||
}
|
||||
#binary_sensor\.kitchen_door_opened.window-opened {
|
||||
transform: rotate(270deg);
|
||||
transform-origin: right;
|
||||
}
|
||||
|
||||
#sensor\.dark_sky_minutely_summary {
|
||||
fill: #231F26 !important;
|
||||
fill-opacity: 1.0;
|
||||
}
|
||||
|
||||
.entity:hover:not(.static-text):not(.static-temp):not(.static-text-date):not:(.static-text-time) {
|
||||
stroke: #03A9F4 !important;
|
||||
stroke-width: 1px !important;
|
||||
stroke-opacity: 1 !important;
|
||||
}
|
||||
|
||||
|
||||
.warning-background, .warning-text-background {
|
||||
fill: #fcf8e3 !important;
|
||||
fill-opacity: 1 !important;
|
||||
stroke: #faebcc !important;
|
||||
stroke-width: 1px !important;
|
||||
}
|
||||
|
||||
.static-text
|
||||
{
|
||||
fill: #FFFFA6 !important;
|
||||
font-family : Helvetica !important;
|
||||
font-weight : bold !important;
|
||||
font-size : 15px !important;
|
||||
}
|
||||
|
||||
.static-text-date
|
||||
{
|
||||
font-family : Helvetica !important;
|
||||
font-weight : bold !important;
|
||||
font-size : 16px !important;
|
||||
fill : #FFFFA6 !important;
|
||||
}
|
||||
|
||||
.static-text-time
|
||||
{
|
||||
font-family : Helvetica !important;
|
||||
font-weight : bold !important;
|
||||
font-size : 35px !important;
|
||||
fill: #FFFFA6 !important;
|
||||
}
|
||||
|
||||
.static-temp
|
||||
{
|
||||
font-family: Helvetica !important;
|
||||
font-size: 22px !important;
|
||||
fill: #FFFFA6 !important;
|
||||
}
|
||||
/* Last motion entity */
|
||||
|
||||
.last-motion {
|
||||
stroke: #808080 !important;
|
||||
stroke-width: 1px !important;
|
||||
stroke-opacity: 1 !important;
|
||||
}
|
||||
|
||||
/* Presence */
|
||||
.presence-on {
|
||||
fill: #BDF271 !important;
|
||||
}
|
||||
|
||||
.presence-off {
|
||||
fill: #3D3B3F !important;
|
||||
}
|
||||
|
||||
/* Text Home/Away */
|
||||
|
||||
.text-home {
|
||||
fill: #BDF271 !important;
|
||||
}
|
||||
|
||||
.text-away {
|
||||
fill: #E7376B !important;
|
||||
}
|
||||
|
||||
/* switches */
|
||||
|
||||
.switch-on {
|
||||
fill: orange !important;
|
||||
}
|
||||
|
||||
.switch-on-blue {
|
||||
fill: blue !important;
|
||||
}
|
||||
|
||||
.switch-off {
|
||||
fill: #cccccc !important;
|
||||
}
|
||||
|
||||
/* Juicebox */
|
||||
.juicebox-plugged {
|
||||
fill: orange !important;
|
||||
}
|
||||
.juicebox-standby {
|
||||
fill: grey !important;
|
||||
}
|
||||
.juicebox-charging {
|
||||
fill: green !important;
|
||||
}
|
||||
/* Buttons */
|
||||
|
||||
.button-on {
|
||||
fill: #FFFFA6 !important;
|
||||
fill-opacity: 0.25;
|
||||
}
|
||||
|
||||
.button-off {
|
||||
fill: #3D3B3F !important;
|
||||
fill-opacity: 0.5;
|
||||
}
|
||||
|
||||
/* Nest Protects */
|
||||
|
||||
.protect-on {
|
||||
fill: green !important;
|
||||
}
|
||||
|
||||
.protect-off {
|
||||
fill: red !important;
|
||||
}
|
||||
|
||||
/* Windows / Doors / Entry Points */
|
||||
|
||||
.window-open {
|
||||
fill: #c60919 !important;
|
||||
|
||||
}
|
||||
|
||||
.window-closed {
|
||||
fill: #00FFFF !important;
|
||||
}
|
||||
|
||||
/* Light */
|
||||
|
||||
.light-off {
|
||||
fill: #231F26 !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: black !important;
|
||||
stroke-width: 1;
|
||||
stroke-opacity:0.1;
|
||||
}
|
||||
.light-off:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(2);
|
||||
}
|
||||
|
||||
.outdoor-light-off {
|
||||
fill: grey !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: black !important;
|
||||
stroke-width: 1;
|
||||
stroke-opacity:0.1;
|
||||
}
|
||||
.outdoor-light-off:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(2);
|
||||
}
|
||||
.light-blue-on {
|
||||
fill: blue !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: #FFFFA6 !important;
|
||||
stroke-width: 10;
|
||||
stroke-opacity: 0.25;
|
||||
}
|
||||
.light-blue-on:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(3);
|
||||
}
|
||||
|
||||
.light-on {
|
||||
fill: yellow !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: #FFFFA6 !important;
|
||||
stroke-width: 10;
|
||||
stroke-opacity: 0.25;
|
||||
}
|
||||
.light-on:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(3);
|
||||
}
|
967
config/www/custom_ui/floorplan/alarm.svg
Executable file
@@ -0,0 +1,967 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1"
|
||||
id="artboard" inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" sodipodi:docname="alarm.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1024 600"
|
||||
style="enable-background:new 0 0 1024 600;" xml:space="preserve">
|
||||
<g id="Floor_Plan" transform="translate(0,2.0698958e-5)">
|
||||
<rect id="Background" x="0.2" y="-0.5" style="fill:#231F26;" width="1024" height="600"/>
|
||||
<g id="Date_and_Time">
|
||||
<path id="box" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M264.5,111.8H37.2c-6.8,0-12.3-5.9-12.3-13.3V49.2
|
||||
c0-7.3,5.5-13.3,12.3-13.3h227.2c6.8,0,12.3,5.9,12.3,13.3v49.3C276.8,105.9,271.3,111.8,264.5,111.8L264.5,111.8z"/>
|
||||
<g id="sensor.floorplan_date" transform="translate(-4)">
|
||||
|
||||
<text id="text4522" transform="matrix(1 0 0 1 41.3238 63.3948)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:17.93px;">Friday, June 30</text>
|
||||
</g>
|
||||
<g id="sensor.floorplan_time">
|
||||
|
||||
<text id="text4525" transform="matrix(1 0 0 1 35.34 100.4411)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:37.7086px;">9:36 PM</text>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Second_Floor" transform="translate(25.670008,-0.46672742)">
|
||||
<g id="Second_Floor_Plan">
|
||||
<path id="path2580" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M127.7,395.4l31.4-0.2l0.1,10h1.7l-0.1-9.9
|
||||
l9.1-0.1v-2.6h-5.6l-0.1-14.6l62.5-0.5v-1.8l17.6-0.1v5h1.8l0.1,17.6h-1.8l0.3,40.2l-47.1,0.4l-1.4,1.5l1.3,1.2l0.9-0.9l46.3-0.4
|
||||
l0.2,16h1.8l0.2,17.6h-1.8l0.2,16.7L187,491v-5.6h-1.6v4.8l-10.7,0.1l-0.2-30.6l10.7-0.1l0.1,7.5h1.6l-0.1-13.9l0.7-0.7l-1.3-1.1
|
||||
l-0.4,0.4l-12.1-11.1l-1.2,1.3l0.4,39l-26.8,0.2l-0.4-50.8l14.4-0.1l3.2,3l1.2-1.2l-3.2-3l-0.1-10.7h-1.7l0.1,10.2l-35.3,0.3
|
||||
l-0.1-14l-30.9,0.2l-0.5-63.4l34.8-0.3L127.7,395.4"/>
|
||||
<path id="path2578" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M169.7,395l-9.1,0.1l0.1,10H159l-0.1-10
|
||||
l-31.3,0.2l-0.3-44.3l-34.7,0.3l0.5,63.6l30.8-0.2l0.1,14l35.3-0.3l-0.1-10.3h1.7l0.1,10.8l3.2,3l-0.1,0.1l-1.1,1.2l-3.2-3
|
||||
l-14.4,0.1l0.4,51l26.7-0.2l-0.4-39.2l0,0l1.2-1.2l12.1,11.2l0.4-0.4l1.3,1.2l-0.7,0.7l0.1,13.9h-1.6l-0.1-7.5l-10.7,0.1
|
||||
l0.2,30.8l10.7-0.1v-4.8h1.6v5.7l58.3-0.8l-0.2-16.7h3.6l0.2,20.3l-77.6,0.5l-0.1-10.2l-28.5,0.2l-0.4-52.7l-21.4,0.2l-0.1-14.1
|
||||
l-30.8,0.2L89,347.7l41.8-0.3l0.3,44.3l29.5-0.2v0.9l9-0.1L169.7,395 M248.1,436.4l0.2,19.9h-3.5l-0.2-16.3l-46.3,0.4l-0.9,0.9
|
||||
l0,0l-1.3-1.2l1.4-1.5l47-0.4l-0.3-40.3h3.6l0.3,38.4 M175.9,456.1l7-0.1v-1.8l-7.1-6.6L175.9,456.1 M247.6,373.5l0.1,6.8h-3.6
|
||||
l-0.1-6.8H247.6 M162.2,374.2l64.2-0.5v3.6l-64.2,0.5V374.2"/>
|
||||
|
||||
<text id="second_floor_text" transform="matrix(1 0 0 1 156.0425 362.0238)" style="fill:#757575; font-family:'Helvetica'; font-size:9.28px;">SECOND FLOOR</text>
|
||||
|
||||
<text id="text743-2" transform="matrix(1 0 0 1 175.5794 405.9195)" style="fill:#757575; font-family:'Helvetica'; font-size:9.28px;">LIVING ROOM</text>
|
||||
|
||||
<text id="text749-3" transform="matrix(1 0 0 1 193.7634 485.1224)" style="fill:#757575; font-family:'Helvetica'; font-size:9.28px;">BEDROOM</text>
|
||||
</g>
|
||||
<g id="Doors">
|
||||
<path id="path23" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M196.5,440.8c5.7,5,6.7,13.5,2.3,19.6l-11-9.8
|
||||
l-1,1.1l11.1,10c5.5-6.1,4.9-15.5-1.2-21l0,0l-0.1-0.1L196.5,440.8z"/>
|
||||
<path id="path25" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M163.6,432.6c4.3-4.5,11.4-5,16.3-1.1l-8.3,8.7
|
||||
l0.9,0.9l8.4-8.9c-4.9-4.7-12.7-4.6-17.4,0.2l0,0L163.6,432.6z"/>
|
||||
<path id="path27" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M159.8,404.9c6.6,0,12.2,5,12.8,11.6h-12.8v1.3h13
|
||||
c0-7.2-5.7-13-12.9-13.1h-0.1V404.9z"/>
|
||||
</g>
|
||||
<g id="up_stairs">
|
||||
<rect id="rect30" x="127.5" y="376.9" style="fill:#616262;" width="42.1" height="17"/>
|
||||
<path id="path32" inkscape:connector-curvature="0" d="M130.8,394.1h39v-17.3h-42.5v17.3H130.8z M166.3,377.1h3.2v16.7h-3.2
|
||||
V377.1z M162.7,377.1h3.2v16.7h-3.2V377.1z M159.2,377.1h3.2v16.7h-3.2V377.1z M155.7,377.1h3.1v16.7h-3.2L155.7,377.1z
|
||||
M152.2,377.1h3.2v16.7h-3.2V377.1z M148.7,377.1h3.2v16.7h-3.2V377.1z M145.1,377.1h3.2v16.7h-3.2V377.1z M141.6,377.1h3.2v16.7
|
||||
h-3.2V377.1z M138.1,377.1h3.2v16.7h-3.2V377.1z M134.6,377.1h3.2v16.7h-3.2V377.1z M131.1,377.1h3.2v16.7h-3.2V377.1z
|
||||
M127.5,377.1h3.2v16.7h-3.2L127.5,377.1z"/>
|
||||
<path id="path34" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M135.1,385.5l-3.8,2.1l0.2-1.1h-2v-2h2l-0.2-1.1
|
||||
L135.1,385.5z"/>
|
||||
</g>
|
||||
<g id="US_bathroom_icon" transform="rotate(-179.51832,157.81077,456.50345)">
|
||||
<path id="path37" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M160.6,464.5c0,1.2,1,2.2,2.2,2.2s2.2-1,2.2-2.2
|
||||
s-1-2.2-2.2-2.2S160.6,463.3,160.6,464.5z"/>
|
||||
<path id="path39" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M156,464.5c0-1.2-1-2.2-2.2-2.2s-2.2,1-2.2,2.2
|
||||
s1,2.2,2.2,2.2l0,0C155,466.8,156,465.8,156,464.5z"/>
|
||||
<path id="path41" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M157.9,451.7L157.9,451.7c-0.8-0.5-1.6-0.8-2.4-1.1
|
||||
l-0.4-3.4c0-0.5-0.4-0.9-0.9-0.9h-0.7c-0.5,0-0.9,0.4-0.9,0.9l-0.4,3.4c-0.9,0.2-1.7,0.6-2.5,1.1c-0.4,0.2-0.6,0.7-0.4,1.1
|
||||
l2.2,6.8c0.3,0.9,1.2,1.6,2.2,1.6h0.2c1,0,1.9-0.6,2.2-1.6l2.2-6.8C158.5,452.4,158.3,451.9,157.9,451.7L157.9,451.7z"/>
|
||||
<path id="path43" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M166.4,458.3l-0.1-3.3c0-0.4-0.2-0.8-0.6-1
|
||||
l-0.7-0.4l-0.8-6.5c-0.1-0.4-0.4-0.8-0.9-0.8h-1.2c-0.4,0-0.8,0.3-0.9,0.8l-0.8,6.5l-0.7,0.4c-0.4,0.2-0.6,0.6-0.6,1l-0.1,3.3
|
||||
c0,1.6,1.2,2.9,2.8,2.9h1.4C165.1,461.2,166.3,459.9,166.4,458.3L166.4,458.3z"/>
|
||||
</g>
|
||||
<g id="Closet_Doors">
|
||||
<path id="path46" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M186.1,468.1l5.1,2.5l-5.1,2.5l0.3,1.1
|
||||
c1.9-0.9,5.8-2.8,5.8-2.8v-1.5l-5.9-2.8L186.1,468.1z"/>
|
||||
<path id="path48" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M186.1,478.8l5.1,2.5l-5.1,2.5l0.3,1.1
|
||||
c1.9-0.9,5.8-2.8,5.8-2.8v-1.5l-5.9-2.8L186.1,478.8z"/>
|
||||
</g>
|
||||
<path id="binary_sensor.mcu2_gpio13" inkscape:connector-curvature="0" inkscape:label="#rect469" style="fill:#29D9C2;" d="
|
||||
M247,474.7h-0.9c-1,0-1.9-0.8-1.9-1.9v-15.3c0-1,0.8-1.9,1.9-1.9h0.9c1,0,1.9,0.8,1.9,1.9v15.3C248.9,473.9,248,474.7,247,474.7z"
|
||||
/>
|
||||
<g id="binary_sensor.mcu3_gpio14" inkscape:label="#g1800">
|
||||
<path id="rect471" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M246.1,398.6h-0.9c-1,0-1.9-0.8-1.9-1.9v-15.3
|
||||
c0-1,0.8-1.9,1.9-1.9h0.9c1,0,1.9,0.8,1.9,1.9v15.3C247.9,397.8,247.1,398.6,246.1,398.6z"/>
|
||||
<path id="rect473" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M242.8,377.4h-15.3c-1,0-1.9-0.8-1.9-1.9v-0.9
|
||||
c0-1,0.8-1.9,1.9-1.9h15.3c1,0,1.9,0.8,1.9,1.9v0.9C244.7,376.6,243.9,377.4,242.8,377.4z"/>
|
||||
</g>
|
||||
<circle id="light.upstairs_lamp" style="fill:#231F26;" cx="234.6" cy="429.4" r="4.6"/>
|
||||
|
||||
<rect id="sensor.dark_sky_minutely_summary" x="10.3" y="342.4" inkscape:label="#rect395" style="fill:#CCCCCC;" width="74" height="59.3">
|
||||
</rect>
|
||||
</g>
|
||||
<g id="First_Floor">
|
||||
<g id="Floor_Plan-2">
|
||||
<path id="Floor_Plan_BG" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M298.4,243.1v32.2h2.7v75h47.8v2.5h-47.7
|
||||
V372h-2.7v17h2.6v53h-2.6v17h2.7v13.6h95v2.7h17v-2.7h3.1v2.7h17v-2.7h14v-13.3h2.7v-40.8h-2.7v-44.2h-2.6v-2.7h2.4v-0.2h2.5v0.4
|
||||
h0.8v7.6h14.7v2.7h56.8v-2.7h21.5v-0.1h5l10.5,10.8L557,392l11.9,12.2l1.9-1.9l2.5,2.6h4.6v2.7h16.9v-2.7h15.3l18.5-18.6v-40.1
|
||||
h8.8v2.7h17.4v-2.7h11.5c0-0.3-0.1-27.5-0.1-27.8h-22.8v-53h2.3v52.5h34.7v2.5l-2,2.1h-2.7V347h2.7v2.3h-12.1v28.8l-10,9.9h-5.2
|
||||
v-2.7h-17v2.7h-3.4l-19.5,19.5h-7.8V481h26.3v2.7h17V481h39.4v-1.9h2.6v2h23.7v2.7h18.5v-2.7h41.3l-0.1-37.4l-25.7,0.1v-0.9
|
||||
h-57.7v19.2h-2.6V347h3.7v2.6h-1.1v91.1h83.4v-72.2h2.6v-17H772v-31.2h-28.9v29.2H713v-2.6h27.7v-26.5h-22.9v-2.7h-1.9v-0.1h56.2
|
||||
v-50.8h2.7v-17h-2.7v-35.7h-44.3v-2.6h3.9v-26.7h-39.3v26.7h1.3v2.6h-1.2v103.6h2.8v2.7h4v0.1H690v-74.3h-44.3v3.2h-2.2v-5.7
|
||||
h46.4v-58.8h-23.8v-2.6h68v26.2H767V39h-5.9v-2.7H655.2V39h-10.6v19.7h-11.3V56h-52.5v2.7h-1.5V174h6.1v8.2h62.4v2.6h-5v0.1h-5.1
|
||||
v2.6h-55.6v8.3h-11.7v1.2h2.7c2.6,0.1,2.7,0.1,2.7,0.5l0.1,0.5h61.8v25h2.4v-22.4h2.7v0.1h2.7v27.7H573v-26h-8.1v-12h11.8v-132
|
||||
h-20.4v-2.7H530v2.7h-14.4v-2.7h-26.4v2.7h-19.5V86h-3v-2.7h-46.8V86h-2.5v8h-4.3v2.3h-2.7v3.3h-0.7V62.4h-18.9v-2.7h-26.4v2.7
|
||||
h-15.2v-2.7h-26.4v2.7h-22.1v128.1h108v-48.4h1V132h0.7v6.9h2.7v2.3h5.3v3.5h-6.3v45.8h5.8v2.6h-19.5l0.1,157.1h51v4.1h-2.4v-1.7
|
||||
h-27.4l-0.1,13.8l0.4,5.4h2.9v2.5h-5.6v-21.4h-44.5v-2.5h4v-0.2h2.6v-29.8h-2.7v-10h19.1v-52.3h-27.4v-2.6h27.4v-28.3h-25.7v16
|
||||
h-3.9v-2.6h1.3v-16h28.2v-31.5h-94.8v47.5h45.7v2.6L298.4,243.1z M458.9,190.5h11.2l2.7-0.1h73v128h-2.5v2.7l0,0v-128h-84.4
|
||||
L458.9,190.5z"/>
|
||||
<path id="Floor_Plan_Outline" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M712.5,486.4v-5.3h-23.7v-2h-2.6v2
|
||||
h-39.4v5.4L712.5,486.4z M416.3,477.9v-5.3h-3.1v5.3H416.3z M452.6,477.9v-18.6h-5.3v13.3h-14v5.3L452.6,477.9z M396.1,477.9
|
||||
v-5.3h-95V459h-5.7v18.9H396.1z M571,410.1h6.8v-5.3h-4.6l-2.5-2.6l-3.8,3.7L571,410.1z M295.4,442h5.7v-52.8h-5.7V442z
|
||||
M546.2,384.6l8.8,9.1l3.8-3.7l-10.5-10.8h-5v0.1h-21.5v5.3H546.2z M444.7,374.2h2.6v44.2h5.3v-33.8H465v-5.3h-14.7v-7.6h-0.8
|
||||
v-0.4H447v0.3h-2.4L444.7,374.2z M688.7,462.1v-19.2h57.7v0.9l25.7-0.1v37.4h-41.3v5.3h46.6l-0.1-40.4v-77.4H772v72.1h-83.3
|
||||
v-91.2h1.1v-2.6h-3.7v115.2L688.7,462.1z M301.1,372.1v-19.2h47.7v-2.5H301v-75h-5.6v96.8L301.1,372.1z M713.1,349.5h30.1v-29.2
|
||||
h28.9v31.2h5.3v-84.7h-5.3v50.8h-54.3v2.8h22.9v26.5h-27.6L713.1,349.5z M645.7,313.1v-47.8h-2.2v47.8H645.7z M578.2,228.4h67.2
|
||||
v-27.7h-5.3V223h-61.9L578.2,228.4z M543.3,193v128l0,0v-7.9h2.5V190.3h-73.1v0.1H459v2.6H543.3z M322.8,57.1h-27.5v186h51.2
|
||||
v-2.6h-45.7V193h94.9v31.6h-28.2v16h-1.3v2.6h3.9v-16h25.7v28.3h-27.4v2.6h27.4v52.3h-19.1v10h5.3v-4.6h11v31.9h-8.5v2.6h-7.9
|
||||
v0.2h-4v2.6h44.5v21.4h5.6V372h-3l-0.4-5.4l0.1-13.8l27.3-0.1v1.8h2.5v-4.1h-51l-0.1-157.1h19.5v-2.6h-5.8v-45.6h6.3v-3.5h-5.3
|
||||
v-2.3h-3.3v3.1h-1v48.4h-108V62.7h22.2L322.8,57.1z M364.5,62.4v-5.3h-15.2v5.3H364.5z M409.7,62.4v33.9h3.4V94h4.3v-8h2.4v-5.3
|
||||
H415V57.1h-24.2v5.3H409.7z M470.1,86V58.4h19.1v-5.3h-21.8v27.6h-0.7V86H470.1z M530,58.4v-5.3h-14.4v5.3H530z M576.8,58.4v132
|
||||
H565v12h10.7v-5.3h-5.4v-1.3h11.8v-8.2h55.5v-2.7h10.2v-2.6h-62.4v-8.1h-6.2V58.7h1.5v-5.5h-24.5v5.4L576.8,58.4z M644.6,58.6
|
||||
V38.9h10.6v-5.3h-15.9v19.5h-5.9v5.5H644.6z M643.5,243.6v5.8h2.2v-3.2H690v74.2h5.3v-2.7h-2.8V214.2h1.2v-2.6h-1.4v-26.7h39.3
|
||||
v26.7h-3.8v2.6h44.3v35.7h5.3v-41h-5.1V33.6h-11.2v5.3h6v169.4h-32.9v-26.2h-67.9v2.6H690v58.9H643.5z M666.2,317.9h14.1v1.3
|
||||
c0,1.2,0,1.3-1,2.3s-1.1,1.1-2.3,1.1h-1.2v3.5c-4.7,0-9.4,5.9-9.4,5.9L666.2,317.9z M594.8,410.1v-5.3h15.3l18.5-18.5v-40.1h8.8
|
||||
v5.3h-3.5v3.9h27v-3.9h-6v-5.3h15.5v0.8l-0.6-0.4v2.3l-3.6,0.4v28.8l-10,9.9H651v-5.3h3.1l6.9-6.8V358h-27v24.6l0,0v5.3h-3.4
|
||||
l-19.4,19.5h-7.8V481h26.3v5.4h-31.6v-76.3L594.8,410.1z"/>
|
||||
<rect id="rect1972" x="637.5" y="184.6" style="fill:#9A9A9B;" width="2.6" height="18.4"/>
|
||||
</g>
|
||||
<g id="Doors-2">
|
||||
<g id="Front_Doors">
|
||||
<g id="path13766">
|
||||
|
||||
<rect id="rect66" x="420.8" y="104.6" transform="matrix(1 -3.141335e-03 3.141335e-03 1 -0.3318 1.3232)" style="fill:#00ADEE;" width="0.5" height="3.4"/>
|
||||
</g>
|
||||
<g id="path13768">
|
||||
<path id="path69" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M443.8,84.6c0,6.3-2.5,12.3-7,16.7
|
||||
c-4.5,4.5-10.6,6.9-16.9,6.9v-0.5c6.2,0,12.1-2.4,16.5-6.8c4.4-4.3,6.9-10.2,6.8-16.4L443.8,84.6z"/>
|
||||
</g>
|
||||
<g id="path13770">
|
||||
<path id="path72" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M443.8,84.6c-0.1,12.7,10.2,23.1,22.9,23.2l0,0
|
||||
v0.5l0,0c-13-0.1-23.4-10.6-23.4-23.6L443.8,84.6z"/>
|
||||
</g>
|
||||
<g id="path13772">
|
||||
|
||||
<rect id="rect77" x="420.8" y="84.7" transform="matrix(1 -3.141335e-03 3.141335e-03 1 -0.2693 1.3231)" style="fill:#00ADEE;" width="0.5" height="3.4"/>
|
||||
</g>
|
||||
<g id="path13774">
|
||||
|
||||
<rect id="rect82" x="465.3" y="104.6" transform="matrix(1 -3.141335e-03 3.141335e-03 1 -0.3316 1.463)" style="fill:#00ADEE;" width="0.5" height="3.4"/>
|
||||
</g>
|
||||
<g id="path13776">
|
||||
<rect id="rect87" x="466.7" y="82.7" style="fill:#00ADEE;" width="0.5" height="3.4"/>
|
||||
</g>
|
||||
<g id="path13778">
|
||||
<polygon id="polygon92" style="fill:#071010;" points="421.3,87.9 421.3,104.5 420.8,104.5 420.8,87.9 "/>
|
||||
</g>
|
||||
<g id="path13780">
|
||||
<polygon id="polygon97" style="fill:#071011;" points="465.8,87.9 465.8,104.5 465.3,104.5 465.3,87.9 "/>
|
||||
</g>
|
||||
</g>
|
||||
<path id="path101" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M345.8,242.7c-0.1-10.5,7.8-19.3,18.3-20.4v20.3h2
|
||||
v-20.7c-11.4,0-20.6,9.2-20.6,20.6l0,0v0.1L345.8,242.7L345.8,242.7z"/>
|
||||
<path id="path103" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M423.3,374c-0.1,10.5,7.8,19.3,18.3,20.4v-20.3h2
|
||||
v20.7c-11.4,0-20.6-9.2-20.6-20.6v-0.1L423.3,374z"/>
|
||||
<path id="path107" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M666.8,183.4c0.1-10.5-7.8-19.3-18.3-20.4v20.3h-2
|
||||
v-20.7c11.4,0,20.6,9.2,20.6,20.6v0.1L666.8,183.4z"/>
|
||||
<path id="path109" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M644.1,227.7c8.2,0,15,6.2,15.7,14.4h-15.7v1.5h16
|
||||
c0.1-8.9-7.1-16.1-16-16.2V227.7z"/>
|
||||
<path id="path111" inkscape:connector-curvature="0" style="fill:none;" d="M678.3,322.5H677c1.2,0,1.3,0,2.3-1.1L678.3,322.5z"
|
||||
/>
|
||||
<path id="path113" inkscape:connector-curvature="0" style="fill:none;" d="M666.9,331l-0.4,0.7L666.9,331c0.4-0.9,1.1-1.7,2-2.4
|
||||
C668.1,329.3,667.4,330.1,666.9,331z"/>
|
||||
<path id="path115" inkscape:connector-curvature="0" style="fill:none;" d="M666.3,332.1v-5.5c0-0.2,0-0.4,0-0.5V332.1z"/>
|
||||
<path id="path5058" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M666.9,338.5c1.6,2.8,4.4,4.6,7.6,4.8l1.2,0.1
|
||||
v3.4l1.4,0.1l1.4,0.1l0.1,1.2l0.1,1.2h-5.3c-1.4,0.1-2.8,0-4.2-0.1l1.1-0.1v-1.1c0-0.9,0.1-1.1,0.3-1s0.3,0,0.3-0.4
|
||||
s0-0.5-2.1-0.5h-2.2V342c0-2.3,0-4.2,0.1-4.2c0.2,0.3,0.4,0.6,0.5,0.9L666.9,338.5z"/>
|
||||
<path id="path118" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M710.2,480.7c-0.1,10.5,7.8,19.3,18.3,20.4v-20.3
|
||||
h2v20.6c-11.3,0-20.5-9.3-20.5-20.6v-0.1H710.2z"/>
|
||||
<path id="path120" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M684.7,482c10.5,0.1,19.3-7.8,20.4-18.3h-20.4v-2
|
||||
h20.7c0,11.3-9.3,20.5-20.6,20.5h-0.1L684.7,482z"/>
|
||||
<path id="path122" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M664.9,350.9c-0.1,10.5,7.8,19.3,18.3,20.4V351h2
|
||||
v20.6c-11.4,0-20.6-9.2-20.6-20.6v-0.1H664.9z"/>
|
||||
<path id="path124" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M710.1,350.9c0.1,10.5-7.8,19.3-18.3,20.4V351h-2
|
||||
v20.6c11.4,0,20.6-9.2,20.6-20.6v-0.1H710.1z"/>
|
||||
<path id="path126" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M698.1,319.2c-0.1-10.5,7.8-19.3,18.3-20.4v20.3h2
|
||||
v-20.7c-11.4,0-20.6,9.2-20.6,20.6l0,0v0.1L698.1,319.2z"/>
|
||||
<path id="path128" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M669.9,319.2c-0.1-10.5,7.8-19.3,18.3-20.4v20.3h2
|
||||
v-20.7c-11.4,0-20.6,9.2-20.6,20.6l0,0v0.1L669.9,319.2z"/>
|
||||
</g>
|
||||
<g id="Down_Stairs">
|
||||
<rect id="rect131" x="573.3" y="197.9" style="fill:#616262;" width="64" height="25.8"/>
|
||||
<path id="path133" inkscape:connector-curvature="0" d="M578.4,224h59.2v-26.3h-64.5V224H578.4z M632.3,198.2h4.8v25.3h-4.8
|
||||
V198.2z M626.9,198.2h4.8v25.3h-4.8V198.2z M621.6,198.2h4.8v25.3h-4.8V198.2z M616.3,198.2h4.8v25.3h-4.8V198.2z M610.9,198.2
|
||||
h4.8v25.3h-4.8V198.2z M605.6,198.2h4.8v25.3h-4.8V198.2z M600.3,198.2h4.8v25.3h-4.8V198.2z M594.9,198.2h4.8v25.3h-4.8V198.2z
|
||||
M589.6,198.2h4.8v25.3h-4.8V198.2z M584.2,198.2h4.8v25.3h-4.8V198.2z M578.9,198.2h4.8v25.3h-4.8V198.2z M573.6,198.2h4.8v25.3
|
||||
h-4.8V198.2z"/>
|
||||
<path id="path135" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M585.1,210.8l-5.8,3.2l0.4-1.7h-3v-3h3l-0.3-1.7
|
||||
L585.1,210.8z"/>
|
||||
</g>
|
||||
<g id="Garage_Doors">
|
||||
<g id="Garage_Door_One">
|
||||
<rect id="rect138" x="655.9" y="38" style="fill:#939393;" width="104.3" height="14.9"/>
|
||||
<path id="path140" inkscape:connector-curvature="0" style="fill:#616262;" d="M655.8,52.9v17.9h0.5V52.9h103.9v18h0.5
|
||||
l-0.1-26.8V38h-46.5v-1.4c0-0.2-0.2-0.3-0.3-0.3l0,0H703c-0.2,0-0.3,0.2-0.3,0.3l0,0V38h-47L655.8,52.9L655.8,52.9z M656.3,41.5
|
||||
h103.8v5.1H656.3V41.5z M656.3,52.4v-5.3h103.8v5.3H656.3z M703.1,36.8h10.5V38h-10.5V36.8z M760.1,38.5V41H656.3v-2.5
|
||||
L760.1,38.5z"/>
|
||||
<g id="big_car">
|
||||
<path id="path14066" inkscape:connector-curvature="0" d="M724,88.4c-0.7,0-1.3-0.5-1.3-1.2V75c0-0.7,0.6-1.3,1.3-1.3
|
||||
s1.3,0.6,1.3,1.3v12.2C725.4,87.9,724.8,88.4,724,88.4z"/>
|
||||
<path id="path14068" inkscape:connector-curvature="0" d="M725.2,144c-0.7,0-1.3-0.5-1.3-1.2v-12.2c0-0.7,0.6-1.3,1.3-1.3
|
||||
s1.3,0.6,1.3,1.3v12.2C726.5,143.5,725.9,144,725.2,144z"/>
|
||||
<path id="path14070" inkscape:connector-curvature="0" d="M682.6,88.4c-0.7,0-1.3-0.5-1.3-1.2V75c0-0.7,0.6-1.3,1.3-1.3
|
||||
s1.3,0.6,1.3,1.3v12.2C683.9,87.9,683.3,88.4,682.6,88.4z"/>
|
||||
<path id="path14072" inkscape:connector-curvature="0" d="M681.6,144c-0.7,0-1.3-0.5-1.3-1.2v-12.2c0-0.7,0.6-1.3,1.3-1.3
|
||||
s1.3,0.6,1.3,1.3v12.2C682.9,143.5,682.3,144.1,681.6,144z"/>
|
||||
<path id="path14062" inkscape:connector-curvature="0" style="fill:#231F26;" d="M677.2,125.8c-0.1,0.6-0.1,1.3,0.2,1.9
|
||||
c0.5,0.7,3.2,1.8,4.5,1.5c0.1-0.8,0.1-1.6,0-2.4C680.5,126.5,677.2,125.8,677.2,125.8z"/>
|
||||
<path id="path14064" inkscape:connector-curvature="0" style="fill:#231F26;" d="M729.9,125.8c0.1,0.6,0.1,1.3-0.2,1.9
|
||||
c-0.5,0.7-3.2,1.8-4.5,1.5c-0.1-0.8-0.1-1.6,0-2.4C726.5,126.5,729.9,125.8,729.9,125.8z"/>
|
||||
<path id="path14074" inkscape:connector-curvature="0" style="fill:#231F26;" d="M725.9,151c0,2.2-8.8,8.4-12.1,8.4h-20.1
|
||||
c-5.3,0-12.7-6.8-12.4-8.8c0-1.6,1.9-76.4,2-78.9c1.3-5.4,10.6-8.2,20.3-8.2c10.7,0,19.8,3.2,20.3,8.3
|
||||
C723.8,75.1,725.8,148.8,725.9,151L725.9,151z"/>
|
||||
<path id="path14082" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M724,152.1c-0.6,1.6-4.5,5.1-8.8,6.4
|
||||
c1.3-1,0.6-0.8,1.9-1.6c2.6-1.1,5.8-4.6,5.8-4.6C723.3,152.3,723.7,152.2,724,152.1L724,152.1z"/>
|
||||
<path id="path14084" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M682.9,152.1c0.6,1.6,4.5,5.1,8.8,6.4
|
||||
c-1.3-1-0.6-0.8-1.9-1.6c-2.6-1.1-5.8-4.6-5.8-4.6C683.6,152.3,683.3,152.2,682.9,152.1L682.9,152.1z"/>
|
||||
<path id="path14086" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M718.1,75.5c-5.1-1.4-10.3-2.1-15.6-2.2
|
||||
c-6.1,0-10,0.9-13.5,2.5c-2.2-3.3-2.5-6-0.9-7.9c4.6-3.3,10.9-3.7,14.1-3.7c3.2-0.1,12.7,0.2,16.8,4.3
|
||||
C720.1,70.6,720.1,72.4,718.1,75.5L718.1,75.5z"/>
|
||||
<path id="path14088" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M712,118.7h-17c-0.8,0-1.4-0.5-1.4-1.3v-8.1
|
||||
c0-0.8,0.7-1.3,1.4-1.3h17c0.8,0,1.4,0.5,1.4,1.3v8.1C713.4,118.2,712.8,118.7,712,118.7z"/>
|
||||
<path id="path14090" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M722.1,133c-4.1,1.6-12.5,3.1-19,3
|
||||
s-10.5-0.9-18.4-2.8c1.8-4.9,4.3-8.6,4.9-12.3c0.7-1,7,0.7,12.8,0.7c4.9,0,9.7-0.4,14.5-1.1C718.3,125.5,721.5,129.5,722.1,133
|
||||
z"/>
|
||||
<path id="path14092" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M682.9,127.3c0-3.6,1-21.5,1-21.5l3.7-1.2
|
||||
c0,0,0.3,12.1-0.1,16C687.1,123.4,685.4,125.8,682.9,127.3L682.9,127.3z"/>
|
||||
<path id="path14094" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M724,127.3c0-3.6-1-21.5-1-21.5l-3.7-1.2
|
||||
c0,0-0.3,12.1,0.1,16C719.9,123.4,721.6,125.8,724,127.3L724,127.3z"/>
|
||||
<path id="path14096" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M688.2,103.1c0,0-3.9,1.6-4.2,1.4
|
||||
s-0.3-19.1,0.3-20.7c1.3-0.7,3.8,0.7,3.8,0.7C688.1,90.7,688.1,96.9,688.2,103.1L688.2,103.1z"/>
|
||||
<path id="path14098" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M719.3,103.1c0,0,3.5,1.6,3.8,1.4
|
||||
s0.3-19.1-0.3-20.7c-1.2-0.7-3.4,0.7-3.4,0.7L719.3,103.1z"/>
|
||||
<path id="path14100" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M688.2,82.5c-1.2-0.3-2.3-0.6-3.4-1.1
|
||||
c-0.1-1.8,0-3.7,0.4-5.5C687.6,77.1,688.4,80.7,688.2,82.5z"/>
|
||||
<path id="path14102" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M719.3,82.5c1.2-0.3,2.3-0.6,3.4-1.1
|
||||
c0.1-1.8,0-3.7-0.4-5.5C719.8,77.1,719,80.7,719.3,82.5z"/>
|
||||
<path id="path14076" inkscape:connector-curvature="0" style="fill:#050405;" d="M722.2,134c0.3,2.7,1.6,13.1,1.2,16.1
|
||||
c-1.1,1.8-5.2,6.5-9.2,7c-3.8,0.4-16.9,0.3-21.1,0c-4.2-1-8.1-4-9.6-7.7c0.3-5.6,1-12.3,1.3-15.5
|
||||
C697.6,138.4,709.5,138.7,722.2,134L722.2,134z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Garage_Door_Two">
|
||||
<rect id="rect163" x="581.6" y="58.1" style="fill:#939393;" width="51.2" height="14.9"/>
|
||||
<path id="path165" inkscape:connector-curvature="0" style="fill:#616262;" d="M581.6,73v17.9h0.3V73h50.9v18h0.4V58.1h-20.7
|
||||
v-1.4c0-0.2-0.2-0.3-0.3-0.3l0,0h-10.8c-0.2,0-0.3,0.2-0.3,0.3l0,0v1.4h-19.4L581.6,73z M581.9,61.7h50.9v5.1h-50.9V61.7z
|
||||
M581.9,72.5v-5.3h50.9v5.3H581.9z M601.5,56.9H612v1.2h-10.5V56.9z M632.7,58.6v2.5h-50.9v-2.5H632.7z"/>
|
||||
<g id="little_car">
|
||||
<path id="path14026" inkscape:connector-curvature="0" d="M623.4,101.7c-0.6,0-1.1-0.6-1-1.2c0,0,0,0,0-0.1V88c0-0.6,0.4-1,1-1
|
||||
s1,0.4,1,1l0,0v12.4C624.5,101.1,624.1,101.7,623.4,101.7C623.5,101.7,623.5,101.7,623.4,101.7z"/>
|
||||
<path id="path14028" inkscape:connector-curvature="0" d="M624.3,141.6c-0.6,0-1-0.5-1-1.1v-11.1c0-0.6,0.4-1,1-1s1,0.4,1,1
|
||||
l0,0v11.1C625.4,141.1,625,141.6,624.3,141.6z"/>
|
||||
<path id="path14030" inkscape:connector-curvature="0" d="M592.1,101.7c-0.6,0-1.1-0.6-1-1.2c0,0,0,0,0-0.1V88c0-0.6,0.4-1,1-1
|
||||
s1,0.4,1,1l0,0v12.4C593.2,101.1,592.8,101.7,592.1,101.7C592.2,101.7,592.2,101.7,592.1,101.7z"/>
|
||||
<path id="path14032" inkscape:connector-curvature="0" d="M591.2,141.6c-0.6,0-1-0.5-1-1.1v-11.1c0-0.6,0.4-1,1-1s1,0.4,1,1
|
||||
l0,0v11.1C592.3,141.1,591.9,141.6,591.2,141.6z"/>
|
||||
<path id="path14022" inkscape:connector-curvature="0" style="fill:#231F26;" d="M588,125c-0.1,0.6,0,1.2,0.1,1.7
|
||||
c0.9,0.9,2.1,1.4,3.4,1.4c0.1-0.7,0.1-1.4,0-2.2C590.4,125.7,588,125,588,125z"/>
|
||||
<path id="path14024" inkscape:connector-curvature="0" style="fill:#231F26;" d="M627.9,125c0.1,0.6,0,1.2-0.1,1.7
|
||||
c-0.9,0.9-2.1,1.4-3.4,1.4c-0.1-0.7-0.1-1.4,0-2.2C625.4,125.7,627.9,125,627.9,125z"/>
|
||||
<path id="path14034" inkscape:connector-curvature="0" style="fill:#231F26;" d="M624.8,148.9c0,1.7-6.7,6.5-9.2,6.5h-15.3
|
||||
c-4,0-9.6-5.2-9.4-6.8c0-1.2,1.4-59.2,1.5-61.1c1-4.2,8.1-6,15.5-6c8.2,0,14.9,2.2,15.3,6C623.3,90.3,624.8,147.3,624.8,148.9
|
||||
L624.8,148.9z"/>
|
||||
<path id="path14042" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M623.5,148.9c-0.4,1.4-3.4,4.7-6.7,5.8
|
||||
c1-0.9,0.4-0.7,1.4-1.4c1.7-1.1,3.2-2.5,4.4-4.1C622.9,149.1,623.2,149,623.5,148.9L623.5,148.9z"/>
|
||||
<path id="path14044" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M592.3,148.9c0.4,1.4,3.4,4.7,6.7,5.8
|
||||
c-1-0.9-0.4-0.7-1.4-1.4c-1.7-1.1-3.2-2.5-4.4-4.1C592.9,149.1,592.6,149,592.3,148.9L592.3,148.9z"/>
|
||||
<path id="path14046" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M619,92.6c-3.8-1.3-7.8-1.9-11.9-1.9
|
||||
c-4.6,0-7.6,0.8-10.2,2.3c-1.6-3-1.9-5.4-0.7-7.2c3.4-2.9,8.3-3.3,10.7-3.4s9.6,0.2,12.7,3.9C620.5,88.2,620.5,89.8,619,92.6z"
|
||||
/>
|
||||
<path id="path14048" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M622,131.6c-4.6,1.8-9.5,2.7-14.4,2.7
|
||||
c-5-0.1-8-0.8-14-2.6c1.4-4.4,3.3-7.8,3.7-11.1c0.5-0.9,5.3,0.7,9.7,0.7c3.7,0,7.4-0.4,11-1C619.1,124.8,621.6,128.4,622,131.6
|
||||
L622,131.6z"/>
|
||||
<path id="path14050" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M592.3,126.4c0-3.3,0.6-21.3,0.6-21.3l2.9,0.7
|
||||
c0,0,0.2,11,0,14.5C595.5,122.7,594.2,124.9,592.3,126.4z"/>
|
||||
<path id="path14052" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M623.5,126.4c0-3.3-0.8-21.3-0.8-21.3
|
||||
l-2.8,0.7c0,0-0.2,11,0,14.5C620.2,122.7,621.5,124.9,623.5,126.4z"/>
|
||||
<path id="path14054" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M595.9,104.2c-0.9-0.2-1.7-0.6-2.6-1
|
||||
c-0.1-1.7,0-3.3,0.3-5C595.5,99.3,596.1,102.5,595.9,104.2z"/>
|
||||
<path id="path14056" inkscape:connector-curvature="0" style="fill:#5B5A5B;" d="M619.8,104.2c0.9-0.2,1.7-0.6,2.6-1
|
||||
c0.1-1.7,0-3.3-0.3-5C620.2,99.3,619.7,102.5,619.8,104.2z"/>
|
||||
<path id="path14036" inkscape:connector-curvature="0" style="fill:#050405;" d="M622.1,132.5c0.2,2.5,1.2,11.9,0.9,14.6
|
||||
c-0.8,1.7-3.9,5.8-7,6.3c-5.3,0.3-10.7,0.3-16,0c-3.4-1-6.1-3.6-7.3-6.9c0.3-5,0.7-11.1,1-14.1
|
||||
C603.4,136.5,612.4,136.8,622.1,132.5L622.1,132.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Closet_Doors-2" transform="translate(-1.5943061,-0.0569395)">
|
||||
<path id="path186" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M637.4,387.2l3.1,9.9h1.9l3-9.9l-1-0.5l-3,9.9
|
||||
l-3.1-9.9L637.4,387.2z"/>
|
||||
<path id="path188" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M653.6,347.4l1.9-5l2,5l0.6-0.2l-2-5h-1.2l-1.9,5
|
||||
L653.6,347.4z"/>
|
||||
<path id="path190" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M641.6,347.4l1.9-5l2,5l0.6-0.2l-2-5h-1.2l-1.9,5
|
||||
L641.6,347.4z"/>
|
||||
<path id="path192" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M725,336.8l8.9,4.3l-8.9,4.4l0.5,1.9
|
||||
c3.3-1.6,10.1-4.9,10.1-4.9v-2.6l-10.3-5L725,336.8z"/>
|
||||
<path id="path194" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M747.9,349.9l4.3-8.9l4.4,8.9l1.9-0.5
|
||||
c-1.6-3.3-4.9-10.1-4.9-10.1H751l-4.9,10.3L747.9,349.9z"/>
|
||||
<path id="path196" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M765.1,349.9l4.3-8.9l4.4,8.9l1.9-0.5
|
||||
c-1.6-3.3-4.9-10.1-4.9-10.1h-2.6l-4.9,10.3L765.1,349.9z"/>
|
||||
<path id="path198" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M699.6,213l4.3-8.9l4.4,8.9l1.9-0.5
|
||||
c-1.6-3.3-4.9-10.1-4.9-10.1h-2.6l-4.9,10.3L699.6,213z"/>
|
||||
<path id="path200" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M720.8,213l4.3-8.9l4.4,8.9l1.9-0.5
|
||||
c-1.6-3.3-4.9-10.1-4.9-10.1h-2.6l-5,10.3L720.8,213z"/>
|
||||
<path id="path13944" inkscape:connector-curvature="0" style="fill:#616262;" d="M376.1,352.2v-0.8h-17.8v0.8H376.1z"/>
|
||||
<path id="path203" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M381.3,348.5l-8.9-4.3l8.9-4.4l-0.5-1.9
|
||||
c-3.3,1.6-10.1,4.9-10.1,4.9v2.6l10.3,5L381.3,348.5z"/>
|
||||
<path id="path205" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M381.3,331.4l-8.9-4.3l8.9-4.4l-0.5-1.9
|
||||
c-3.3,1.6-10.1,4.9-10.1,4.9v2.6l10.3,5L381.3,331.4z"/>
|
||||
<path id="path198-7" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M646.1,186.7l2.1,6.2l-2.2,5.4l0.1,2.5
|
||||
c0.8-2,2.5-5.9,2.5-5.9v-3.4l-2.5-7.1L646.1,186.7z"/>
|
||||
</g>
|
||||
<g id="Bed">
|
||||
<path id="path208" inkscape:connector-curvature="0" style="fill:#231F26;" d="M304.1,391.9c0-2,1.6-3.6,3.6-3.6s3.6,1.6,3.6,3.6
|
||||
c0,0.5-0.1,1-0.3,1.5c1.2-1.3,2.9-2,4.7-2l8.3-0.1c0.3-0.4,0.8-0.6,1.3-0.6h6.3c0.5,0,1,0.2,1.3,0.6l27-0.2c1.8,0,3.5,0.7,4.7,2
|
||||
c0.8-1.7,2.8-2.5,4.5-1.7c1.2,0.5,2,1.7,2,3.1l0.3,38.3c0,1.9-1.5,3.4-3.4,3.4c-1.3,0-2.5-0.8-3.1-2c-1.2,1.3-2.9,2-4.7,2
|
||||
l-27,0.2c-0.3,0.4-0.8,0.6-1.3,0.6h-6.3c-0.5,0-1-0.2-1.3-0.6l-8.3,0.1c-1.8,0-3.5-0.7-4.7-2c0.2,0.5,0.3,1,0.3,1.5
|
||||
c0,2-1.6,3.6-3.6,3.6s-3.6-1.6-3.6-3.6l0,0L304.1,391.9z"/>
|
||||
<path id="path210" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M307.7,389c1.6,0,2.9,1.3,2.9,2.9
|
||||
c0,0.4-0.1,0.8-0.2,1.2l1.2,0.8c1.1-1.1,2.6-1.8,4.2-1.8l8.7-0.1l0.2-0.2c0.2-0.2,0.5-0.4,0.8-0.4h6.3c0.3,0,0.6,0.1,0.8,0.3
|
||||
l0.2,0.2l27.3-0.2c1.6,0,3.1,0.6,4.2,1.7l0.7,0.7l0.4-0.9c0.6-1.4,2.2-2,3.6-1.3c0.9,0.4,1.6,1.4,1.6,2.4l0.1,38.4
|
||||
c0,1.5-1.2,2.7-2.7,2.7l0,0l0,0c-1.1,0-2-0.6-2.5-1.6l-0.4-0.9l-0.7,0.7c-1.1,1.2-2.6,1.8-4.1,1.8l-27.3,0.2l-0.2,0.2
|
||||
c-0.2,0.2-0.5,0.4-0.8,0.4h-6.4c-0.3,0-0.6-0.1-0.8-0.3l-0.2-0.2l-8.7,0.1c-1.6,0-3.1-0.6-4.2-1.7l-1.1,0.8
|
||||
c0.6,1.5,0,3.1-1.5,3.8c-1.5,0.6-3.1,0-3.8-1.5c-0.2-0.4-0.2-0.7-0.2-1.1l-0.3-44.1C304.7,390.3,306,389,307.7,389L307.7,389z
|
||||
M307.7,394c1.2,0,2.2-1,2.2-2.2s-1-2.2-2.2-2.2s-2.2,1-2.2,2.2S306.5,394,307.7,394z M332.2,435.6l-0.3-43.5H325l0.2,43.5H332.2
|
||||
z M367.7,396.3c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2l0,0v0.1C365.7,395.5,366.6,396.3,367.7,396.3z M360.2,434.8
|
||||
c2.8,0,5-2.3,5-5l0,0v-0.1l-0.2-32.2c0-2.8-2.3-5-5-5l0,0l-27.3,0.2L333,435L360.2,434.8z M324.5,435.1l-0.3-42.3l-8.6,0.1
|
||||
c-2.8,0-5,2.3-5,5l0,0v0.1l0.2,32.2c0,2.8,2.3,5,5,5l0,0l0,0L324.5,435.1z M310.8,433c-0.5-0.9-0.8-1.9-0.8-2.9l-0.2-32.2
|
||||
c0-1,0.3-2,0.8-2.9l-1.1-0.9c-0.5,0.4-1.2,0.7-1.9,0.7l0,0c-0.4,0-0.8-0.1-1.2-0.2l-1-0.4l0.3,39.7l1-0.4
|
||||
c0.4-0.2,0.8-0.2,1.2-0.2c0.7,0,1.3,0.2,1.9,0.7L310.8,433z M369.7,396.5l-1,0.4c-0.6,0.3-1.4,0.3-2,0l-1-0.4l0.2,34.1l1-0.4
|
||||
c0.3-0.1,0.7-0.2,1-0.2l0,0c0.3,0,0.7,0.1,1,0.2l1,0.4L369.7,396.5z M368,434.8c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2l0,0v0.1
|
||||
C365.9,433.9,366.8,434.8,368,434.8z M308,438.3c1.2,0,2.2-1,2.2-2.2s-1-2.2-2.2-2.2s-2.2,1-2.2,2.2S306.8,438.3,308,438.3z"/>
|
||||
<path id="path212" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M320,416.5c1.2,0,2.2,1,2.2,2.2v10.6
|
||||
c0,1.2-1,2.2-2.2,2.2h-4.3c-1.2,0-2.2-1-2.2-2.2l-0.1-10.6c0-1.2,1-2.2,2.2-2.2H320z M320,430.9c0.9,0,1.6-0.7,1.6-1.6l0,0l0,0
|
||||
l-0.1-10.6c0-0.8-0.7-1.5-1.6-1.6h-4.3c-0.9,0-1.6,0.7-1.6,1.6l0,0l0,0l0.1,10.6c0,0.9,0.7,1.6,1.6,1.6H320z"/>
|
||||
<path id="path214" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M320,396.4c1.2,0,2.2,1,2.2,2.2v10.6
|
||||
c0,1.2-1,2.2-2.2,2.2h-4.3c-1.2,0-2.2-1-2.2-2.2l-0.1-10.6c0-1.2,1-2.2,2.2-2.2H320z M320,410.8c0.9,0,1.6-0.7,1.6-1.6l0,0l0,0
|
||||
l-0.1-10.6c0-0.9-0.7-1.6-1.6-1.6h-4.3c-0.9,0-1.6,0.7-1.6,1.6l0,0l0,0l0.1,10.6c0,0.9,0.7,1.6,1.6,1.6H320z"/>
|
||||
<path id="path216" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M315.7,405.5c-0.9-1-0.9-2.6,0.1-3.5l0,0l0.1-0.1
|
||||
c0.3-0.2,0.6-0.3,1-0.4v1.1c-0.2,0-0.4,0.1-0.6,0.3c-0.5,0.5-0.5,1.2,0,1.7l0,0l0.1,0.1c0.4,0.3,0.9,0.4,1.4,0.3
|
||||
c0.5,0,0.9-0.1,1.3-0.4c0.3-0.2,0.5-0.6,0.4-0.9c0-0.3-0.1-0.7-0.4-0.9c-0.2-0.1-0.4-0.2-0.6-0.3v-1.1c0.5,0.1,1,0.3,1.4,0.7
|
||||
c0.4,0.4,0.6,0.9,0.5,1.5c0,0.7-0.2,1.3-0.7,1.8c-0.6,0.5-1.3,0.7-2,0.6C317.1,406.3,316.3,406,315.7,405.5L315.7,405.5z"/>
|
||||
<path id="path218" inkscape:connector-curvature="0" style="fill:#9A9A9B;" d="M318.8,425.2c0.2,0,0.4-0.1,0.5-0.2
|
||||
c0.2-0.2,0.4-0.6,0.3-0.9c0-0.2,0-0.4-0.1-0.6c-0.1-0.3-0.3-0.5-0.6-0.5c-0.2,0-0.3,0.1-0.4,0.2c-0.1,0.2-0.2,0.5-0.2,0.7
|
||||
l-0.1,0.6c-0.1,0.4-0.2,0.8-0.4,1.1c-0.2,0.3-0.7,0.5-1.1,0.5s-0.9-0.2-1.2-0.5c-0.3-0.4-0.5-1-0.5-1.5s0.1-1,0.4-1.4
|
||||
s0.8-0.6,1.3-0.6v1c-0.3,0-0.5,0.2-0.7,0.4c-0.1,0.2-0.1,0.4-0.1,0.7c0,0.2,0,0.5,0.2,0.7c0.1,0.2,0.3,0.3,0.5,0.3
|
||||
s0.3-0.1,0.4-0.2c0.1-0.2,0.2-0.5,0.2-0.7l0.2-0.9c0.1-0.3,0.2-0.6,0.4-0.9c0.3-0.3,0.7-0.5,1.1-0.5c0.5,0,0.9,0.2,1.2,0.6
|
||||
c0.3,0.4,0.5,1,0.5,1.6s-0.1,1.2-0.5,1.6c-0.3,0.4-0.8,0.6-1.3,0.6L318.8,425.2z"/>
|
||||
<path id="binary_sensor.upstairs_living_room_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M220.8,437h-6.3c-0.8,0-1.4-0.6-1.4-1.4v-7.1c0-0.8,0.6-1.4,1.4-1.4h6.3c0.8,0,1.4,0.6,1.4,1.4v7.1
|
||||
C222.2,436.3,221.5,437,220.8,437z"/>
|
||||
<path id="binary_sensor.upstairs_bedroom_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M237.5,452.9h-6.3c-0.8,0-1.4-0.6-1.4-1.4v-7.1c0-0.8,0.6-1.4,1.4-1.4h6.3c0.8,0,1.4,0.6,1.4,1.4v7.1
|
||||
C238.9,452.3,238.3,452.9,237.5,452.9z"/>
|
||||
</g>
|
||||
<g id="DS_bathroom_icon">
|
||||
<path id="path226" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M663.4,273.1c0-1.3-1.1-2.4-2.4-2.4
|
||||
c-1.3,0-2.4,1.1-2.4,2.4s1.1,2.4,2.4,2.4C662.4,275.6,663.4,274.5,663.4,273.1z"/>
|
||||
<path id="path228" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M668.4,273.1c0,1.3,1.1,2.4,2.4,2.4
|
||||
c1.3,0,2.4-1.1,2.4-2.4s-1.1-2.4-2.4-2.4l0,0C669.5,270.7,668.5,271.8,668.4,273.1z"/>
|
||||
<path id="path230" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M666.3,287.1L666.3,287.1c0.8,0.5,1.7,0.9,2.6,1.1
|
||||
l0.5,3.6c0,0.5,0.5,0.9,1,0.9h0.7c0.5,0,1-0.4,1-0.9l0.4-3.6c0.9-0.2,1.9-0.6,2.7-1.2c0.4-0.3,0.6-0.8,0.5-1.2l-2.4-7.4
|
||||
c-0.3-1-1.2-1.7-2.2-1.7h-0.4c-1.1,0-2,0.7-2.4,1.7l-2.4,7.4C665.7,286.3,665.9,286.9,666.3,287.1L666.3,287.1z"/>
|
||||
<path id="path232" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M657.1,280l0.1,3.6c0,0.4,0.2,0.9,0.6,1.1l0.7,0.4
|
||||
l0.9,7c0.1,0.5,0.5,0.8,0.9,0.8h1.3c0.5,0,0.9-0.4,0.9-0.8l0.9-7l0.7-0.4c0.4-0.2,0.6-0.6,0.6-1.1l0.1-3.6c0-1.7-1.4-3.1-3.1-3.2
|
||||
h-1.6C658.5,276.8,657.1,278.2,657.1,280L657.1,280C657.1,279.9,657.1,279.9,657.1,280L657.1,280z"/>
|
||||
</g>
|
||||
<g id="Room_Titles">
|
||||
|
||||
<text id="text741" transform="matrix(1 0 0 1 342.304 459.5171)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">MASTER BEDROOM</text>
|
||||
|
||||
<text id="text743" transform="matrix(1 0 0 1 439.8078 270.2926)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">LIVING ROOM</text>
|
||||
|
||||
<text id="text745" transform="matrix(1 0 0 1 545.5562 363.7995)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">DINING ROOM</text>
|
||||
|
||||
<text id="text747" transform="matrix(1 0 0 1 568.6262 287.4074)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">KITCHEN</text>
|
||||
|
||||
<text id="text749" transform="matrix(1 0 0 1 706.9354 267.2558)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">BEDROOM</text>
|
||||
|
||||
<text id="text751" transform="matrix(1 0 0 1 706.9044 394.0989)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">BEDROOM</text>
|
||||
|
||||
<text id="text753" transform="matrix(1 0 0 1 680.3783 172.646)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">GARAGE</text>
|
||||
|
||||
<text id="text755" transform="matrix(1 0 0 1 489.1469 123.3208)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">DINING ROOM</text>
|
||||
<g id="text253">
|
||||
|
||||
<text id="text757" transform="matrix(1 0 0 1 633.9917 436.3395)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">STUD</text>
|
||||
|
||||
<text id="text759" transform="matrix(1 0 0 1 661.394 436.3395)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">Y</text>
|
||||
</g>
|
||||
<g id="text257">
|
||||
|
||||
<text id="text762" transform="matrix(1 0 0 1 337.1457 125.5865)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">STUD</text>
|
||||
|
||||
<text id="text764" transform="matrix(1 0 0 1 364.5471 125.5865)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">Y</text>
|
||||
</g>
|
||||
<g id="text263" transform="translate(-4,-8)">
|
||||
|
||||
<text id="text767" transform="matrix(1 0 0 1 707.4887 463.5388)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">B</text>
|
||||
|
||||
<text id="text769" transform="matrix(1 0 0 1 714.7524 463.5388)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">A</text>
|
||||
|
||||
<text id="text771" transform="matrix(1 0 0 1 721.2817 463.5388)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">THROOM</text>
|
||||
</g>
|
||||
<g id="text263-2" transform="translate(359.01017,164.15588)">
|
||||
|
||||
<text id="text767-4" transform="matrix(1 0 0 1 -40.817 121.3661)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">B</text>
|
||||
|
||||
<text id="text769-6" transform="matrix(1 0 0 1 -33.5523 121.3661)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">A</text>
|
||||
|
||||
<text id="text771-7" transform="matrix(1 0 0 1 -27.025 121.3661)" style="fill:#757575; font-family:'Helvetica'; font-size:10.0628px;">THROOM</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Refresh" onclick="location.reload();" transform="translate(4.6672742,34.537829)">
|
||||
<path id="rect267" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M828.8,410.6h147.8c11.5,0,20.8,9.3,20.8,20.9v0.1
|
||||
c0,11.5-9.3,20.9-20.8,20.9H828.8c-11.5,0-21.8-9.3-21.8-20.9v-0.1C806.9,420,817.3,410.6,828.8,410.6z"/>
|
||||
|
||||
<text id="text777" transform="matrix(1 0 0 1 847.3339 439.1073)" style="fill:#29D9C2; font-family:'Helvetica'; font-size:22.1617px;">REFRESH</text>
|
||||
</g>
|
||||
<g id="Left_Buttons">
|
||||
<path id="rect320_2_" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M264.5,250.9H37.2c-6.8,0-12.3-5.5-12.3-12.3
|
||||
V193c0-6.8,5.5-12.3,12.3-12.3h227.2c6.8,0,12.3,5.5,12.3,12.3v45.7C276.8,245.5,271.3,250.9,264.5,250.9L264.5,250.9z"/>
|
||||
<path id="rect326_1_" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M265.4,329.8H38.1c-6.8,0-12.3-5.5-12.3-12.3
|
||||
v-45.7c0-6.8,5.5-12.3,12.3-12.3h227.2c6.8,0,12.3,5.5,12.3,12.3v45.7C277.6,324.3,272.1,329.8,265.4,329.8L265.4,329.8z"/>
|
||||
|
||||
<text id="text823" transform="matrix(1 0 0 1 34.2526 211.4987)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:30px;">Carlo</text>
|
||||
|
||||
<text id="text825" transform="matrix(1 0 0 1 151.8232 211.4987)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:30px;">Stacey</text>
|
||||
|
||||
<text id="text828" transform="matrix(1 0 0 1 32.4714 304.6942)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:30px;">Alarm</text>
|
||||
<path id="rect339" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M31.7,120.3h109.6c3.7,0,6.7,3.9,6.7,8.8v31.7
|
||||
c0,4.8-3,8.8-6.7,8.8H31.7c-3.7,0-6.7-3.9-6.7-8.8V129C25,124.2,28,120.3,31.7,120.3z"/>
|
||||
|
||||
<text id="text837" transform="matrix(1 0 0 1 33.6064 137.8101)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:17.93px;">First Floor</text>
|
||||
<path id="rect348" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M160.5,120.4H270c3.7,0,6.7,4.9,6.7,9.8v31.7
|
||||
c0,4.8-3,7.8-6.7,7.8H160.5c-3.7,0-6.7-3.9-6.7-8.8v-31.7C153.8,124.3,156.8,120.4,160.5,120.4z"/>
|
||||
|
||||
<text id="text843" transform="matrix(1 0 0 1 161.9286 138.2629)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:17.93px;">Second Floor</text>
|
||||
|
||||
<path id="path5264-8" inkscape:connector-curvature="0" inkscape:transform-center-x="-7.873455" inkscape:transform-center-y="-0.27149958" style="fill:#00ADEE;" d="
|
||||
M106.1,397.8c0,0-6.3,6.6-6.3,10.6c0.2,3.5,3.3,6.1,6.7,5.9c3.1-0.2,5.6-2.7,5.9-5.9C112.4,404.5,106.1,397.8,106.1,397.8
|
||||
M108.7,404.5l1.1,1l-6.4,5.9l-1.1-1 M103.7,404.5c0.7,0,1.3,0.5,1.3,1.2l0,0l0,0c0,0.7-0.6,1.2-1.3,1.2l0,0l0,0
|
||||
c-0.7,0-1.3-0.5-1.3-1.2l0,0l0,0C102.5,405,103.1,404.5,103.7,404.5L103.7,404.5L103.7,404.5 M108.5,409c0.7,0.1,1.1,0.7,1.1,1.3
|
||||
c0,0.6-0.7,1.1-1.3,1.1c-0.7-0.1-1.1-0.6-1.1-1.2l0,0C107.2,409.4,107.7,408.9,108.5,409L108.5,409z"/>
|
||||
|
||||
<path id="path5264-8-6" inkscape:connector-curvature="0" inkscape:transform-center-x="-9.6233928" inkscape:transform-center-y="-0.33184113" style="fill:#00ADEE;" d="
|
||||
M138.5,147.3c0,0-6.3,6.6-6.3,10.5c0.2,3.5,3.3,6.1,6.8,5.9c3.2-0.2,5.7-2.7,5.9-5.9C144.8,153.9,138.5,147.3,138.5,147.3
|
||||
M141.1,153.9l1.1,1l-6.3,6l-1.1-1 M136.1,154c0.7,0,1.3,0.5,1.3,1.2l0,0l0,0c0,0.7-0.6,1.3-1.3,1.2l0,0l0,0
|
||||
c-0.7,0-1.3-0.5-1.3-1.2l0,0l0,0C134.8,154.5,135.4,154,136.1,154L136.1,154L136.1,154 M140.8,158.4c0.7,0,1.2,0.6,1.1,1.3
|
||||
c-0.1,0.7-0.6,1.2-1.3,1.1c-0.6,0-1.1-0.6-1.1-1.2l0,0C139.5,158.9,140.1,158.4,140.8,158.4L140.8,158.4z"/>
|
||||
|
||||
<path id="path5264-8-6-3" inkscape:connector-curvature="0" inkscape:transform-center-x="-9.6233928" inkscape:transform-center-y="-0.33184113" style="fill:#00ADEE;" d="
|
||||
M266.4,148.4c0,0-6.3,6.6-6.3,10.5c0.2,3.5,3.3,6.1,6.8,5.9c3.2-0.2,5.7-2.7,5.9-5.9C272.7,155,266.4,148.4,266.4,148.4 M269,155
|
||||
l1.1,1l-6.3,6l-1.1-1 M264,155.1c0.7,0,1.3,0.5,1.3,1.2l0,0l0,0c0,0.7-0.6,1.3-1.3,1.2l0,0l0,0c-0.7,0-1.3-0.5-1.3-1.2l0,0l0,0
|
||||
C262.7,155.6,263.3,155,264,155.1L264,155.1L264,155.1 M268.8,159.5c0.7,0,1.2,0.6,1.1,1.3s-0.6,1.2-1.3,1.1
|
||||
c-0.6,0-1.1-0.6-1.1-1.2l0,0C267.5,160,268,159.5,268.8,159.5C268.7,159.5,268.7,159.5,268.8,159.5L268.8,159.5z"/>
|
||||
</g>
|
||||
|
||||
<line id="edge_camera_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="810.3" y1="142.2" x2="1000.3" y2="142.2"/>
|
||||
<line id="edge_camera_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="810.3" y1="35.2" x2="1000.3" y2="35.2"/>
|
||||
<rect id="camera.stone_door" x="809.8" y="36.3" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<g id="poweredby">
|
||||
<g>
|
||||
<defs>
|
||||
<rect id="SVGID_1_" x="814.3" y="548.7" width="185" height="35.6"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<g style="clip-path:url(#SVGID_2_);">
|
||||
<defs>
|
||||
<rect id="SVGID_3_" x="814.3" y="548.7" width="185" height="35.6"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_4_">
|
||||
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M847.3,569.9c-0.3-0.9-0.9-1.7-1.8-2.3c-0.8-0.5-1.8-0.8-2.7-0.7
|
||||
c-0.7,0-1.4,0.1-2,0.5c-0.6,0.4-1.1,0.8-1.5,1.4v-1.7h-1.9v1.1H828c-0.1-0.9-0.9-1.5-1.8-1.5c-1,0-1.8,0.8-1.8,1.8
|
||||
s0.8,1.8,1.8,1.8c1,0,1.7-0.7,1.8-1.7h9.5l0,7.6h-6.7c-0.1-0.9-0.9-1.7-1.8-1.7c-1,0-1.8,0.8-1.8,1.8c0,1,0.8,1.8,1.8,1.8
|
||||
c0.9,0,1.7-0.7,1.8-1.5h6.7v7.3h2v-6c0.4,0.5,0.8,0.9,1.4,1.1c0.6,0.2,1.2,0.4,1.9,0.4c0.9,0,1.8-0.3,2.6-0.7
|
||||
c0.9-0.5,1.6-1.3,2-2.2c0.4-1.1,0.6-2.2,0.6-3.4C848,572,847.7,570.9,847.3,569.9 M826.2,569.9c-0.8,0-1.4-0.6-1.4-1.4
|
||||
s0.6-1.4,1.4-1.4c0.8,0,1.4,0.6,1.4,1.4S827,569.9,826.2,569.9 M829,577.8c-0.8,0-1.4-0.6-1.4-1.4s0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4S829.8,577.8,829,577.8 M845,576.8L845,576.8c-0.6,0.8-1.5,1.2-2.4,1.2c-0.9,0-1.7-0.4-2.3-1.1
|
||||
c-0.8-1-1.1-2.2-1-3.5c-0.1-1.3,0.2-2.5,1-3.5c0.6-0.8,1.4-1.2,2.4-1.2c0.9,0,1.7,0.4,2.3,1.1c0.7,1,1.1,2.3,1,3.5
|
||||
C846.1,574.5,845.7,575.8,845,576.8"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M859.6,568.4c-1.1-1.1-2.6-1.7-4.1-1.6c-1.4,0-2.8,0.5-3.9,1.4
|
||||
c-1.3,1.3-2,3.1-1.9,5c-0.1,1.8,0.5,3.5,1.7,4.8c1.1,1.1,2.6,1.7,4.1,1.6c1,0,2-0.3,2.9-0.8c0.8-0.5,1.5-1.3,2-2.1
|
||||
c0.5-1.2,0.8-2.5,0.8-3.7C861.3,571.3,860.7,569.7,859.6,568.4 M858,576.7c-0.6,0.7-1.5,1.2-2.5,1.1c-1,0.1-2-0.4-2.6-1.1
|
||||
c-0.7-1-1.1-2.3-1-3.5c-0.1-1.2,0.3-2.4,1-3.4c0.7-0.7,1.6-1.1,2.6-1.1c1,0,1.9,0.4,2.5,1.1c0.7,1,1.1,2.2,1,3.4
|
||||
C859.1,574.4,858.7,575.7,858,576.7L858,576.7z"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M865.8,579.3l-3.7-12.1h2.1l1.9,7l0.7,2.6c0-0.1,0.3-1,0.6-2.5l1.9-7.1
|
||||
h2.1l1.9,7l0.6,2.4l0.8-2.4l2.1-7h2l-3.7,12.1H873l-1.9-7.2l-0.5-2.1l-2.5,9.4L865.8,579.3z"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M891.1,573c0.1-1.7-0.4-3.3-1.5-4.6c-1-1.1-2.5-1.7-4-1.6
|
||||
c-1.6,0-3.1,0.6-4.1,1.7c-1.2,1.3-1.8,3-1.6,4.8c-0.1,1.7,0.4,3.3,1.5,4.6c1.1,1.1,2.7,1.7,4.2,1.6c1.2,0,2.5-0.3,3.5-1
|
||||
c0.9-0.7,1.6-1.7,1.9-2.9l-2.1-0.2c-0.2,0.8-0.7,1.4-1.4,1.7c-0.5,0.4-1.2,0.6-1.9,0.6c-1,0-1.9-0.4-2.5-1.1
|
||||
c-0.7-0.9-1.1-2-1.1-3.1h9.1L891.1,573z M882.1,572.1c0-1,0.4-1.9,1.1-2.5c0.6-0.7,1.5-1,2.4-1c1,0,1.9,0.5,2.5,1.2
|
||||
c0.4,0.7,0.7,1.4,0.8,2.3L882.1,572.1z"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M893.6,579.3v-12.1h1.9v1.8c0.3-0.6,0.8-1.2,1.3-1.8
|
||||
c0.4-0.3,0.9-0.4,1.4-0.4c0.7,0,1.5,0.2,2.1,0.6l-0.8,1.9c-0.5-0.2-1-0.4-1.5-0.4c-0.4,0-0.9,0.1-1.2,0.4
|
||||
c-0.4,0.3-0.7,0.7-0.8,1.1c-0.3,0.8-0.4,1.6-0.4,2.4v6.3h-2V579.3z"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M912,573c0.1-1.7-0.4-3.3-1.5-4.6c-1-1.1-2.5-1.7-4-1.6
|
||||
c-1.6-0.1-3.1,0.6-4.1,1.7c-1.2,1.3-1.7,3-1.6,4.8c-0.1,1.7,0.4,3.3,1.5,4.6c1.1,1.1,2.7,1.7,4.3,1.6c1.2,0,2.5-0.3,3.5-1
|
||||
c0.9-0.7,1.6-1.7,1.9-2.9l-2.1-0.2c-0.2,0.8-0.7,1.4-1.4,1.7c-0.5,0.4-1.2,0.6-1.9,0.6c-1,0-1.9-0.4-2.5-1.1
|
||||
c-0.7-0.9-1.1-2-1.1-3.1h9.1V573z M903,572.1c0-0.9,0.4-1.8,1.1-2.5c0.6-0.7,1.5-1,2.4-1c1,0,1.9,0.5,2.5,1.2
|
||||
c0.4,0.7,0.7,1.5,0.8,2.3L903,572.1z"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M922.3,562.7v6c-0.3-0.5-0.8-1-1.4-1.2c-0.6-0.4-1.3-0.5-2-0.5
|
||||
c-1,0-1.9,0.3-2.7,0.7c-0.9,0.5-1.5,1.3-1.7,2.3c-0.4,1-0.6,2.1-0.6,3.3c0,1.1,0.2,2.2,0.6,3.3c0.4,0.9,1,1.7,1.9,2.3
|
||||
c0.8,0.5,1.7,0.8,2.6,0.7c1.4,0.1,2.7-0.6,3.4-1.7l0,1.7h2l0-16.8H922.3z M921.5,576.7c-1.4,1.6-5.6,2.5-5.6-3.5
|
||||
c-0.1-1.3,0.3-2.5,1-3.5c0.5-0.7,1.4-1.1,2.2-1.1c0.9,0,1.8,0.4,2.4,1.1c0.7,1.1,1.1,2.3,1,3.6
|
||||
C922.6,574.5,922.2,575.7,921.5,576.7"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M944.2,570.6c-0.2-0.7-0.6-1.4-1-2c-0.4-0.5-1-1-1.6-1.2
|
||||
c-0.6-0.3-1.3-0.5-2.1-0.5c-1.3,0-2.6,0.6-3.4,1.6v-6h-2l0,16.9h1.9v-1.4c0.8,1.1,2,1.8,3.4,1.8c1.4,0,2.8-0.6,3.7-1.8
|
||||
c1.1-1.4,1.6-3.1,1.5-4.9C944.6,572.2,944.5,571.4,944.2,570.6L944.2,570.6z M941.6,576.7c-0.6,0.7-1.5,1.1-2.4,1.1
|
||||
c-1.1,0-2.1-0.7-2.6-1.6c-0.5-1-0.7-2-0.6-3.1c-0.1-1.2,0.2-2.4,1-3.4c0.6-0.7,1.5-1.1,2.4-1.1c0.9,0,1.7,0.4,2.2,1.1
|
||||
c0.7,1,1.1,2.2,1,3.5C942.7,574.5,942.3,575.7,941.6,576.7"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M947,583.9l-0.2-1.9c0.4,0.1,0.7,0.1,1.1,0.1c0.4,0,0.8-0.1,1.1-0.2
|
||||
c0.3-0.1,0.5-0.4,0.6-0.6c0.2-0.5,0.5-1,0.6-1.5c0-0.1,0.1-0.2,0.1-0.5l-4.6-12.1h2.3l2.5,7c0.4,0.9,0.7,1.9,0.9,2.9
|
||||
c0.2-0.9,0.5-1.9,0.9-2.7l2.6-7.1h2l-4.6,12.4c-0.3,0.9-0.7,1.9-1.1,2.7c-0.3,0.6-0.7,1.1-1.3,1.5c-0.5,0.4-1.1,0.6-1.7,0.5
|
||||
C948,584.2,947.5,584.2,947,583.9L947,583.9z"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M821.3,569.2c-1,0-1.7,0.7-1.8,1.7h-5v0.4h5c0.1,0.9,0.9,1.5,1.8,1.5
|
||||
c1,0,1.8-0.8,1.8-1.8C823.2,570,822.4,569.2,821.3,569.2 M821.3,572.4c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C822.7,571.8,822.1,572.4,821.3,572.4"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M833,578.6c-0.9,0-1.7,0.7-1.8,1.6h-6.5l-1.9-1.9h-8.3v0.4h8.2l1.9,1.9
|
||||
h6.6c0.1,0.9,0.9,1.6,1.8,1.6c1,0,1.8-0.8,1.8-1.8C834.8,579.4,834,578.6,833,578.6 M833,581.8c-0.8,0-1.4-0.6-1.4-1.4
|
||||
c0-0.8,0.6-1.4,1.4-1.4c0.8,0,1.4,0.6,1.4,1.4S833.8,581.8,833,581.8"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M833,570.6c-0.9,0-1.7,0.7-1.8,1.6h-5.4l-3.3,3.4h-8.3v0.4h8.5l3.2-3.4
|
||||
h5.2c0.1,0.9,0.9,1.6,1.8,1.6c1,0,1.8-0.8,1.8-1.8C834.8,571.4,834,570.6,833,570.6 M833,573.8c-0.8,0-1.4-0.6-1.4-1.4
|
||||
c0-0.8,0.6-1.4,1.4-1.4c0.8,0,1.4,0.6,1.4,1.4C834.4,573.2,833.8,573.8,833,573.8"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#FFF2DF;" d="M999.3,565.7c0,0.3-0.3,0.6-0.6,0.6h-3.2v11.4c0,0.5-0.4,1-1,1h-24.3
|
||||
c-0.5,0-1-0.4-1-1v-11.4H966c-0.2,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.3-0.2-0.5c0-0.2,0.1-0.3,0.2-0.4l16.3-16.3
|
||||
c0.3-0.3,0.7-0.3,0.9,0l8.5,8.5v-1.6c0-0.3,0.3-0.6,0.6-0.6h2.7c0.3,0,0.6,0.3,0.6,0.6v5c0,0.1-0.1,0.3-0.1,0.4l4.1,4.1
|
||||
C999.3,565.4,999.3,565.5,999.3,565.7"/>
|
||||
<path style="clip-path:url(#SVGID_4_);fill:#00ADEE;" d="M991,570.5c-0.5,0-0.9,0.3-1.1,0.8h-3.8l2.5-2.4v-2.5l1.8-1.7
|
||||
c0.2,0.1,0.4,0.1,0.6,0.1c0.6,0,1.1-0.5,1.1-1.1c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1c0,0.2,0,0.3,0.1,0.4l-1.3,1.2
|
||||
l0-3.8c0.4-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1c0,0.5,0.3,0.9,0.8,1.1l0,3.8l-1.2-1.1
|
||||
c0.1-0.1,0.1-0.3,0.1-0.5c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1c0,0.6,0.5,1.1,1.1,1.1c0.2,0,0.3,0,0.5-0.1l1.7,1.6v2.2
|
||||
l-2.3,2.2l-0.1-1.8c0.4-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1c0,0.5,0.3,0.9,0.8,1.1l0.1,2.5
|
||||
l-2.3,2.2l0-12.2l2-1.9c0.1,0,0.3,0.1,0.4,0.1c0.6,0,1.1-0.5,1.1-1.1c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1
|
||||
c0,0.2,0.1,0.4,0.2,0.6l-1.8,1.7l-1.7-1.8c0.1-0.1,0.1-0.3,0.1-0.5c0-0.6-0.5-1.1-1.1-1.1s-1.1,0.5-1.1,1.1
|
||||
c0,0.6,0.5,1.1,1.1,1.1c0.2,0,0.3,0,0.5-0.1l1.8,2v8.5l-3.1-3v-2.4c0.4-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.1-1.1-1.1
|
||||
c-0.6,0-1.1,0.5-1.1,1.1c0,0.5,0.3,0.9,0.8,1.1v1.7l-2.5-2.5v-2.4c0.4-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.1-1.1-1.1
|
||||
c-0.6,0-1.1,0.5-1.1,1.1c0,0.5,0.3,0.9,0.8,1.1v2.7l2.8,2.8h-1.8c-0.2-0.4-0.6-0.8-1.1-0.8c-0.6,0-1.1,0.5-1.1,1.1
|
||||
c0,0.6,0.5,1.1,1.1,1.1c0.5,0,0.9-0.3,1.1-0.8h2.6l3.5,3.4v6.5l-1.9-1.9v-2.4c0.4-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.1-1.1-1.1
|
||||
c-0.6,0-1.1,0.5-1.1,1.1c0,0.5,0.3,0.9,0.8,1.1v1.7l-3-3c0-0.1,0.1-0.3,0.1-0.4c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1
|
||||
c0,0.6,0.5,1.1,1.1,1.1c0.2,0,0.4-0.1,0.6-0.2l3,3h-1.8c-0.2-0.4-0.6-0.8-1.1-0.8c-0.6,0-1.1,0.5-1.1,1.1c0,0.6,0.5,1.1,1.1,1.1
|
||||
c0.5,0,0.9-0.3,1.1-0.8h2.6l2.8,2.8l3-2.7h2.5c0.1,0.5,0.6,0.8,1.1,0.8c0.6,0,1.1-0.5,1.1-1.1c0-0.6-0.5-1.1-1.1-1.1
|
||||
c-0.5,0-0.9,0.3-1,0.7h-2.8l-2.3,2.1v-2.9l2.7-2.6h4.5c0.2,0.4,0.6,0.8,1.1,0.8c0.6,0,1.1-0.5,1.1-1.1
|
||||
C992.1,571,991.6,570.5,991,570.5 M991,563.1c0.3,0,0.6,0.2,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6
|
||||
C990.4,563.3,990.7,563.1,991,563.1 M985.7,564.2c-0.3,0-0.6-0.3-0.6-0.6c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.2,0.6,0.6
|
||||
C986.2,564,986,564.2,985.7,564.2 M987.7,560.4c0-0.3,0.2-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.2,0.6-0.6,0.6
|
||||
C988,560.9,987.7,560.7,987.7,560.4 M984.6,567.9c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6
|
||||
C984.9,568.4,984.6,568.2,984.6,567.9 M979,558.5c0-0.3,0.2-0.6,0.6-0.6s0.6,0.2,0.6,0.6c0,0.3-0.2,0.6-0.6,0.6
|
||||
S979,558.8,979,558.5 M977.9,563.5c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.2,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6
|
||||
C978.1,564.1,977.9,563.8,977.9,563.5 M974.6,560.3c0-0.3,0.2-0.6,0.6-0.6s0.6,0.3,0.6,0.6c0,0.3-0.2,0.6-0.6,0.6
|
||||
S974.6,560.6,974.6,560.3 M974.7,567.8c-0.3,0-0.6-0.2-0.6-0.6c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.2,0.6,0.6
|
||||
C975.3,567.5,975,567.8,974.7,567.8 M979.1,572.1c0-0.3,0.2-0.6,0.6-0.6c0.3,0,0.6,0.2,0.6,0.6c0,0.3-0.2,0.6-0.6,0.6
|
||||
S979.1,572.4,979.1,572.1 M975.9,576.3c-0.3,0-0.6-0.2-0.6-0.6c0-0.3,0.2-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6
|
||||
C976.4,576.1,976.2,576.3,975.9,576.3 M988.8,575.3c0.3,0,0.6,0.2,0.6,0.6c0,0.3-0.2,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6
|
||||
C988.2,575.6,988.5,575.3,988.8,575.3 M985,557.9c0.3,0,0.6,0.2,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6c-0.3,0-0.6-0.3-0.6-0.6
|
||||
C984.4,558.2,984.7,557.9,985,557.9 M975.2,572.1c-0.3,0-0.6-0.2-0.6-0.6s0.2-0.6,0.6-0.6s0.6,0.2,0.6,0.6
|
||||
S975.5,572.1,975.2,572.1 M991,572.2c-0.3,0-0.6-0.2-0.6-0.6c0-0.3,0.2-0.6,0.6-0.6s0.6,0.3,0.6,0.6
|
||||
C991.5,571.9,991.3,572.2,991,572.2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Automation">
|
||||
|
||||
<text id="input_boolean.alert_mode" transform="matrix(1 0 0 1 206.4198 305.1656)" style="fill:#BDF271; font-family:'Helvetica'; font-size:35.2242px;">OFF</text>
|
||||
<g id="binary_sensors">
|
||||
<path id="binary_sensor.justins_room_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M720.9,359.6h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5
|
||||
C722.4,358.9,721.7,359.6,720.9,359.6z"/>
|
||||
<path id="binary_sensor.hallway_nest_protect_kids_hallway_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M711.2,346.6h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5
|
||||
C712.7,345.9,712,346.6,711.2,346.6z"/>
|
||||
|
||||
<path id="binary_sensor.paiges_room_nest_protect_paiges_room_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M702.2,300.1h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5
|
||||
C703.7,299.4,703,300.1,702.2,300.1z"/>
|
||||
<path id="binary_sensor.office_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M683.5,382.7
|
||||
h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5C685,382,684.3,382.7,683.5,382.7z"/>
|
||||
<path id="binary_sensor.kitchen_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M554.6,233.9
|
||||
h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5C556.1,233.3,555.4,233.9,554.6,233.9z"/>
|
||||
<path id="binary_sensor.master_hallway_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M427.2,371.4h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5
|
||||
C428.7,370.7,428,371.4,427.2,371.4z"/>
|
||||
<path id="binary_sensor.master_bedroom_nest_protect_online" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M442.2,404.9h-6.7c-0.8,0-1.5-0.7-1.5-1.5v-7.5c0-0.8,0.7-1.5,1.5-1.5h6.7c0.8,0,1.5,0.7,1.5,1.5v7.5
|
||||
C443.7,404.2,443,404.9,442.2,404.9z"/>
|
||||
<path id="binary_sensor.sleepnumber_carlo_stacey_is_in_bed" inkscape:connector-curvature="0" style="fill:#BDF271;" d="
|
||||
M359.3,433.8h-27.9c-2.9-0.1-5.3-2.5-5.3-5.4l0,0v-8.2c0-2.9,2.3-5.4,5.3-5.4h27.9c2.9,0.1,5.3,2.5,5.3,5.4l0,0v8.2
|
||||
C364.6,431.3,362.2,433.7,359.3,433.8z"/>
|
||||
<path id="binary_sensor.sleepnumber_carlo_carlo_is_in_bed" inkscape:connector-curvature="0" style="fill:#E7376B;" d="
|
||||
M358.8,413h-26.4c-3.4-0.1-6.1-2.8-6-6.2v-6.2c0-3.4,2.7-6.2,6-6.2h26.4c3.4,0.1,6.1,2.8,6,6.2v6.2
|
||||
C364.9,410.2,362.2,413,358.8,413z"/>
|
||||
</g>
|
||||
<g id="Lights">
|
||||
<circle id="light.m1_back_right" style="fill:#231F26;" cx="509.5" cy="238.7" r="5"/>
|
||||
<circle id="light.m1_back_left" style="fill:#231F26;" cx="509.5" cy="298.3" r="5"/>
|
||||
<circle id="light.m1_slider" style="fill:#231F26;" cx="493.1" cy="362.6" r="5"/>
|
||||
<circle id="light.m1_front_left" style="fill:#231F26;" cx="438.8" cy="298.3" r="5"/>
|
||||
<circle id="light.m1_front_right" style="fill:#231F26;" cx="438.8" cy="239" r="5"/>
|
||||
<circle id="light.bedroom_hallway" style="fill:#231F26;" cx="440.3" cy="363.3" r="5"/>
|
||||
<circle id="light.sink" style="fill:#231F26;" cx="557.4" cy="321.9" r="5"/>
|
||||
<circle id="light.kids_hallway" style="fill:#231F26;" cx="675.2" cy="334.8" r="5"/>
|
||||
<circle id="light.f1" style="fill:#231F26;" cx="440.3" cy="166.9" r="5"/>
|
||||
<circle id="light.f2" style="fill:#231F26;" cx="439.6" cy="121.2" r="5"/>
|
||||
<circle id="light.office_lamp" style="fill:#231F26;" cx="618.1" cy="465.4" r="5"/>
|
||||
<circle id="light.den_lamp" style="fill:#FFFFA6;" cx="317.6" cy="83.8" r="5"/>
|
||||
<path id="light.tv_light" inkscape:connector-curvature="0" style="fill:#231F26;" d="M403.2,298.2h-2.5c-0.7,0-1.2-0.5-1.2-1.2
|
||||
v-47.8c0-0.7,0.5-1.2,1.2-1.2h2.5c0.7,0,1.2,0.5,1.2,1.2V297C404.4,297.7,403.9,298.2,403.2,298.2z"/>
|
||||
<circle id="light.bedroom" style="fill:#231F26;" cx="317.5" cy="459.3" r="5"/>
|
||||
<circle id="light.master_toilet" style="fill:#231F26;" cx="383.2" cy="237.1" r="5"/>
|
||||
<circle id="light.justin_go" style="fill:#231F26;" cx="700.8" cy="427" r="5"/>
|
||||
<circle id="light.paige_go" style="fill:#231F26;" cx="760.9" cy="305.8" r="5"/>
|
||||
<circle id="light.outdoor_foyer" cx="441" cy="66.2" r="5"/>
|
||||
<circle id="light.garage_attic" style="fill:#231F26;" cx="644.5" cy="151.5" r="5"/>
|
||||
<circle id="light.k1" style="fill:#FFFFA6;" cx="621.9" cy="314.6" r="5"/>
|
||||
<circle id="light.k2" style="fill:#FFFFA6;" cx="621.1" cy="284.4" r="5"/>
|
||||
<circle id="light.fridge" style="fill:#FFFFA6;" cx="621.1" cy="255" r="5"/>
|
||||
<circle id="light.k3" style="fill:#231F26;" cx="598.6" cy="321.5" r="5"/>
|
||||
<circle id="light.k4" style="fill:#FFFFA6;" cx="577.2" cy="300.5" r="5"/>
|
||||
<circle id="light.k5" style="fill:#FFFFA6;" cx="576.4" cy="271.9" r="5"/>
|
||||
<circle id="light.k6" style="fill:#FFFFA6;" cx="576" cy="245.3" r="5"/>
|
||||
<g id="switch.kitchen_accents">
|
||||
<path id="switch.kitchen_Accents-a" inkscape:connector-curvature="0" style="fill:#231F26;" d="M637.6,247.7h1.8
|
||||
c0.9,0,1.6,0.7,1.6,1.6l-0.1,63.4c0,0.9-0.7,1.6-1.6,1.6h-1.8c-0.9,0-1.6-0.7-1.6-1.6l0.1-63.4
|
||||
C636,248.5,636.8,247.7,637.6,247.7L637.6,247.7z"/>
|
||||
<path id="switch.kitchen_Accents-b" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M550.5,246.2h1.8
|
||||
c0.9,0,1.6,0.7,1.6,1.6l-0.1,63.4c0,0.9-0.7,1.6-1.6,1.6h-1.7c-0.9,0-1.6-0.7-1.6-1.6l0.1-63.4
|
||||
C549,246.9,549.7,246.2,550.5,246.2L550.5,246.2z"/>
|
||||
</g>
|
||||
<circle id="light.p1_back_left" style="fill:#FFFFA6;" cx="553.5" cy="470" r="5"/>
|
||||
<circle id="light.p1_back_right" style="fill:#FFFFA6;" cx="481.1" cy="470" r="5"/>
|
||||
<circle id="light.p1_front_right" style="fill:#FFFFA6;" cx="481.1" cy="427.8" r="5"/>
|
||||
<circle id="light.p1_front_left" style="fill:#FFFFA6;" cx="552.5" cy="427.8" r="5"/>
|
||||
<path id="light.d1" inkscape:connector-curvature="0" style="fill:#231F26;" d="M602.4,386.5c0-4.2-3.4-7.6-7.6-7.6l0,0V394
|
||||
C599,394,602.4,390.6,602.4,386.5z"/>
|
||||
<path id="light.d2" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M593.8,394v-15.1c-4.2-0.4-7.9,2.6-8.4,6.7
|
||||
c-0.4,4.2,2.6,7.9,6.7,8.4C592.7,394.1,593.3,394.1,593.8,394z"/>
|
||||
<path id="light.s2" inkscape:connector-curvature="0" style="fill:#231F26;" d="M571.7,133.2c0-2.8,2.3-5,5-5l0,0v10.1
|
||||
C573.9,138.2,571.7,136,571.7,133.2z"/>
|
||||
<path id="light.s3" inkscape:connector-curvature="0" style="fill:#231F26;" d="M571.7,108.4c0-2.8,2.3-5,5-5l0,0v10.1
|
||||
C573.9,113.4,571.7,111.1,571.7,108.4z"/>
|
||||
<path id="light.s4" inkscape:connector-curvature="0" style="fill:#231F26;" d="M571.7,83.5c0-2.8,2.3-5,5-5l0,0v10.1
|
||||
C573.9,88.6,571.7,86.3,571.7,83.5z"/>
|
||||
<path id="light.s1" inkscape:connector-curvature="0" style="fill:#231F26;" d="M576.7,163v-10.1c-2.8,0-5,2.3-5,5
|
||||
C571.7,160.8,573.9,163,576.7,163z"/>
|
||||
<path id="light.led_garage_small" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M630.5,53.3h-46.1
|
||||
c-0.9,0-1.6-0.7-1.6-1.6v-0.8c0-0.9,0.7-1.6,1.6-1.6h46.1c0.9,0,1.6,0.7,1.6,1.6v0.8C632,52.6,631.3,53.3,630.5,53.3z"/>
|
||||
<path id="light.led_garage_large" inkscape:connector-curvature="0" style="fill:#A49A87;" d="M755.5,33.2h-93.7
|
||||
c-0.9,0-1.6-0.7-1.6-1.6v-0.8c0-0.9,0.7-1.6,1.6-1.6h93.7c0.9,0,1.6,0.7,1.6,1.6v0.8C757.1,32.5,756.4,33.2,755.5,33.2z"/>
|
||||
<path id="light.outdoor_sconce_1" inkscape:connector-curvature="0" style="fill:#A49A87;" d="M570.1,47.7c2.8,0,5,2.3,5,5l0,0
|
||||
H565C565.1,50,567.3,47.7,570.1,47.7z"/>
|
||||
<path id="light.outdoor_sconce_2" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M644.6,27.2c2.8,0,5,2.3,5,5l0,0
|
||||
h-10.1C639.6,29.4,641.8,27.2,644.6,27.2z"/>
|
||||
<path id="light.outdoor_sconce_3" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M767.4,27.2c2.8,0,5,2.3,5,5l0,0
|
||||
h-10.1C762.4,29.4,764.6,27.2,767.4,27.2z"/>
|
||||
<path id="light.couch_1" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M532.4,193.2h11.1v11.1
|
||||
C537.4,204.3,532.4,199.4,532.4,193.2z"/>
|
||||
<path id="light.outdoor_bathroom" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M704,492.2c-2.8,0-5-2.3-5-5l0,0
|
||||
h10.1C709,489.9,706.8,492.2,704,492.2z"/>
|
||||
|
||||
<circle id="switch.pool_deck" inkscape:transform-center-x="23.336371" inkscape:transform-center-y="0.93345484" style="fill:#000080;" cx="590.4" cy="417.6" r="5">
|
||||
</circle>
|
||||
<path id="light.stone_door" inkscape:connector-curvature="0" inkscape:label="#light.d1-0" d="M422.6,64.7c0-4.2-3.4-7.6-7.6-7.6
|
||||
l0,0v15.1C419.2,72.2,422.6,68.8,422.6,64.7z"/>
|
||||
|
||||
<path id="switch.foyer_outlet" inkscape:connector-curvature="0" inkscape:label="#switch.foyer_outlet" style="fill:#231F26;" d="
|
||||
M418.5,170h-4.3c-1.2,0-2.1-0.1-2.1-0.2v-7.6c0-0.1,0.9-0.2,2.1-0.2h4.3c1.2,0,2.1,0.1,2.1,0.2v7.6
|
||||
C420.6,169.9,419.7,170,418.5,170z"/>
|
||||
|
||||
<path id="switch.garage_outlet" inkscape:connector-curvature="0" inkscape:label="#switch.garage_outlet" style="fill:#231F26;" d="
|
||||
M585.7,162h-4.3c-1.2,0-2.1-0.1-2.1-0.2v-7.6c0-0.1,0.9-0.2,2.1-0.2h4.3c1.2,0,2.1,0.1,2.1,0.2v7.6C587.8,162,586.9,162,585.7,162
|
||||
z"/>
|
||||
</g>
|
||||
<g id="Alarm_Senors">
|
||||
<path id="binary_sensor.mcu3_gpio4" inkscape:connector-curvature="0" inkscape:label="#rect447" style="fill:#29D9C2;" d="
|
||||
M299.2,469.1h-1.7c-1.1,0-2-1.2-2-2.7v-23.1c0-1.5,0.9-2.7,2-2.7h1.7c1.1,0,2,1.2,2,2.7v23.1C301.2,467.9,300.3,469.1,299.2,469.1
|
||||
z"/>
|
||||
<path id="binary_sensor.mcu3_gpio5" inkscape:connector-curvature="0" inkscape:label="#rect449" style="fill:#29D9C2;" d="
|
||||
M299.2,391.5h-1.7c-1.1,0-2-1.2-2-2.8v-23.9c0-1.5,0.9-2.8,2-2.8h1.7c1.1,0,2,1.2,2,2.8v23.9C301.2,390.3,300.3,391.5,299.2,391.5
|
||||
z"/>
|
||||
<path id="binary_sensor.mcu2_gpio10" inkscape:connector-curvature="0" inkscape:label="#rect451" style="fill:#29D9C2;" d="
|
||||
M299.2,278.8h-1.7c-1.1,0-2-0.9-2-2v-33.9c0-1.1,0.9-2,2-2h1.7c1.1,0,2,0.9,2,2v33.9C301.2,277.9,300.3,278.8,299.2,278.8z"/>
|
||||
<path id="binary_sensor.mcu1_gpio14" inkscape:connector-curvature="0" inkscape:label="#rect453" style="fill:#29D9C2;" d="
|
||||
M661.8,486.5h-30.5c-2,0-3.5-0.9-3.5-2v-1.7c0-1.1,1.6-2,3.5-2h30.5c2,0,3.5,0.9,3.5,2v1.7C665.4,485.6,663.8,486.5,661.8,486.5z"
|
||||
/>
|
||||
<path id="binary_sensor.mcu2_gpio14" inkscape:connector-curvature="0" inkscape:label="#rect455" style="fill:#29D9C2;" d="
|
||||
M775.4,386.1h-1.7c-1.1,0-2-1.5-2-3.5V353c0-1.9,0.9-3.5,2-3.5h1.7c1.1,0,2,1.5,2,3.5v29.6C777.4,384.6,776.5,386.1,775.4,386.1z"
|
||||
/>
|
||||
<g id="binary_sensor.mcu1_gpio10" inkscape:label="#g1889">
|
||||
<path id="rect459" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M556.6,58.6h-25.2c-1.1,0-2-0.9-2-2v-1.7
|
||||
c0-1.1,0.9-2,2-2h25.2c1.1,0,2,0.9,2,2v1.7C558.6,57.7,557.7,58.6,556.6,58.6z"/>
|
||||
<path id="rect461" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M515.3,58.6h-25.2c-1.1,0-2-0.9-2-2v-1.7
|
||||
c0-1.1,0.9-2,2-2h25.2c1.1,0,2,0.9,2,2v1.7C517.3,57.7,516.4,58.6,515.3,58.6z"/>
|
||||
</g>
|
||||
<g id="binary_sensor.mcu1_gpio13" inkscape:label="#gstudy_windows">
|
||||
<path id="rect457" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M390.5,62.6h-25.2c-1.1,0-2-0.9-2-2v-1.7
|
||||
c0-1.1,0.9-2,2-2h25.2c1.1,0,2,0.9,2,2v1.7C392.5,61.7,391.6,62.6,390.5,62.6z"/>
|
||||
<path id="rect463" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M348.2,62.6H323c-1.1,0-2-0.9-2-2v-1.7
|
||||
c0-1.1,0.9-2,2-2h25.2c1.1,0,2,0.9,2,2v1.7C350.2,61.7,349.3,62.6,348.2,62.6z"/>
|
||||
</g>
|
||||
<g id="binary_sensor.mcu2_gpio4" inkscape:label="#gDinette">
|
||||
<path id="rect465" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M594.8,410h-17.3c-1.1,0-2-0.9-2-2v-1.7
|
||||
c0-1.1,0.9-2,2-2h17.3c1.1,0,2,0.9,2,2v1.7C596.8,409.1,595.9,410,594.8,410z"/>
|
||||
<path id="rect467" inkscape:connector-curvature="0" style="fill:#29D9C2;" d="M571.5,405.5l-1.2,1.2c-0.8,0.8-2.1,0.8-2.9-0.1
|
||||
l-12-12.5c-0.8-0.8-0.8-2.1,0.1-2.9l1.2-1.2c0.8-0.8,2.1-0.8,2.9,0.1l12,12.5C572.3,403.5,572.3,404.8,571.5,405.5z"/>
|
||||
</g>
|
||||
<path id="binary_sensor.mcu3_gpio10" inkscape:connector-curvature="0" inkscape:label="#rect475" style="fill:#E7376B;" d="
|
||||
M432.1,478.1h-43.7c-1.4,0-2.5-0.9-2.5-2v-1.5c0-1.1,1.1-2,2.5-2h43.7c1.4,0,2.5,0.9,2.5,2v1.5
|
||||
C434.6,477.2,433.5,478.1,432.1,478.1z"/>
|
||||
<path id="binary_sensor.mcu1_gpio4" inkscape:connector-curvature="0" inkscape:label="#rect477" style="fill:#E7376B;" d="
|
||||
M775.4,283.4h-1.7c-1.1,0-2-1.5-2-3.4v-28.8c0-1.9,0.9-3.4,2-3.4h1.7c1.1,0,2,1.5,2,3.4V280C777.4,281.9,776.5,283.4,775.4,283.4z
|
||||
"/>
|
||||
|
||||
<path id="binary_sensor.kitchen_door_opened" inkscape:connector-curvature="0" inkscape:label="#rect449" style="fill:#29D9C2;" d="
|
||||
M647.2,243.6h-1.7c-1.1,0-2-0.7-2-1.5v-13c0-0.8,0.9-1.5,2-1.5h1.7c1.1,0,2,0.7,2,1.5v13C649.2,242.9,648.3,243.6,647.2,243.6z"/>
|
||||
<path id="binary_sensor.mcu1_gpio12" inkscape:connector-curvature="0" inkscape:label="#rect449" style="fill:#29D9C2;" d="
|
||||
M647.8,182.7V181c0-1.1,0.8-2,1.8-2H665c1,0,1.8,0.9,1.8,2v1.7c0,1.1-0.8,2-1.8,2h-15.4C648.6,184.8,647.8,183.9,647.8,182.7z"/>
|
||||
<path id="binary_sensor.mcu1_gpio5" inkscape:connector-curvature="0" inkscape:label="#rect449" style="fill:#29D9C2;" d="
|
||||
M417.9,84v-1.7c0-1.1,2.1-2,4.7-2h40.8c2.6,0,4.8,0.9,4.8,2V84c0,1.1-2.1,2-4.7,2h-40.8C420,86,417.9,85.1,417.9,84z"/>
|
||||
<path id="binary_sensor.mcu2_gpio5" inkscape:connector-curvature="0" inkscape:label="#rect453" style="fill:#29D9C2;" d="
|
||||
M730.9,487.1h-18c-1.2,0-2.1-0.9-2.1-2v-1.7c0-1.1,0.9-2,2.1-2h18c1.2,0,2.1,0.9,2.1,2v1.7C733,486.2,732.1,487.1,730.9,487.1z"/>
|
||||
<path id="binary_sensor.mcu3_light" inkscape:connector-curvature="0" inkscape:label="#rect451" style="fill:#29D9C2;" d="
|
||||
M327.1,237.2l-0.1-2.5c-0.1-1.7,0.3-3,0.9-3l17.3,0.3c0.6,0,1.1,1.4,1.2,3l0.1,2.5c0.1,1.7-0.3,3-0.9,3l-17.3-0.3
|
||||
C327.7,240.3,327.2,238.9,327.1,237.2z"/>
|
||||
<path id="binary_sensor.mcu2_gpio12" inkscape:connector-curvature="0" inkscape:label="#rect453" style="fill:#29D9C2;" d="
|
||||
M519.1,384.5h-50.8c-3.3,0-5.9-0.9-5.9-2v-1.7c0-1.1,2.6-2,5.9-2h50.8c3.3,0,5.9,0.9,5.9,2v1.7C525,383.6,522.3,384.5,519.1,384.5
|
||||
z"/>
|
||||
<path id="binary_sensor.mcu2_gpio9" inkscape:connector-curvature="0" inkscape:label="#rect453" style="fill:#29D9C2;" d="
|
||||
M447.3,457.7l-0.1-37.9c0-2.4,0.9-4.4,2-4.3l1.7,0.1c1.1,0.1,2,2.1,2,4.5L453,458c0,2.4-0.9,4.4-2,4.3l-1.7-0.1
|
||||
C448.2,462.2,447.3,460.1,447.3,457.7L447.3,457.7z"/>
|
||||
</g>
|
||||
<path id="lighting_bolt" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M552.6,310.4v-2.8h-0.8v-2.3l-1.8,3.1h1.1
|
||||
l-1,2L552.6,310.4z"/>
|
||||
<path id="lighting_bolt-2" inkscape:connector-curvature="0" style="fill:#FFFFA6;" d="M639.8,312.3v-2.8H639v-2.3l-1.8,3.1h1l-1,2
|
||||
L639.8,312.3z"/>
|
||||
<path id="cover.large_garage" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M757.1,51.3h-97c-1.6,0-2.8-1.3-2.8-2.8
|
||||
v-6.4c0-1.6,1.3-2.8,2.8-2.8h97c1.6,0,2.8,1.3,2.8,2.8v6.4C759.9,50.1,758.6,51.3,757.1,51.3z"/>
|
||||
<path id="cover.small_garage" inkscape:connector-curvature="0" style="fill:#E7376B;" d="M629.2,71.4h-42.7
|
||||
c-1.6,0-2.8-1.3-2.8-2.8v-6.4c0-1.6,1.3-2.8,2.8-2.8h42.7c1.6,0,2.8,1.3,2.8,2.8v6.4C632,70.2,630.8,71.4,629.2,71.4z"/>
|
||||
<g id="sensor.dark_sky_temperature" transform="translate(-153.53886,352.18359)">
|
||||
<text id="text957" transform="matrix(1 0 0 1 188.344 62.0462)" style="font-family:'ArialMT'; font-size:12px;">XX</text>
|
||||
</g>
|
||||
<g id="sensor.dark_sky_humidity" transform="translate(17.850478,-13.186746)">
|
||||
<text id="text960" transform="matrix(1 0 0 1 55.1017 427.5831)" style="font-family:'ArialMT'; font-size:12px;">XX</text>
|
||||
</g>
|
||||
|
||||
<text id="device_tracker.carlo" inkscape:label="#text4437" transform="matrix(1 0 0 1 36.2953 243.6862)" style="fill:#E7376B;enable-background:new ; font-family:'Helvetica'; font-size:26px;">away</text>
|
||||
|
||||
<text id="device_tracker.stacey" inkscape:label="#text965" transform="matrix(1 0 0 1 161.0093 243.6862)" style="fill:#BDF271;enable-background:new ; font-family:'Helvetica'; font-size:26px;">home</text>
|
||||
<path id="light.led_outdoor_den" inkscape:connector-curvature="0" d="M389.5,54h-67.1c-1.3,0-2.3-0.7-2.3-1.6v-0.8
|
||||
c0-0.9,1-1.6,2.3-1.6h67.1c1.3,0,2.3,0.7,2.3,1.6v0.8C391.8,53.3,390.8,54,389.5,54z"/>
|
||||
<g id="g378" transform="matrix(1.1743602,0,0,1,-84.987569,-32.010868)">
|
||||
<g id="sensor.last_message" transform="matrix(0.63365866,0,0,0.63365866,-20.720967,359.50527)">
|
||||
|
||||
<text id="text864-0" transform="matrix(1.5781 0 0 1.5781 172.2095 327.8668)" style="fill:#FFFFA6; font-family:'Helvetica'; font-size:15.0304px;">XX</text>
|
||||
</g>
|
||||
</g>
|
||||
<g id="climate.downstairs" transform="translate(21.312394,67.123371)" inkscape:label="#climate.downstairs">
|
||||
<text id="text957-6" transform="matrix(0.7633 0 0 1 13.1832 95.6506)" style="font-family:'ArialMT'; font-size:12px;">XX</text>
|
||||
</g>
|
||||
|
||||
<text id="sensor.downstairs_thermostat_humidity" inkscape:label="#text960-2" transform="matrix(1 0 0 1 95.1238 163.9985)" style="enable-background:new ; font-family:'ArialMT'; font-size:12px;">XX</text>
|
||||
<g id="climate.upstairs" transform="translate(21.68449,126.0939)" inkscape:label="#climate.upstairs">
|
||||
<text id="text957-6-0" transform="matrix(1 0 0 1 141.943 37.4332)" style="font-family:'ArialMT'; font-size:12px;">XX</text>
|
||||
</g>
|
||||
|
||||
<text id="sensor.upstairs_thermostat_humidity" inkscape:label="#text960-2-4" transform="matrix(1 0 0 1 225.0211 164.3264)" style="enable-background:new ; font-family:'ArialMT'; font-size:12px;">XX</text>
|
||||
<path id="switch.front_door_outlet" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M468.8,88.2l0,1.8
|
||||
c0,0.9-0.5,1.6-1.2,1.6l-47.9,0c-0.7,0-1.2-0.7-1.2-1.6l0-1.7c0-0.9,0.5-1.6,1.2-1.6l47.9,0C468.2,86.7,468.8,87.4,468.8,88.2
|
||||
L468.8,88.2z"/>
|
||||
<g id="switch.living_room_amp" transform="matrix(0.94760261,0,0,0.83247722,510.8181,-389.05269)">
|
||||
<g id="g4137" style="display:none;">
|
||||
<ellipse id="circle4135" style="display:inline;" cx="50" cy="50" rx="42.6" ry="37.5"/>
|
||||
</g>
|
||||
<g id="g4339" style="display:none;">
|
||||
<rect id="rect4139" x="5" y="50" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4141" x="5" y="47.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4143" x="5" y="45" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4145" x="7.5" y="42.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4147" x="7.5" y="40" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4149" x="7.5" y="37.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4151" x="10" y="35" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4153" x="10" y="32.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4155" x="10" y="30" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4157" x="12.5" y="27.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4159" x="12.5" y="25" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4161" x="15" y="22.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4163" x="17.5" y="20" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4165" x="20" y="17.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4167" x="22.5" y="15" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4169" x="25" y="12.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4171" x="27.5" y="12.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4173" x="30" y="10" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4175" x="32.5" y="10" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4177" x="35" y="7.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4179" x="37.5" y="7.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4181" x="40" y="7.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4183" x="42.5" y="5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4185" x="45" y="5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4187" x="47.5" y="5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4189" x="92.5" y="50" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4191" x="92.5" y="47.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4193" x="92.5" y="45" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4195" x="90" y="42.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4197" x="90" y="40" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4199" x="90" y="37.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4201" x="87.5" y="35" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4203" x="87.5" y="32.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4205" x="87.5" y="30" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4207" x="85" y="27.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4209" x="85" y="25" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4211" x="82.5" y="22.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4213" x="80" y="20" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4215" x="77.5" y="17.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4217" x="75" y="15" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4219" x="72.5" y="12.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4221" x="70" y="12.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4223" x="67.5" y="10" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4225" x="65" y="10" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4227" x="62.5" y="7.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4229" x="60" y="7.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4231" x="57.5" y="7.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4233" x="55" y="5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4235" x="52.5" y="5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4237" x="50" y="5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4239" x="5" y="47.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4241" x="5" y="50" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4243" x="5" y="52.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4245" x="7.5" y="55" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4247" x="7.5" y="57.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4249" x="7.5" y="60" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4251" x="10" y="62.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4253" x="10" y="65" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4255" x="10" y="67.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4257" x="12.5" y="70" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4259" x="12.5" y="72.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4261" x="15" y="75" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4263" x="17.5" y="77.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4265" x="20" y="80" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4267" x="22.5" y="82.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4269" x="25" y="85" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4271" x="27.5" y="85" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4273" x="30" y="87.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4275" x="32.5" y="87.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4277" x="35" y="90" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4279" x="37.5" y="90" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4281" x="40" y="90" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4283" x="42.5" y="92.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4285" x="45" y="92.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4287" x="47.5" y="92.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4289" x="92.5" y="47.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4291" x="92.5" y="50" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4293" x="92.5" y="52.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4295" x="90" y="55" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4297" x="90" y="57.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4299" x="90" y="60" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4301" x="87.5" y="62.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4303" x="87.5" y="65" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4305" x="87.5" y="67.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4307" x="85" y="70" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4309" x="85" y="72.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4311" x="82.5" y="75" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4313" x="80" y="77.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4315" x="77.5" y="80" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4317" x="75" y="82.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4319" x="72.5" y="85" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4321" x="70" y="85" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4323" x="67.5" y="87.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4325" x="65" y="87.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4327" x="62.5" y="90" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4329" x="60" y="90" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4331" x="57.5" y="90" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4333" x="55" y="92.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4335" x="52.5" y="92.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
<rect id="rect4337" x="50" y="92.5" style="display:inline;" width="2.5" height="2.5"/>
|
||||
</g>
|
||||
<g id="g4349" transform="matrix(0.14188902,0,0,0.18357806,-118.06165,831.52818)">
|
||||
<path id="path4341" inkscape:connector-curvature="0" d="M56.6,95c-0.8,0-1.5-0.2-2.2-0.7L23.9,72.8H13.7c-2.1,0-3.8-1.7-3.8-3.8
|
||||
v-34c0-2.1,1.7-3.8,3.8-3.8h10.2L54.4,9.8c1.1-0.8,2.7-0.9,3.9-0.3c1.3,0.7,2,1.9,2,3.3v78.3c0,1.4-0.8,2.7-2,3.3
|
||||
C57.8,94.9,57.2,95,56.6,95z M13.8,69h10.7c0.4,0,0.8,0.1,1.1,0.4L56.5,91V13.1L25.7,34.8c-0.3,0.2-0.7,0.4-1.1,0.4H13.8V69z"/>
|
||||
<path id="path4343" inkscape:connector-curvature="0" d="M30.4,12.3"/>
|
||||
<path id="path4345" inkscape:connector-curvature="0" d="M72.3,79.9c-0.3,0-0.7-0.1-1-0.3c-1-0.6-1.3-1.8-0.7-2.7
|
||||
c4.1-7.1,6.3-15.2,6.3-23.4c0-8.7-2.4-17.2-7-24.6c-0.6-0.9-0.3-2.2,0.6-2.8c0.9-0.6,2.2-0.3,2.8,0.6c5,8,7.6,17.2,7.6,26.7
|
||||
c0,8.9-2.4,17.7-6.9,25.4C73.6,79.6,73,79.9,72.3,79.9z"/>
|
||||
<path id="path4347" inkscape:connector-curvature="0" d="M82.9,87.9c-0.4,0-0.8-0.1-1.1-0.3c-0.9-0.6-1.2-1.8-0.6-2.8
|
||||
c6.1-9.3,9.4-20.1,9.4-31.2c0-11.4-3.4-22.4-9.7-31.8c-0.6-0.9-0.4-2.2,0.5-2.8c0.9-0.6,2.2-0.4,2.8,0.5
|
||||
c6.8,10.1,10.4,21.8,10.4,34c0,11.9-3.5,23.5-10,33.4C84.2,87.5,83.5,87.9,82.9,87.9z"/>
|
||||
</g>
|
||||
<path id="path4475" inkscape:connector-curvature="0" d="M-112.3,846.1l-2.2-2l-0.8,0l-0.8,0v-3.1V838h0.8h0.8l2.2-2l2.2-2l0,3.5
|
||||
c0,1.9,0,5.1,0,7l0,3.5L-112.3,846.1z"/>
|
||||
</g>
|
||||
<g id="g5865" transform="matrix(0.20239526,0,0,0.17565323,554.60169,-81.056325)">
|
||||
</g>
|
||||
</g>
|
||||
<g id="switch.front_landscaping" transform="matrix(-0.18812795,-0.00170407,0.00170407,-0.18812795,-122.66373,-339.13043)" inkscape:label="#g2011">
|
||||
<g id="g2033" transform="translate(-148.84179,-31.682509)">
|
||||
<path id="path1991-0" inkscape:connector-curvature="0" d="M-2164.6-2040.5c-18.6,0-33.7,15.1-33.7,33.6c0,5.4,0,19.6,0,22.6
|
||||
c0,3.1,2.4,4,4.4,1.7c1.2-1.3,28.6-28.9,42.4-43.9c0,12,0,28.6,0,32.6c0,0.8-0.3,1.4-1.3,1.4c-14.1,0-26.8,15.2-26.8,29.7
|
||||
c0,10.8,2.3,18.6,7.3,28.6c0.7,1.3,0.7,2,2.6,2c0.9,0,1.7-0.4,2.1-1.1c1.3-2.3,8.3-14.4,8.8-15.2c0.5-1,1.7-1.1,2.3,0
|
||||
c0.4,0.8,7.5,12.9,8.8,15.2c0.4,0.7,1.2,1.1,2.1,1.1c0.9,0,1.7-0.4,2.1-1.1c1.3-2.3,8.4-14.4,8.8-15.2c0.5-1.1,1.7-1,2.3,0
|
||||
c0.4,0.8,7.5,12.9,8.8,15.2c0.4,0.7,1.2,1.1,2.1,1.1c1.8,0,1.9-0.7,2.6-2c5-10,7.3-17.8,7.3-28.6c0-14.6-12.7-29.7-26.8-29.7
|
||||
c-1,0-1.3-0.6-1.3-1.4c0-6.7,0-46.7,0-46.7L-2164.6-2040.5z"/>
|
||||
<path id="path1993-9" inkscape:connector-curvature="0" d="M-2097.5-1982.5c2.1,2.3,4.4,1.4,4.4-1.7c0-2.9-0.1-17.2-0.1-22.6
|
||||
c0-18.6-15.1-33.6-33.6-33.6c-2,0-6.8,0-9.1,0v18.9C-2128.9-2014.6-2099-1984.1-2097.5-1982.5L-2097.5-1982.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="switch.back_landscaping" transform="matrix(-0.18802416,0.00647653,-0.00647653,-0.18802416,-105.92742,983.77)" inkscape:label="#g2011">
|
||||
<g id="g2033-6" transform="translate(-148.84179,-31.682509)">
|
||||
<path id="path1991-0-9" inkscape:connector-curvature="0" d="M-2152.5,2520.6c-18.6,0-33.7,15.1-33.7,33.6c0,5.4,0,19.6,0,22.6
|
||||
c0,3.1,2.4,4,4.4,1.7c1.2-1.3,28.6-28.9,42.4-43.9c0,12,0,28.6,0,32.6c0,0.8-0.3,1.4-1.3,1.4c-14.1,0-26.8,15.2-26.8,29.7
|
||||
c0,10.8,2.3,18.6,7.3,28.6c0.7,1.3,0.7,2,2.6,2c0.9,0,1.7-0.4,2.1-1.1c1.3-2.3,8.3-14.4,8.8-15.2c0.5-1,1.7-1.1,2.3,0
|
||||
c0.4,0.8,7.5,12.9,8.8,15.2c0.4,0.7,1.2,1.1,2.1,1.1c0.9,0,1.7-0.4,2.1-1.1c1.3-2.3,8.4-14.4,8.8-15.2c0.5-1.1,1.7-1,2.3,0
|
||||
c0.4,0.8,7.5,12.9,8.8,15.2c0.4,0.7,1.2,1.1,2.1,1.1c1.8,0,1.9-0.7,2.6-2c5-10,7.3-17.8,7.3-28.6c0-14.6-12.7-29.7-26.8-29.7
|
||||
c-1,0-1.3-0.6-1.3-1.4c0-6.7,0-46.7,0-46.7L-2152.5,2520.6z"/>
|
||||
<path id="path1993-9-9" inkscape:connector-curvature="0" d="M-2085.3,2578.5c2.1,2.3,4.4,1.4,4.4-1.7c0-2.9-0.1-17.2-0.1-22.6
|
||||
c0-18.6-15.1-33.6-33.6-33.6c-2,0-6.8,0-9.1,0v18.9C-2116.7,2546.5-2086.8,2577-2085.3,2578.5L-2085.3,2578.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="switch.printer_outlet" transform="rotate(-179.41243,618.1117,430.6)">
|
||||
<g id="_x33_">
|
||||
|
||||
<rect id="rect4470" x="615.3" y="437.8" transform="matrix(-2.685234e-06 -1 1 -2.685234e-06 175.5519 1060.8516)" style="fill:#DFDEE0;" width="5.9" height="9.8"/>
|
||||
<path id="path4472" inkscape:connector-curvature="0" style="fill:#1E1E1E;" d="M622.3,443v-0.4h-8.1v0.4H622.3z M622.3,444.1
|
||||
v-0.4h-8.1v0.4H622.3z M622.3,442v-0.4h-8.1v0.4H622.3z M622.3,444.1v-0.4h-8.1v0.4H622.3z M622.3,443v-0.4h-8.1v0.4H622.3z
|
||||
M622.3,442v-0.4h-8.1v0.4H622.3z M622.3,440.9v-0.3h-8.1v0.4h8.1V440.9z M622.3,440.6h-8.1v0.4h8.1V440.6z M622.3,441.6h-8.1v0.4
|
||||
h8.1V441.6z M622.3,442.7h-8.1v0.4h8.1V442.7z M622.3,444.1v-0.4h-8.1v0.4H622.3z M610,439.9h1.7v2.5h1.1v3.9h10.9v-3.9h1.1v-2.5
|
||||
h1.8c0,0,1.1-2.4,1.1-5s-1.4-6-1.4-6h-2.5l-0.7,1.4h-10.2l-0.7-1.4h-2.5c0,0-1.1,3.4-1.1,6C608.5,437.4,610,439.9,610,439.9
|
||||
L610,439.9z M623,445.5h-9.5v-5.7h9.5C623,439.9,623,445.5,623,445.5z M622.3,440.6h-8.1v0.4h8.1V440.6z M622.3,441.6h-8.1v0.4
|
||||
h8.1V441.6z M622.3,442.7h-8.1v0.4h8.1V442.7z M622.3,443.7h-8.1v0.4h8.1V443.7z M622.3,444.1v-0.4h-8.1v0.4H622.3z M622.3,443
|
||||
v-0.4h-8.1v0.4H622.3z M622.3,442v-0.4h-8.1v0.4H622.3z M622.3,440.9v-0.3h-8.1v0.4h8.1V440.9z M622.3,440.9v-0.3h-8.1v0.4h8.1
|
||||
V440.9z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="switch.master_bathroom_accents">
|
||||
<path id="switch.bathroom_Accents-b-9" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M382,315.8h1.8
|
||||
c0.9,0,1.6,0.4,1.6,0.8l-0.1,33c0,0.5-0.7,0.8-1.6,0.8H382c-0.9,0-1.6-0.4-1.6-0.8l0.1-33C380.5,316.2,381.2,315.8,382,315.8z"/>
|
||||
<path id="switch.bathroom_Accents-b-9-9" inkscape:connector-curvature="0" style="fill:#BDF271;" d="M370.1,227.2h1.8
|
||||
c0.9,0,1.6,0.3,1.6,0.7l-0.1,27.9c0,0.4-0.7,0.7-1.6,0.7h-1.7c-0.9,0-1.6-0.3-1.6-0.7l0.1-27.9
|
||||
C368.6,227.5,369.3,227.2,370.1,227.2L370.1,227.2z"/>
|
||||
<path id="rect281-8" inkscape:connector-curvature="0" style="fill:#3D3B3F;" d="M946.6,383.2h40.7c3.2,0,5.7,10.6,5.7,23.9v0.1
|
||||
c0,13.1-2.6,23.9-5.7,23.9h-40.7c-3.2,0-6-10.6-6-23.9v-0.1C940.6,393.9,943.4,383.2,946.6,383.2z"/>
|
||||
</g>
|
||||
<text id="text4769" transform="matrix(1 0 0 1 844.024 422.7844)" style="fill:#BDF271; font-family:'Helvetica'; font-size:18.64px;">Bathroom</text>
|
||||
<text id="text790-7" transform="matrix(1 0 0 1 871.024 401.7844)" style="fill:#BDF271; font-family:'Helvetica'; font-size:18.64px;">Master </text>
|
||||
<g>
|
||||
<polygon id="sensor.carlojuice_charging_status" style="fill:#29D9C2;" points="754.9,144.6 760.8,144.6 755.6,153 760.8,153
|
||||
747.1,168.4 752.9,156.5 748.7,156.5 "/>
|
||||
<path id="device_tracker.juicebox" style="fill:#29D9C2;" d="M760.2,146.6l-1,1.6c2.9,1.6,4.9,4.8,4.9,8.3c0,5.3-4.3,9.6-9.6,9.6
|
||||
c-1.4,0-2.7-0.3-3.9-0.8l-1.3,1.5c1.6,0.8,3.3,1.2,5.2,1.2c6.3,0,11.5-5.1,11.5-11.5C765.9,152.3,763.6,148.5,760.2,146.6z
|
||||
M744.8,156.5c0-4.8,3.6-8.8,8.2-9.5l1-2c-6.2,0.2-11.1,5.2-11.1,11.5c0,3.9,1.9,7.3,4.8,9.4l0.8-1.7
|
||||
C746.3,162.4,744.8,159.6,744.8,156.5z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 82 KiB |
288
config/www/custom_ui/floorplan/alarm.yaml
Executable file
@@ -0,0 +1,288 @@
|
||||
name: Alarm Panel
|
||||
image: /local/custom_ui/floorplan/alarm.svg
|
||||
stylesheet: /local/custom_ui/floorplan/alarm.css
|
||||
|
||||
rules:
|
||||
- name: input_booleans
|
||||
entities:
|
||||
- input_boolean.guest_mode
|
||||
- input_boolean.good_night
|
||||
- group.kitchen_lights
|
||||
- group.living_room_lights
|
||||
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'button-on'
|
||||
- state: 'off'
|
||||
class: 'button-off'
|
||||
|
||||
- name: thermostats_temp
|
||||
entities:
|
||||
- climate.downstairs
|
||||
- climate.upstairs
|
||||
text_template: '${entity.attributes.current_temperature ? Math.ceil(entity.attributes.current_temperature) + "°": "undefined"}'
|
||||
class_template: 'return "static-temp";'
|
||||
|
||||
- name: temp_darksky
|
||||
entities:
|
||||
- sensor.dark_sky_temperature
|
||||
text_template: '${entity.state ? Math.ceil(entity.state) + "°": "undefined"}'
|
||||
class_template: 'return "static-temp";'
|
||||
|
||||
- name: temp_round
|
||||
entities:
|
||||
- sensor.downstairs_thermostat_humidity
|
||||
- sensor.upstairs_thermostat_humidity
|
||||
- sensor.dark_sky_humidity
|
||||
- sensor.carlojuice_amps
|
||||
text_template: '${entity.state ? Math.ceil(entity.state) : "undefined"}'
|
||||
class_template: 'return "static-temp";'
|
||||
|
||||
- name: text_states
|
||||
entities:
|
||||
- sensor.last_message
|
||||
text_template: '${entity.state ? entity.state.replace(/\s{3,}/g,"") : "undefined"}'
|
||||
class_template: 'return "static-text";'
|
||||
|
||||
- name: text_font_date
|
||||
entities:
|
||||
- sensor.floorplan_date
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-date";'
|
||||
|
||||
- name: text_font_time
|
||||
entities:
|
||||
- sensor.floorplan_time
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-time";'
|
||||
|
||||
- name: Alarm
|
||||
entities:
|
||||
- input_boolean.alert_mode
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'text-home'
|
||||
- state: 'off'
|
||||
class: 'text-away'
|
||||
|
||||
- name: Family
|
||||
entities:
|
||||
- device_tracker.carlo
|
||||
- device_tracker.stacey
|
||||
- device_tracker.juicebox
|
||||
text_template: '${entity.state ? entity.state.replace("not_home", "away") : "undefined"}'
|
||||
|
||||
states:
|
||||
- state: 'home'
|
||||
class: 'text-home'
|
||||
- state: 'not_home'
|
||||
class: 'text-away'
|
||||
|
||||
- name: switches
|
||||
entities:
|
||||
- switch.front_landscaping
|
||||
- switch.back_landscaping
|
||||
- switch.printer_outlet
|
||||
- switch.kitchen_accents
|
||||
- switch.master_bathroom_accents
|
||||
- switch.front_door_outlet
|
||||
- switch.foyer_outlet
|
||||
- switch.living_room_amp
|
||||
- switch.garage_outlet
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'switch-on'
|
||||
- state: 'off'
|
||||
class: 'switch-off'
|
||||
|
||||
- name: custom_switches
|
||||
entities:
|
||||
- switch.pool_deck
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'light-blue-on'
|
||||
- state: 'off'
|
||||
class: 'outdoor-light-off'
|
||||
|
||||
- name: Lights
|
||||
entities:
|
||||
- light.kids_hallway
|
||||
- light.bedroom_hallway
|
||||
- light_upstairs_hallway
|
||||
- light.m1_back_left
|
||||
- light.m1_back_right
|
||||
- light.m1_front_left
|
||||
- light.m1_front_right
|
||||
- light.m1_slider
|
||||
- light.office_lamp
|
||||
- light.den_lamp
|
||||
- light.f2
|
||||
- light.f1
|
||||
- light.s1
|
||||
- light.s2
|
||||
- light.s3
|
||||
- light.s4
|
||||
- light.d1
|
||||
- light.d2
|
||||
- light.k1
|
||||
- light.k2
|
||||
- light.k3
|
||||
- light.k4
|
||||
- light.k5
|
||||
- light.k6
|
||||
- light.sink
|
||||
- light.fridge
|
||||
- light.couch_1
|
||||
- light.tv_light
|
||||
- light.bedroom
|
||||
- light.justin_go
|
||||
- light.paige_go
|
||||
- light.garage_attic
|
||||
- light.upstairs_lamp
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'light-on'
|
||||
- state: 'off'
|
||||
class: 'light-off'
|
||||
|
||||
- name: Outdoor Lights
|
||||
entities:
|
||||
- light.p1_front_left
|
||||
- light.p1_front_right
|
||||
- light.p1_back_left
|
||||
- light.p1_back_right
|
||||
- light.outdoor_bathroom
|
||||
- light.outdoor_foyer
|
||||
- light.outdoor_sconce_1
|
||||
- light.outdoor_sconce_2
|
||||
- light.outdoor_sconce_3
|
||||
- light.led_garage_large
|
||||
- light.led_garage_small
|
||||
- light.led_outdoor_den
|
||||
- light.stone_door
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'light-on'
|
||||
- state: 'off'
|
||||
class: 'outdoor-light-off'
|
||||
|
||||
- name: Nest Protects
|
||||
entities:
|
||||
- binary_sensor.upstairs_living_room_nest_protect_online
|
||||
- binary_sensor.hallway_nest_protect_kids_hallway_online
|
||||
- binary_sensor.justins_room_nest_protect_online
|
||||
- binary_sensor.kitchen_nest_protect_online
|
||||
- binary_sensor.master_bedroom_nest_protect_online
|
||||
- binary_sensor.master_hallway_nest_protect_online
|
||||
- binary_sensor.paiges_room_nest_protect_paiges_room_online
|
||||
- binary_sensor.upstairs_bedroom_nest_protect_online
|
||||
- binary_sensor.office_nest_protect_online
|
||||
states:
|
||||
- state: 'off'
|
||||
class: 'protect-off'
|
||||
- state: 'on'
|
||||
class: 'protect-on'
|
||||
|
||||
- name: Entry Points
|
||||
entities:
|
||||
- binary_sensor.mcu1_gpio4
|
||||
- binary_sensor.mcu1_gpio5
|
||||
- binary_sensor.mcu1_gpio10
|
||||
- binary_sensor.mcu1_gpio12
|
||||
- binary_sensor.mcu1_gpio13
|
||||
- binary_sensor.mcu1_gpio14
|
||||
- binary_sensor.mcu2_gpio4
|
||||
- binary_sensor.mcu2_gpio5
|
||||
- binary_sensor.mcu2_gpio9
|
||||
- binary_sensor.mcu2_gpio10
|
||||
- binary_sensor.mcu2_gpio12
|
||||
- binary_sensor.mcu2_gpio13
|
||||
- binary_sensor.mcu2_gpio14
|
||||
- binary_sensor.mcu3_gpio4
|
||||
- binary_sensor.mcu3_gpio5
|
||||
- binary_sensor.mcu3_gpio10
|
||||
- binary_sensor.mcu3_gpio14
|
||||
- binary_sensor.kitchen_door_opened
|
||||
- binary_sensor.mcu3_light
|
||||
states:
|
||||
- state: 'off'
|
||||
class: 'window-closed'
|
||||
- state: 'on'
|
||||
class: 'window-open'
|
||||
|
||||
- name: Presence
|
||||
entities:
|
||||
- binary_sensor.sleepnumber_carlo_carlo_is_in_bed
|
||||
- binary_sensor.sleepnumber_carlo_stacey_is_in_bed
|
||||
states:
|
||||
- state: 'on'
|
||||
class: 'presence-on'
|
||||
- state: 'off'
|
||||
class: 'presence-off'
|
||||
|
||||
- name: Garage Doors
|
||||
entities:
|
||||
- cover.large_garage
|
||||
- cover.small_garage
|
||||
states:
|
||||
- state: 'closed'
|
||||
class: 'window-closed'
|
||||
- state: 'open'
|
||||
class: 'window-open'
|
||||
|
||||
- name: Juicebox
|
||||
entities:
|
||||
- sensor.carlojuice_charging_status
|
||||
states:
|
||||
- state: 'charging'
|
||||
class: 'juicebox-charging'
|
||||
- state: 'standby'
|
||||
class: 'juicebox-standby'
|
||||
- state: 'plugged'
|
||||
class: 'juicebox-plugged'
|
||||
|
||||
- name: Dark Sky Sensors
|
||||
entities:
|
||||
- sensor.dark_sky_minutely_summary
|
||||
image_template: '
|
||||
var imageName = "";
|
||||
|
||||
switch (entity.attributes.entity_picture) {
|
||||
case "/static/images/darksky/weather-sunny.svg":
|
||||
imageName = "sunny-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-night.svg":
|
||||
imageName = "night-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-partlycloudy.svg":
|
||||
imageName = "partlycloudy-day-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-cloudy.svg":
|
||||
imageName = "partlycloudy-night-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-cloudy.svg":
|
||||
imageName = "cloudy-day-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-pouring.svg":
|
||||
imageName = "thunder";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-snowy.svg":
|
||||
imageName = "snowy-day-1";
|
||||
break;
|
||||
}
|
||||
|
||||
return "/local/custom_ui/floorplan/images/weather/" + imageName + ".svg";
|
||||
'
|
||||
|
||||
- name: Camera Images
|
||||
entities:
|
||||
- camera.stone_door
|
||||
image_template: '${entity.attributes.entity_picture}'
|
||||
# image_refresh_interval: 20 # in seconds - Future options if needed.
|
32
config/www/custom_ui/floorplan/buttons/radio_on.svg
Executable file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_2_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 206.4 105.5" style="enable-background:new 0 0 206.4 105.5;" xml:space="preserve">
|
||||
<title>Radio Green</title>
|
||||
<rect width="206.4" height="105.7"/>
|
||||
<g>
|
||||
<g style="enable-background:new ;">
|
||||
<path style="fill:#BDF271;" d="M39.1,29.3h14.5c1.5,0,3,0.2,4.3,0.5c1.3,0.3,2.5,0.9,3.5,1.6c1,0.8,1.8,1.8,2.4,3s0.9,2.8,0.9,4.6
|
||||
c0,2.5-0.7,4.7-2,6.4c-1.3,1.8-3.1,2.8-5.5,3.3v0.1c1.6,0.2,2.9,0.7,3.8,1.4s1.6,1.6,2.1,2.6s0.7,2.2,0.9,3.4
|
||||
c0.1,1.2,0.2,2.5,0.2,3.7c0,0.7,0,1.5,0,2.2s0,1.4,0.1,2c0.1,0.6,0.2,1.2,0.3,1.7s0.3,1,0.6,1.3h-2.4c-0.5-0.9-0.7-1.9-0.8-3.1
|
||||
c0-1.2-0.1-2.4-0.1-3.7s0-2.5-0.1-3.8s-0.4-2.4-0.9-3.4s-1.3-1.8-2.5-2.4c-1.1-0.4-2.7-0.7-4.8-0.7H41.2v17.2h-2.1
|
||||
C39.1,67.2,39.1,29.3,39.1,29.3z M53.6,47.9c1.3,0,2.4-0.2,3.5-0.5s2-0.9,2.8-1.6c0.8-0.7,1.4-1.6,1.9-2.7
|
||||
c0.5-1.1,0.7-2.4,0.7-3.9c0-1.4-0.2-2.6-0.7-3.6s-1.1-1.8-2-2.5C59,32.5,58,32,57,31.7c-1.1-0.3-2.2-0.4-3.4-0.4H41.2v16.6H53.6z"
|
||||
/>
|
||||
<path style="fill:#BDF271;" d="M82.2,29.3h2.3l13.8,37.9H96L91.6,55H74.9l-4.4,12.2h-2.3L82.2,29.3z M90.9,53l-7.5-21.4h-0.1
|
||||
L75.6,53H90.9z"/>
|
||||
<path style="fill:#BDF271;" d="M102.8,29.3h11.4c3.1,0,5.7,0.5,7.8,1.6c2.1,1.1,3.7,2.5,5,4.2c1.2,1.8,2.1,3.8,2.6,6
|
||||
c0.5,2.3,0.8,4.6,0.8,7c0,2.7-0.3,5.2-1,7.5c-0.6,2.3-1.6,4.3-3,6c-1.3,1.7-3,3-5.1,4c-2,1-4.5,1.5-7.2,1.5h-11.3V29.3z
|
||||
M114.3,65.2c1.6,0,3.3-0.3,4.9-0.8s3.1-1.5,4.5-2.8c1.3-1.3,2.4-3,3.2-5.2s1.2-4.9,1.2-8.2c0-2.6-0.2-4.8-0.7-6.6
|
||||
s-1.1-3.4-1.9-4.6c-0.8-1.3-1.6-2.2-2.6-3c-1-0.7-2-1.3-3.1-1.7c-1.1-0.4-2.1-0.6-3.2-0.8c-1.1-0.1-2-0.2-2.9-0.2h-8.9v33.9H114.3
|
||||
z"/>
|
||||
<path style="fill:#BDF271;" d="M137.4,29.3h2.1v37.9h-2.1V29.3z"/>
|
||||
<path style="fill:#BDF271;" d="M179.3,48.3c0,2.8-0.4,5.4-1.1,7.8c-0.7,2.4-1.8,4.5-3.2,6.3s-3.1,3.2-5.2,4.2s-4.4,1.5-7,1.5
|
||||
s-4.9-0.5-7-1.5s-3.8-2.4-5.2-4.2s-2.5-3.9-3.2-6.3c-0.7-2.4-1.1-5-1.1-7.8s0.4-5.4,1.1-7.8c0.7-2.4,1.8-4.5,3.2-6.3
|
||||
s3.2-3.2,5.2-4.2c2.1-1,4.4-1.5,7-1.5s4.9,0.5,7,1.5s3.8,2.4,5.2,4.2s2.5,3.9,3.2,6.3C178.9,42.9,179.3,45.5,179.3,48.3z
|
||||
M148.3,48.3c0,2.4,0.3,4.7,1,6.9s1.6,4,2.8,5.7c1.2,1.6,2.8,2.9,4.5,3.8c1.8,1,3.8,1.4,6.1,1.4s4.3-0.5,6.1-1.4
|
||||
c1.8-1,3.3-2.2,4.5-3.8s2.2-3.5,2.8-5.7c0.7-2.2,1-4.5,1-6.9s-0.3-4.7-1-6.9s-1.6-4-2.8-5.7c-1.2-1.6-2.7-2.9-4.5-3.8
|
||||
c-1.8-1-3.8-1.4-6.1-1.4s-4.3,0.5-6.1,1.4c-1.8,1-3.3,2.2-4.5,3.8s-2.2,3.5-2.8,5.7C148.6,43.5,148.3,45.8,148.3,48.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
1
config/www/custom_ui/floorplan/buttons/school_off.svg
Executable file
After Width: | Height: | Size: 8.3 KiB |
40
config/www/custom_ui/floorplan/buttons/school_on.svg
Executable file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_2_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 206.4 105.5" style="enable-background:new 0 0 206.4 105.5;" xml:space="preserve">
|
||||
<title>Artboard 4</title>
|
||||
<rect width="206.4" height="105.5"/>
|
||||
<path style="fill:#BDF271;" d="M30.5,44.6c0-1.5-0.4-2.9-1-4.3c-0.5-1.2-1.3-2.2-2.3-3c-1-0.8-2.2-1.5-3.5-1.8
|
||||
c-1.4-0.4-2.9-0.6-4.4-0.6c-1.1,0-2.1,0.1-3.1,0.4C15,35.5,14,36,13,36.6c-1,0.6-1.8,1.5-2.4,2.5c-0.7,1.2-1,2.6-0.9,3.9
|
||||
c-0.1,1.3,0.3,2.6,1,3.7c0.7,1,1.6,1.7,2.7,2.3c1.2,0.6,2.5,1.1,3.8,1.4c1.4,0.4,2.9,0.7,4.3,1s3,0.7,4.4,1.1c1.4,0.4,2.6,1,3.8,1.8
|
||||
c1.1,0.8,2.1,1.8,2.7,3c0.7,1.4,1.1,3,1,4.6c0.1,1.7-0.3,3.5-1.2,5c-0.7,1.3-1.7,2.4-3,3.3c-1.2,0.9-2.6,1.5-4,1.8
|
||||
c-1.4,0.4-2.8,0.5-4.2,0.6c-1.9,0-3.9-0.2-5.8-0.7c-1.7-0.4-3.3-1.2-4.7-2.3c-1.4-1.1-2.4-2.6-3.2-4.2c-0.8-2-1.2-4.1-1.1-6.2h2.2
|
||||
c-0.1,1.8,0.1,3.6,0.8,5.3c0.6,1.4,1.5,2.6,2.7,3.5c1.2,0.9,2.6,1.6,4.1,2c1.6,0.4,3.3,0.6,4.9,0.6c1.1,0,2.2-0.2,3.3-0.4
|
||||
c1.2-0.3,2.3-0.8,3.3-1.4c1-0.7,1.9-1.6,2.5-2.7c0.7-1.3,1.1-2.7,1-4.1c0.1-1.4-0.3-2.7-1-3.9c-0.7-1-1.6-1.9-2.7-2.4
|
||||
c-1.2-0.7-2.5-1.2-3.8-1.5c-1.4-0.4-2.9-0.7-4.4-1s-2.9-0.7-4.3-1.1c-1.3-0.4-2.6-1-3.8-1.7c-1.1-0.7-2-1.7-2.7-2.9
|
||||
c-0.7-1.4-1.1-2.9-1-4.4c0-1.6,0.3-3.2,1.1-4.6c0.7-1.2,1.6-2.3,2.7-3.1c1.1-0.8,2.4-1.4,3.8-1.8c1.4-0.4,2.7-0.6,4.2-0.6
|
||||
c1.7,0,3.4,0.2,5.1,0.7c1.5,0.4,2.9,1.1,4.1,2.1c1.2,1,2.2,2.2,2.9,3.6c0.8,1.7,1.2,3.5,1.2,5.4H30.5z"/>
|
||||
<path style="fill:#BDF271;" d="M37.2,52.7c0-2.6,0.4-5.2,1.1-7.7c0.7-2.3,1.8-4.4,3.3-6.3c1.4-1.8,3.2-3.2,5.2-4.2
|
||||
c2.2-1.1,4.6-1.6,7-1.5c1.8,0,3.6,0.3,5.3,0.9c1.4,0.5,2.6,1.2,3.8,2.2c1,0.8,1.8,1.8,2.5,2.8c0.6,0.9,1.1,1.9,1.5,2.9
|
||||
c0.3,0.8,0.5,1.5,0.7,2.3c0.1,0.7,0.2,1,0.2,1.1h-2.1c-0.2-1.5-0.7-3-1.4-4.3c-0.7-1.2-1.6-2.3-2.7-3.2c-1.1-0.9-2.3-1.5-3.6-2
|
||||
c-1.3-0.5-2.8-0.7-4.2-0.7c-2.1,0-4.2,0.5-6.1,1.4c-1.8,0.9-3.3,2.3-4.5,3.8c-1.3,1.7-2.2,3.6-2.8,5.7c-1.3,4.5-1.3,9.3,0,13.8
|
||||
c0.6,2,1.5,4,2.8,5.7c1.2,1.6,2.8,2.9,4.5,3.8c1.9,1,4,1.5,6.1,1.4c1.7,0,3.3-0.4,4.8-1.1c1.5-0.7,2.8-1.8,3.9-3
|
||||
c1.1-1.3,2-2.8,2.7-4.4c0.7-1.6,1.1-3.4,1.2-5.1h2.1c-0.2,2.2-0.7,4.3-1.5,6.3c-0.8,1.8-1.8,3.5-3.2,5c-1.3,1.4-2.8,2.5-4.5,3.3
|
||||
c-1.7,0.8-3.5,1.2-5.4,1.2c-2.4,0-4.8-0.5-7-1.5c-2-1-3.8-2.4-5.2-4.2c-1.5-1.9-2.6-4-3.3-6.3C37.5,58.1,37.1,55.4,37.2,52.7z"/>
|
||||
<path style="fill:#BDF271;" d="M72.9,33.8H75V51h22.3V33.8h2.2v37.9h-2.2V53H75v18.7h-2.1V33.8z"/>
|
||||
<path style="fill:#BDF271;" d="M137.2,52.7c0,2.6-0.4,5.3-1.2,7.8c-0.7,2.3-1.8,4.4-3.2,6.3c-2.9,3.7-7.4,5.9-12.2,5.8
|
||||
c-2.4,0-4.8-0.5-7-1.5c-2-1-3.8-2.4-5.2-4.2c-1.5-1.9-2.6-4-3.3-6.3c-1.5-5.1-1.5-10.5,0-15.5c0.7-2.3,1.8-4.4,3.3-6.3
|
||||
c1.4-1.8,3.2-3.2,5.2-4.2c2.2-1.1,4.6-1.6,7-1.5c4.7-0.1,9.3,2,12.2,5.8c1.5,1.9,2.6,4,3.2,6.3C136.8,47.5,137.2,50.1,137.2,52.7z
|
||||
M106.2,52.7c0,2.3,0.3,4.7,1,6.9c0.6,2,1.6,4,2.8,5.6c1.2,1.6,2.8,2.9,4.5,3.8c1.9,1,4,1.5,6.1,1.4c2.1,0,4.2-0.5,6.1-1.4
|
||||
c1.8-0.9,3.3-2.3,4.5-3.8c1.3-1.7,2.2-3.6,2.8-5.7c1.3-4.5,1.3-9.3,0-13.8c-0.6-2-1.5-4-2.8-5.7c-1.2-1.6-2.8-2.9-4.5-3.8
|
||||
c-1.9-1-4-1.5-6.1-1.4c-2.1,0-4.2,0.5-6.1,1.4c-1.7,1-3.3,2.3-4.5,3.8c-1.3,1.7-2.2,3.6-2.8,5.7C106.5,48.1,106.1,50.4,106.2,52.7
|
||||
L106.2,52.7z"/>
|
||||
<path style="fill:#BDF271;" d="M173.3,52.7c0,2.6-0.4,5.3-1.1,7.8c-0.7,2.3-1.8,4.4-3.2,6.3c-2.9,3.7-7.4,5.9-12.2,5.8
|
||||
c-2.4,0-4.8-0.5-7-1.5c-2-1-3.8-2.4-5.2-4.2c-1.5-1.9-2.6-4-3.2-6.3c-1.5-5.1-1.5-10.5,0-15.5c0.7-2.3,1.8-4.4,3.2-6.3
|
||||
c1.4-1.8,3.2-3.2,5.2-4.2c6.6-3.3,14.6-1.5,19.2,4.2c1.5,1.9,2.5,4.1,3.2,6.3C173,47.5,173.4,50.1,173.3,52.7z M142.3,52.7
|
||||
c0,2.3,0.3,4.7,1,6.9c0.6,2,1.5,4,2.8,5.6c1.2,1.6,2.8,2.9,4.5,3.8c1.9,1,4,1.5,6.1,1.4c2.1,0,4.2-0.5,6.1-1.4
|
||||
c1.8-0.9,3.3-2.3,4.5-3.8c1.3-1.7,2.2-3.6,2.8-5.7c1.3-4.5,1.3-9.3,0-13.8c-0.6-2-1.5-4-2.8-5.7c-1.2-1.6-2.8-2.9-4.5-3.8
|
||||
c-1.9-1-4-1.5-6.1-1.4c-2.1,0-4.2,0.5-6.1,1.4c-1.8,0.9-3.3,2.3-4.5,3.8c-1.3,1.7-2.2,3.6-2.8,5.7C142.7,48.1,142.3,50.4,142.3,52.7
|
||||
L142.3,52.7z"/>
|
||||
<path style="fill:#BDF271;" d="M177.9,33.8h2.1v35.9h19.8v2h-21.9V33.8z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
1
config/www/custom_ui/floorplan/buttons/snooze.svg
Executable file
@@ -0,0 +1 @@
|
||||
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 206.4 105.48"><defs><style>.cls-1{fill:#e6e6e6;isolation:isolate;}</style></defs><title>Artboard 1</title><rect width="206.4" height="105.48"/><path id="text128" class="cls-1" d="M34.07,44.62a11,11,0,0,0-1-4.25,8.67,8.67,0,0,0-2.31-3,10,10,0,0,0-3.5-1.83,15.12,15.12,0,0,0-4.41-.61,14.48,14.48,0,0,0-3.15.37,9.49,9.49,0,0,0-3.13,1.3,7.45,7.45,0,0,0-2.37,2.49,7.66,7.66,0,0,0-.92,3.9,6.27,6.27,0,0,0,1,3.72A7.56,7.56,0,0,0,17,49a16.52,16.52,0,0,0,3.81,1.4c1.43.36,2.88.69,4.34,1s2.95.7,4.37,1.14a14.58,14.58,0,0,1,3.81,1.81,8.6,8.6,0,0,1,2.71,3,9.33,9.33,0,0,1,1,4.59,9.8,9.8,0,0,1-1.17,5,10.3,10.3,0,0,1-3,3.29A11.75,11.75,0,0,1,29,72a16.81,16.81,0,0,1-4.17.56,22.17,22.17,0,0,1-5.76-.72,12.53,12.53,0,0,1-4.69-2.33,11.24,11.24,0,0,1-3.15-4.17,14.72,14.72,0,0,1-1.1-6.21h2.15a11.39,11.39,0,0,0,.83,5.28A9.39,9.39,0,0,0,15.83,68a11,11,0,0,0,4.08,2,19.3,19.3,0,0,0,4.93.61,14.54,14.54,0,0,0,3.34-.42,9.81,9.81,0,0,0,3.27-1.44,8.23,8.23,0,0,0,2.49-2.65,7.84,7.84,0,0,0,1-4.14,6.85,6.85,0,0,0-1-3.9,7.7,7.7,0,0,0-2.71-2.44,16.81,16.81,0,0,0-3.81-1.49c-1.41-.37-2.87-.71-4.37-1s-2.91-.69-4.34-1.12a14.15,14.15,0,0,1-3.81-1.72,8.61,8.61,0,0,1-2.69-2.81,8.63,8.63,0,0,1-1-4.44,9.61,9.61,0,0,1,1.05-4.64A9.12,9.12,0,0,1,15,35.2a11.63,11.63,0,0,1,3.79-1.75,16.18,16.18,0,0,1,4.15-.56,18.94,18.94,0,0,1,5.1.66,11.83,11.83,0,0,1,4.15,2.08A10,10,0,0,1,35,39.26a13.74,13.74,0,0,1,1.23,5.36Zm8-10.83h2.69l22,34.76h.1V33.79H69v37.9H66.49l-22.17-35h-.1v35H42.07Zm64.7,19a26.11,26.11,0,0,1-1.13,7.77,19.27,19.27,0,0,1-3.24,6.32,15.33,15.33,0,0,1-5.2,4.22,16.66,16.66,0,0,1-14,0A15.25,15.25,0,0,1,78,66.83a19.08,19.08,0,0,1-3.24-6.32,27.28,27.28,0,0,1,0-15.54A19.08,19.08,0,0,1,78,38.65a15.25,15.25,0,0,1,5.23-4.22,16.66,16.66,0,0,1,14,0,15.33,15.33,0,0,1,5.2,4.22A19.27,19.27,0,0,1,105.64,45,26.11,26.11,0,0,1,106.77,52.74Zm-31,0a23.83,23.83,0,0,0,1,6.9,17.33,17.33,0,0,0,2.83,5.65,14,14,0,0,0,4.54,3.85,12.83,12.83,0,0,0,6.1,1.43,12.67,12.67,0,0,0,6.08-1.43,14.07,14.07,0,0,0,4.52-3.85,17.33,17.33,0,0,0,2.83-5.65,24.78,24.78,0,0,0,0-13.8,17.33,17.33,0,0,0-2.83-5.65,14.07,14.07,0,0,0-4.52-3.85,12.67,12.67,0,0,0-6.08-1.43,12.83,12.83,0,0,0-6.1,1.43,14,14,0,0,0-4.54,3.85,17.33,17.33,0,0,0-2.83,5.65A23.83,23.83,0,0,0,75.76,52.74Zm67.18,0a26.11,26.11,0,0,1-1.12,7.77,19.1,19.1,0,0,1-3.25,6.32,15.2,15.2,0,0,1-5.19,4.22,16.66,16.66,0,0,1-14,0,15.25,15.25,0,0,1-5.23-4.22,19.08,19.08,0,0,1-3.24-6.32,27.28,27.28,0,0,1,0-15.54,19.08,19.08,0,0,1,3.24-6.32,15.25,15.25,0,0,1,5.23-4.22,16.66,16.66,0,0,1,14,0,15.2,15.2,0,0,1,5.19,4.22A19.1,19.1,0,0,1,141.82,45,26.11,26.11,0,0,1,142.94,52.74Zm-31,0a23.83,23.83,0,0,0,1,6.9,17.33,17.33,0,0,0,2.83,5.65,14,14,0,0,0,4.54,3.85,12.8,12.8,0,0,0,6.1,1.43,12.67,12.67,0,0,0,6.08-1.43A14.07,14.07,0,0,0,137,65.29a17.53,17.53,0,0,0,2.83-5.65,24.78,24.78,0,0,0,0-13.8A17.53,17.53,0,0,0,137,40.19a14.07,14.07,0,0,0-4.52-3.85,12.67,12.67,0,0,0-6.08-1.43,12.8,12.8,0,0,0-6.1,1.43,14,14,0,0,0-4.54,3.85,17.33,17.33,0,0,0-2.83,5.65A23.83,23.83,0,0,0,111.94,52.74Zm32.71-19h24.46v2L145.48,69.67h24.07v2H143.24v-2l23.53-33.86H144.65Zm27.93,0H196v2H174.73V51h20v2h-20V69.67h21.53v2H172.58Z"/></svg>
|
After Width: | Height: | Size: 3.1 KiB |
1
config/www/custom_ui/floorplan/buttons/snooze_on.svg
Executable file
@@ -0,0 +1 @@
|
||||
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 206.4 105.48"><defs><style>.cls-1{fill:#00adee;}.cls-2{fill:#26b7ed;}.cls-3{fill:#4dc0eb;}.cls-4{fill:#73caea;}.cls-5{fill:#99d3e9;}.cls-6{fill:#c0dce7;}.cls-7{fill:#e6e6e6;}</style></defs><title>Artboard 3</title><rect width="206.4" height="105.48"/><path class="cls-1" d="M15.06,33.84H39.45v2L15.88,69.62h24v2H13.64v-2L37.11,35.86h-22Z"/><path class="cls-2" d="M53.78,33.84H75v1.75L54.5,65H75.37V66.7H52.55V65L73,35.59H53.78Z"/><path class="cls-3" d="M92.5,33.84h18v1.49l-17.41,25h17.74v1.49H91.45V60.28l17.34-25H92.5Z"/><path class="cls-4" d="M121.22,33.84h14.84v1.23L121.72,55.61h14.6v1.22h-16V55.61l14.27-20.54H121.22Z"/><path class="cls-5" d="M149.94,33.84h11.65v1L150.33,50.94H161.8v1H149.26v-1l11.22-16.13H149.94Z"/><path class="cls-6" d="M170.66,33.84h8.47v.7l-8.19,11.73h8.34V47h-9.11v-.69l8.15-11.73h-7.66Z"/><path class="cls-7" d="M187.38,33.84h5.28v.44l-5.1,7.31h5.2V42h-5.69v-.44l5.09-7.31h-4.78Z"/></svg>
|
After Width: | Height: | Size: 1005 B |
32
config/www/custom_ui/floorplan/buttons/stop.svg
Executable file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_2_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 206.4 105.5" style="enable-background:new 0 0 206.4 105.5;" xml:space="preserve">
|
||||
<title>Stop Red</title>
|
||||
<rect y="-0.8" width="206.4" height="105.5"/>
|
||||
<g>
|
||||
<path style="fill:#E7376B;stroke:#E7376B;stroke-width:2;stroke-miterlimit:10;" d="M68.5,39.2c-0.1-1.6-0.4-3.1-1-4.3
|
||||
s-1.3-2.2-2.3-3s-2.1-1.4-3.5-1.8s-2.8-0.6-4.4-0.6c-1,0-2,0.1-3.1,0.4C53,30.1,52,30.5,51,31.1s-1.8,1.5-2.4,2.5
|
||||
c-0.6,1-0.9,2.4-0.9,3.9s0.3,2.8,1,3.7c0.7,1,1.6,1.7,2.7,2.3c1.1,0.6,2.4,1.1,3.8,1.4c1.4,0.4,2.9,0.7,4.3,1
|
||||
c1.5,0.3,3,0.7,4.4,1.1c1.4,0.4,2.7,1,3.8,1.8s2,1.8,2.7,3s1,2.8,1,4.6c0,2-0.4,3.7-1.2,5c-0.8,1.3-1.8,2.4-3,3.3
|
||||
c-1.2,0.9-2.5,1.5-4,1.8c-1.4,0.4-2.8,0.6-4.2,0.6c-2.1,0-4-0.2-5.8-0.7s-3.4-1.3-4.7-2.3c-1.3-1.1-2.4-2.5-3.1-4.2
|
||||
c-0.8-1.7-1.1-3.8-1.1-6.2h2.1c-0.1,2.1,0.2,3.9,0.8,5.3c0.7,1.4,1.6,2.6,2.7,3.5c1.2,0.9,2.5,1.6,4.1,2s3.2,0.6,4.9,0.6
|
||||
c1,0,2.2-0.1,3.3-0.4c1.2-0.3,2.3-0.8,3.3-1.4c1-0.7,1.8-1.6,2.5-2.7c0.7-1.1,1-2.5,1-4.2c0-1.6-0.3-2.9-1-3.9s-1.6-1.8-2.7-2.4
|
||||
c-1.1-0.6-2.4-1.1-3.8-1.5c-1.4-0.4-2.9-0.7-4.4-1s-2.9-0.7-4.3-1.1s-2.7-1-3.8-1.7s-2-1.7-2.7-2.8c-0.7-1.2-1-2.6-1-4.4
|
||||
c0-1.8,0.3-3.4,1-4.7s1.6-2.3,2.7-3.1c1.1-0.8,2.4-1.4,3.8-1.8c1.4-0.4,2.8-0.6,4.1-0.6c1.8,0,3.5,0.2,5.1,0.7
|
||||
c1.6,0.4,3,1.1,4.1,2.1c1.2,0.9,2.1,2.2,2.9,3.6c0.7,1.5,1.1,3.3,1.2,5.4C70.2,39.2,68.5,39.2,68.5,39.2z"/>
|
||||
<path style="fill:#E7376B;stroke:#E7376B;stroke-width:2;stroke-miterlimit:10;" d="M71.6,30.3v-2h26.7v2H86v36h-2.1v-36
|
||||
C83.9,30.3,71.6,30.3,71.6,30.3z"/>
|
||||
<path style="fill:#E7376B;stroke:#E7376B;stroke-width:2;stroke-miterlimit:10;" d="M130.3,47.3c0,2.8-0.4,5.4-1.1,7.8
|
||||
c-0.7,2.4-1.8,4.5-3.2,6.3s-3.1,3.2-5.2,4.2s-4.4,1.5-7,1.5s-4.9-0.5-7-1.5s-3.8-2.4-5.2-4.2s-2.5-3.9-3.2-6.3
|
||||
c-0.7-2.4-1.1-5-1.1-7.8s0.4-5.4,1.1-7.8c0.7-2.4,1.8-4.5,3.2-6.3c1.4-1.8,3.2-3.2,5.2-4.2c2.1-1,4.4-1.5,7-1.5s4.9,0.5,7,1.5
|
||||
s3.8,2.4,5.2,4.2c1.4,1.8,2.5,3.9,3.2,6.3C129.9,42,130.3,44.6,130.3,47.3z M99.3,47.3c0,2.4,0.3,4.8,1,6.9
|
||||
c0.7,2.2,1.6,4.1,2.8,5.7c1.2,1.6,2.8,2.9,4.5,3.9s3.8,1.4,6.1,1.4c2.3,0,4.3-0.5,6.1-1.4c1.8-1,3.3-2.2,4.5-3.9
|
||||
c1.2-1.6,2.2-3.5,2.8-5.7c0.7-2.2,1-4.5,1-6.9s-0.3-4.8-1-6.9c-0.7-2.2-1.6-4.1-2.8-5.7c-1.2-1.6-2.7-2.9-4.5-3.9s-3.8-1.4-6.1-1.4
|
||||
c-2.3,0-4.3,0.5-6.1,1.4s-3.3,2.2-4.5,3.9c-1.2,1.6-2.2,3.5-2.8,5.7C99.6,42.6,99.3,44.9,99.3,47.3z"/>
|
||||
<path style="fill:#E7376B;stroke:#E7376B;stroke-width:2;stroke-miterlimit:10;" d="M134.9,28.3h14.8c1,0,2.1,0.1,3.2,0.4
|
||||
c1.2,0.2,2.3,0.8,3.3,1.5c1,0.8,1.9,1.8,2.6,3.2c0.7,1.4,1,3.2,1,5.5c0,3.3-0.9,5.9-2.8,7.7c-1.9,1.8-4.6,2.7-8.1,2.7H137v16.9
|
||||
h-2.1V28.3z M137,47.4h12.3c1.6,0,2.9-0.3,4-0.8s2-1.2,2.6-2c0.7-0.8,1.1-1.7,1.4-2.7c0.3-1,0.4-2,0.4-3c0-0.7-0.1-1.6-0.3-2.5
|
||||
c-0.2-1-0.6-1.9-1.2-2.8c-0.6-0.9-1.4-1.7-2.5-2.3c-1.1-0.6-2.5-0.9-4.2-0.9H137V47.4z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
166
config/www/custom_ui/floorplan/clock.css
Executable file
@@ -0,0 +1,166 @@
|
||||
/* @import url('https://fonts.googleapis.com/css?family=Black+Ops+One');
|
||||
|
||||
SVG shapes */
|
||||
|
||||
svg, svg * {
|
||||
vector-effect: non-scaling-stroke !important;
|
||||
pointer-events: all !important;
|
||||
}
|
||||
/*
|
||||
/* Hover over */
|
||||
|
||||
.entity:hover:not(.static-text):not(.static-temp):not(.static-text-date):not(.static-text-time) {
|
||||
stroke: #03A9F4 !important;
|
||||
stroke-width: 1px !important;
|
||||
stroke-opacity: 1 !important;
|
||||
}
|
||||
|
||||
|
||||
.warning-background, .warning-text-background {
|
||||
fill: #fcf8e3 !important;
|
||||
fill-opacity: 1 !important;
|
||||
stroke: #faebcc !important;
|
||||
stroke-width: 1px !important;
|
||||
}
|
||||
|
||||
.static-text
|
||||
{
|
||||
font-size : 47px !important;
|
||||
font-family : Helvetica !important;
|
||||
color : rgb(128, 128, 128) !important;
|
||||
}
|
||||
|
||||
.static-text-date
|
||||
{
|
||||
font-family : Helvetica !important;
|
||||
font-size : 47px !important;
|
||||
color : rgb(128, 128, 128) !important;
|
||||
}
|
||||
|
||||
.static-temp
|
||||
{
|
||||
font-size: 47.57px !important;
|
||||
font-family: Helvetica !important;
|
||||
fill: rgb(128, 128, 128) !important;
|
||||
}
|
||||
|
||||
.static-text-time
|
||||
{
|
||||
font-family: "Rockwell Extra Bold", "Rockwell Bold", monospace !important;
|
||||
font-size : 280px !important;
|
||||
color : rgb(0, 173, 238) !important;
|
||||
text-shadow: 0 0 30px #00adee;
|
||||
text-align: center; !important;
|
||||
}
|
||||
|
||||
.static-text-am_pm
|
||||
{
|
||||
font-family: "Rockwell Extra Bold", "Rockwell Bold", monospace !important;
|
||||
font-size : 60px !important;
|
||||
color : rgb(0, 173, 238) !important;
|
||||
text-shadow: 0 0 30px #00adee;
|
||||
}
|
||||
|
||||
|
||||
/* Last motion entity */
|
||||
|
||||
.last-motion {
|
||||
stroke: #808080 !important;
|
||||
stroke-width: 1px !important;
|
||||
stroke-opacity: 1 !important;
|
||||
}
|
||||
|
||||
/* Presence */
|
||||
.presence-on {
|
||||
fill: #BDF271 !important;
|
||||
}
|
||||
|
||||
.presence-off {
|
||||
fill: #3D3B3F !important;
|
||||
}
|
||||
|
||||
/* Text Home/Away */
|
||||
|
||||
.text-home {
|
||||
fill: #BDF271 !important;
|
||||
}
|
||||
|
||||
.text-away {
|
||||
fill: #E7376B !important;
|
||||
}
|
||||
|
||||
/* switches */
|
||||
|
||||
.switch-on {
|
||||
fill: orange !important;
|
||||
}
|
||||
|
||||
.switch-on-blue {
|
||||
fill: blue !important;
|
||||
}
|
||||
|
||||
.switch-off {
|
||||
fill: #cccccc !important;
|
||||
}
|
||||
/* Buttons */
|
||||
|
||||
.button-on {
|
||||
fill: #FFFFA6 !important;
|
||||
fill-opacity: 0.25;
|
||||
}
|
||||
|
||||
.button-off {
|
||||
fill: #3D3B3F !important;
|
||||
fill-opacity: 0.5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Light */
|
||||
|
||||
.light-off {
|
||||
fill: #231F26 !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: black !important;
|
||||
stroke-width: 1;
|
||||
stroke-opacity:0.1;
|
||||
}
|
||||
.light-off:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(2);
|
||||
}
|
||||
|
||||
.outdoor-light-off {
|
||||
fill: grey !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: black !important;
|
||||
stroke-width: 1;
|
||||
stroke-opacity:0.1;
|
||||
}
|
||||
.outdoor-light-off:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(2);
|
||||
}
|
||||
.light-blue-on {
|
||||
fill: blue !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: #FFFFA6 !important;
|
||||
stroke-width: 10;
|
||||
stroke-opacity: 0.25;
|
||||
}
|
||||
.light-blue-on:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(3);
|
||||
}
|
||||
|
||||
.light-on {
|
||||
fill: yellow !important;
|
||||
fill-opacity: 1.0;
|
||||
stroke: #FFFFA6 !important;
|
||||
stroke-width: 10;
|
||||
stroke-opacity: 0.25;
|
||||
}
|
||||
.light-on:hover {
|
||||
transform-origin: center;
|
||||
transform: scale(3);
|
||||
}
|
200
config/www/custom_ui/floorplan/clock.svg
Executable file
@@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1"
|
||||
id="clock_layer" inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" sodipodi:docname="clock.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1024 600"
|
||||
style="enable-background:new 0 0 1024 600;" xml:space="preserve">
|
||||
<pattern y="600" width="5" height="5" patternUnits="userSpaceOnUse" id="rect57_1_" viewBox="0 -5 5 5" style="overflow:visible;">
|
||||
<g>
|
||||
<rect y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<g>
|
||||
<rect y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<g>
|
||||
<rect y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<rect id="rect43_2_" y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<path id="SVGID_1_" d="M4.9-3C4.9-3,4.8-3,4.9-3H4.3v-1.7c0-0.1,0-0.1-0.1-0.1H0.8c-0.1,0-0.1,0-0.1,0.1V-3H0.2
|
||||
c0,0-0.1,0-0.1,0.1l0,0c0,0,0,0,0,0.1l0,0l2.3,2.2c0.1,0.1,0.1,0.1,0.2,0l1.1-1.1l0.1-0.1v0.2c0,0.1,0,0.1,0.1,0.1h0.3
|
||||
c0.1,0,0.1,0,0.1-0.1v-0.7v-0.1c0.2-0.1,0.3-0.3,0.4-0.4v-0.1C4.8-2.9,4.9-2.9,4.9-3z"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<g id="g47_2_" style="clip-path:url(#SVGID_2_);">
|
||||
|
||||
<radialGradient id="rect45_3_" cx="-83566.7813" cy="-97872.6094" r="4.43" gradientTransform="matrix(0.56 0 0 0.56 46707.2891 54684.4805)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" style="stop-color:#17426C"/>
|
||||
<stop offset="1" style="stop-color:#050F1A"/>
|
||||
</radialGradient>
|
||||
<rect id="rect45_2_" y="-5" style="fill:url(#rect45_3_);" width="4.9" height="4.9"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path id="path367_2_" style="fill:#19476D;" d="M3.6-3.2c0.1,0,0.2,0.1,0.2,0.2l0,0c0,0.1-0.1,0.2-0.2,0.2l0,0
|
||||
C3.5-2.8,3.4-2.9,3.4-3l0,0l0,0C3.4-3.1,3.5-3.2,3.6-3.2z M1.4-3.2c0.1,0,0.2,0.1,0.2,0.2l0,0l0,0c0,0.1-0.1,0.2-0.2,0.2
|
||||
S1.2-2.9,1.2-3S1.3-3.2,1.4-3.2L1.4-3.2z M2.3-4.1L1.6-3.4C1.4-3.5,1.1-3.4,1-3.2s0,0.5,0.2,0.6c0.1,0.1,0.3,0.1,0.5,0
|
||||
c0.1,0,0.2-0.1,0.2-0.2c0-0.1,0-0.3,0-0.4l0.4-0.5v1.5C2.1-2.1,2-1.9,2-1.8s0,0.3,0.1,0.4c0.2,0.2,0.5,0.2,0.7,0l0,0l0,0
|
||||
C2.9-1.4,3-1.6,3-1.7C3-1.9,2.9-2,2.7-2.1c0-0.4,0-1.5,0-1.5l0.4,0.5c0,0.1,0.1,0.4,0.3,0.5s0.5,0,0.6-0.2
|
||||
c0.1-0.1,0.1-0.3,0-0.4C3.9-3.4,3.7-3.5,3.4-3.4L2.7-4.1v-0.6H2.3V-4.1z M2.7-1.7c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2
|
||||
l0,0c0-0.1,0.1-0.2,0.2-0.2C2.6-1.9,2.7-1.8,2.7-1.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</pattern>
|
||||
<g id="BG" inkscape:label="#BG1">
|
||||
<rect id="rect55" y="-0.5" width="1024" height="600.5"/>
|
||||
<pattern id="rect57_2_" xlink:href="#rect57_1_" patternTransform="matrix(1 0 0 -1 -3 -33192)">
|
||||
</pattern>
|
||||
<rect id="rect57" y="-0.5" style="fill:url(#rect57_2_);" width="1024" height="600"/>
|
||||
|
||||
<radialGradient id="rect40_2_" cx="422.59" cy="1980.11" r="468.26" gradientTransform="matrix(1 0 0 0.5 0 -695.07)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" style="stop-color:#000000;stop-opacity:0"/>
|
||||
<stop offset="0.191" style="stop-color:#000000;stop-opacity:0"/>
|
||||
<stop offset="0.4815" style="stop-color:#000000;stop-opacity:0"/>
|
||||
<stop offset="1" style="stop-color:#000000"/>
|
||||
</radialGradient>
|
||||
<rect id="rect40_1_" style="fill:url(#rect40_2_);" width="1024" height="600"/>
|
||||
</g>
|
||||
<text id="sensor.clock_time" inkscape:label="#text92" transform="matrix(0.8191 0 0 1 65.1748 383.8574)" style="fill:#00ADEE;enable-background:new ; font-family:'Helvetica'; font-size:290.3859px;">10:36</text>
|
||||
<text id="sensor.clock_day" transform="matrix(1.2003 0 0 1 18.3418 520.5859)" style="fill:#808080; font-family:'Helvetica'; font-size:47px;">NedNesDay</text>
|
||||
<text id="sensor.clock_date" inkscape:label="#text99" transform="matrix(1.2003 0 0 1 18.3418 583.3311)" style="fill:#808080;enable-background:new ; font-family:'Helvetica'; font-size:47px;">November 33</text>
|
||||
<g id="right_side_layout">
|
||||
|
||||
<line id="edge_doorbell_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="121.1" x2="1009.6" y2="121.1"/>
|
||||
|
||||
<line id="edge_snooze_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="115.1" x2="1009.6" y2="115.1"/>
|
||||
<line id="edge_snooze_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="8.1" x2="1009.6" y2="8.1"/>
|
||||
|
||||
<line id="edge_doorbell_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="228.1" x2="1009.6" y2="228.1"/>
|
||||
<line id="edge_doppler_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="234" x2="1009.6" y2="234"/>
|
||||
|
||||
<line id="edge_doppler_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="341" x2="1009.6" y2="341"/>
|
||||
<line id="edge_radio_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="818.7" y1="469" x2="1008.7" y2="469"/>
|
||||
<line id="edge_radio_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="818.7" y1="556" x2="1008.7" y2="556"/>
|
||||
</g>
|
||||
<text id="sensor.clock_am_pm" transform="matrix(0.8191 0 0 1 692.0439 150.0801)" style="fill:#00ADEE; font-family:'Helvetica'; font-size:50px;">XX</text>
|
||||
<rect id="camera.stone_door" x="819.6" y="122.1" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<rect id="sensor.dark_sky_minutely_summary_icon" x="23.3" y="15" inkscape:label="#rect395" style="fill:#666666;" width="70.5" height="62.2">
|
||||
</rect>
|
||||
<rect id="input_boolean.school_mode" x="819.6" y="235" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<text id="climate.downstairs" inkscape:label="#text136" transform="matrix(1 0 0 1 736.5502 530.4459)" style="fill:#808080;enable-background:new ; font-family:'ArialMT'; font-size:47.57px;">72</text>
|
||||
<text id="climate.upstairs" inkscape:label="#text136" transform="matrix(1 0 0 1 736.5506 586.0173)" style="fill:#808080;enable-background:new ; font-family:'ArialMT'; font-size:47.57px;">72</text>
|
||||
<text id="first_floor" inkscape:label="#text136" transform="matrix(0.92 0 0 1 552.4951 529.1865)" style="fill:#808080;enable-background:new ; font-family:'Helvetica'; font-size:48px;">1st Floor</text>
|
||||
<text id="second_floor" inkscape:label="#text136" transform="matrix(0.92 0 0 1 552.4951 586.0176)" style="fill:#808080;enable-background:new ; font-family:'Helvetica'; font-size:48px;">2ndFloor</text>
|
||||
<rect id="media_player.alarm_clock" x="818.6" y="470.2" inkscape:label="#rect140" style="fill:#333333;" width="190" height="83.8">
|
||||
</rect>
|
||||
<rect id="input_boolean.clock_snooze" x="819.1" y="9.2" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<text id="sensor.dark_sky_minutely_summary" transform="matrix(1 0 0 1 188.8361 58.1703)" style="fill:#808080; font-family:'Helvetica'; font-size:48px;">Hell Fire for the next 2 hours</text>
|
||||
<text id="sensor.dark_sky_temperature" transform="matrix(1 0 0 1 112.8211 58.1696)" style="fill:#808080; font-family:'Helvetica'; font-size:48px;">72</text>
|
||||
<g>
|
||||
<g id="powered_by_2_">
|
||||
<g id="powered_by-2_2_">
|
||||
<g id="text857_2_">
|
||||
<path style="fill:#00ADEE;" d="M852.4,582c-0.3-0.9-1-1.7-1.8-2.3c-0.8-0.5-1.8-0.8-2.8-0.8c-0.7,0-1.4,0.1-2.1,0.5
|
||||
c-0.6,0.4-1.1,0.8-1.5,1.4v-1.7h-1.9v1.1h-9.7c-0.1-0.9-0.9-1.6-1.8-1.6c-1,0-1.9,0.8-1.9,1.9s0.8,1.9,1.9,1.9
|
||||
c1,0,1.8-0.8,1.9-1.7h9.7v7.8h-6.8c-0.1-1-0.9-1.7-1.8-1.7c-1,0-1.9,0.8-1.9,1.9c0,1,0.8,1.9,1.9,1.9c0.9,0,1.7-0.7,1.8-1.6h6.8
|
||||
v7.4h2.1v-6.1c0.4,0.5,0.8,0.9,1.4,1.2c0.6,0.2,1.3,0.4,1.9,0.4c0.9,0,1.9-0.3,2.7-0.8c0.9-0.5,1.6-1.3,2-2.3
|
||||
c0.4-1.1,0.6-2.3,0.6-3.5C853,584.2,852.8,583.1,852.4,582z M830.8,582c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C832.2,581.4,831.5,582,830.8,582z M833.6,590.2c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C835.1,589.5,834.4,590.2,833.6,590.2z M850,589.2L850,589.2c-0.6,0.8-1.5,1.2-2.4,1.2
|
||||
c-0.9,0-1.8-0.4-2.3-1.2c-0.8-1-1.1-2.3-1.1-3.6c-0.1-1.3,0.2-2.6,1.1-3.6c0.6-0.8,1.5-1.2,2.4-1.3c0.9,0,1.8,0.4,2.3,1.2
|
||||
c0.7,1,1.1,2.3,1.1,3.6C851.1,586.8,850.7,588.1,850,589.2z"/>
|
||||
<path id="path1976_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M865,580.6c-1.1-1.1-2.6-1.7-4.2-1.7
|
||||
c-1.5,0-2.9,0.5-4,1.4c-1.4,1.3-2.1,3.2-1.9,5.1c-0.1,1.8,0.5,3.6,1.8,4.9c1.1,1.2,2.6,1.8,4.2,1.7c1,0,2-0.3,2.9-0.8
|
||||
c0.9-0.5,1.6-1.3,2.1-2.2c0.6-1.2,0.8-2.5,0.8-3.8C866.7,583.5,866.1,581.9,865,580.6L865,580.6z M863.3,589
|
||||
c-0.6,0.8-1.6,1.2-2.6,1.2c-1,0.1-2-0.4-2.7-1.2c-0.7-1-1.1-2.3-1.1-3.6c-0.1-1.2,0.3-2.5,1.1-3.5c0.7-0.7,1.7-1.2,2.7-1.2
|
||||
c1,0,1.9,0.4,2.6,1.2c0.7,1,1.1,2.2,1.1,3.5C864.4,586.7,864,588,863.3,589L863.3,589z"/>
|
||||
<path id="path1978_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M871.4,591.7l-3.8-12.4h2.2l1.9,7.2l0.8,2.7
|
||||
c0-0.1,0.3-1.1,0.6-2.6l1.9-7.3h2.2l1.9,7.2l0.6,2.4l0.8-2.4l2.2-7.2h2l-3.8,12.4h-2.2l-1.9-7.4l-0.5-2.2l-2.6,9.6L871.4,591.7z
|
||||
"/>
|
||||
<path id="path1980_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M897.2,585.2c0.1-1.7-0.4-3.4-1.5-4.7
|
||||
c-1.1-1.1-2.6-1.7-4.1-1.7c-1.6,0-3.1,0.6-4.2,1.8c-1.2,1.3-1.8,3.1-1.7,4.9c-0.1,1.7,0.4,3.4,1.5,4.7c1.1,1.2,2.7,1.8,4.3,1.7
|
||||
c1.3,0,2.5-0.4,3.6-1.1c0.9-0.7,1.6-1.8,1.9-2.9l-2.2-0.3c-0.2,0.8-0.7,1.4-1.4,1.8c-0.6,0.4-1.2,0.6-1.9,0.6
|
||||
c-1,0-1.9-0.4-2.6-1.2c-0.7-0.9-1.1-2-1.2-3.2h9.3L897.2,585.2z M888,584.3c0-1,0.4-1.9,1.2-2.6c0.6-0.7,1.5-1.1,2.4-1.1
|
||||
c1,0,1.9,0.5,2.6,1.3c0.5,0.7,0.7,1.5,0.8,2.3L888,584.3z"/>
|
||||
<path id="path1982_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M899.8,591.7v-12.4h1.9v1.8
|
||||
c0.3-0.7,0.8-1.3,1.3-1.8c0.4-0.3,0.9-0.4,1.4-0.4c0.8,0,1.5,0.3,2.2,0.6l-0.8,1.9c-0.5-0.2-1-0.4-1.5-0.4
|
||||
c-0.5,0-0.9,0.1-1.3,0.4c-0.4,0.3-0.7,0.7-0.8,1.2c-0.3,0.8-0.4,1.6-0.4,2.4v6.5h-2.1V591.7z"/>
|
||||
<path id="path1984_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M918.6,585.2c0.1-1.7-0.4-3.4-1.5-4.7
|
||||
c-1.1-1.1-2.5-1.7-4.1-1.7c-1.6-0.1-3.2,0.6-4.2,1.8c-1.2,1.3-1.8,3.1-1.7,4.9c-0.1,1.7,0.4,3.4,1.5,4.7
|
||||
c1.1,1.2,2.7,1.8,4.4,1.7c1.3,0,2.5-0.4,3.6-1.1c0.9-0.7,1.6-1.8,1.9-2.9l-2.2-0.3c-0.2,0.8-0.7,1.4-1.4,1.8
|
||||
c-0.5,0.4-1.2,0.7-1.9,0.6c-1,0-1.9-0.4-2.6-1.2c-0.7-0.9-1.1-2-1.2-3.2h9.3V585.2z M909.4,584.3c0-1,0.4-1.9,1.2-2.6
|
||||
c0.6-0.7,1.5-1.1,2.4-1.1c1,0,1.9,0.5,2.6,1.3c0.4,0.7,0.7,1.5,0.8,2.3L909.4,584.3z"/>
|
||||
<path id="path1986_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M929.2,574.7v6.1c-0.3-0.6-0.8-1-1.4-1.3
|
||||
c-0.6-0.4-1.3-0.5-2.1-0.5c-1,0-2,0.3-2.8,0.8c-0.9,0.5-1.5,1.3-1.8,2.3c-0.4,1.1-0.7,2.2-0.6,3.3c0,1.1,0.2,2.3,0.6,3.3
|
||||
c0.4,0.9,1.1,1.8,1.9,2.3c0.8,0.5,1.7,0.8,2.7,0.8c1.4,0.1,2.7-0.6,3.5-1.8v1.8h2.1v-17.1H929.2z M928.3,589
|
||||
c-1.4,1.7-5.8,2.6-5.8-3.6c-0.1-1.3,0.3-2.6,1.1-3.6c0.5-0.7,1.4-1.1,2.3-1.2c0.9,0,1.9,0.4,2.4,1.2c0.8,1.1,1.1,2.4,1.1,3.7
|
||||
C929.5,586.8,929.1,588,928.3,589L928.3,589z"/>
|
||||
<path id="path1988_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M951.6,582.8c-0.3-0.7-0.6-1.4-1.1-2.1
|
||||
c-0.4-0.6-1-1-1.7-1.3c-0.6-0.4-1.4-0.5-2.1-0.5c-1.4,0-2.6,0.6-3.5,1.7v-6.1h-2.1v17.3h1.9v-1.4c0.8,1.1,2.1,1.8,3.5,1.8
|
||||
c1.5,0,2.9-0.7,3.8-1.8c1.1-1.4,1.7-3.2,1.5-5C952,584.4,951.9,583.6,951.6,582.8L951.6,582.8z M948.9,589
|
||||
c-0.6,0.7-1.5,1.1-2.4,1.2c-1.1,0-2.1-0.7-2.7-1.7c-0.5-1-0.7-2.1-0.6-3.2c-0.1-1.2,0.3-2.5,1.1-3.5c0.6-0.7,1.5-1.1,2.4-1.2
|
||||
c0.9,0,1.7,0.4,2.3,1.2c0.8,1,1.1,2.3,1.1,3.6C950,586.7,949.7,588,948.9,589z"/>
|
||||
<path id="path1990_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M954.4,596.4l-0.3-1.9
|
||||
c0.4,0.1,0.8,0.1,1.2,0.1c0.4,0,0.8-0.1,1.2-0.3c0.3-0.2,0.5-0.4,0.6-0.6c0.3-0.5,0.5-1,0.6-1.5c0-0.1,0.1-0.3,0.1-0.5
|
||||
l-4.7-12.4h2.3l2.6,7.2c0.4,1,0.7,1.9,0.9,2.9c0.2-1,0.5-1.9,0.9-2.8l2.7-7.3h2l-4.7,12.7c-0.3,1-0.7,1.9-1.1,2.8
|
||||
c-0.3,0.6-0.8,1.1-1.3,1.5c-0.5,0.4-1.1,0.6-1.8,0.5C955.4,596.7,955,596.7,954.4,596.4L954.4,596.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#00ADEE;" d="M825.8,581.4c-1,0-1.8,0.8-1.8,1.7h-5.1v0.4h5.1c0.1,0.9,0.9,1.6,1.8,1.6c1,0,1.9-0.8,1.9-1.9
|
||||
C827.7,582.2,826.8,581.4,825.8,581.4z M825.8,584.6c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4s1.4,0.6,1.4,1.4
|
||||
C827.2,584,826.6,584.6,825.8,584.6z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#00ADEE;" d="M837.8,591c-1,0-1.7,0.7-1.8,1.6h-6.6l-1.9-1.9h-8.5v0.4h8.4l1.9,1.9h6.8c0.1,0.9,0.9,1.6,1.8,1.6
|
||||
c1,0,1.9-0.8,1.9-1.9C839.6,591.8,838.8,591,837.8,591z M837.8,594.3c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C839.2,593.6,838.6,594.3,837.8,594.3z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#00ADEE;" d="M837.8,582.8c-1,0-1.8,0.7-1.8,1.7h-5.5l-3.3,3.5h-8.5v0.4h8.7l3.3-3.5h5.3
|
||||
c0.1,0.9,0.9,1.6,1.8,1.6c1,0,1.9-0.8,1.9-1.9C839.6,583.6,838.8,582.8,837.8,582.8z M837.8,586.1c-0.8,0-1.4-0.6-1.4-1.4
|
||||
c0-0.8,0.6-1.4,1.4-1.4c0.8,0,1.4,0.6,1.4,1.4C839.2,585.4,838.6,586.1,837.8,586.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#FFF2DF;" d="M1008,577.8c0,0.3-0.3,0.7-0.7,0.7h-3.3v11.7c0,0.6-0.5,1-1,1h-24.8c-0.6,0-1-0.5-1-1v-11.7h-3.3
|
||||
c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5c0-0.2,0.1-0.3,0.2-0.5l16.7-16.7c0.3-0.3,0.7-0.3,0.9,0l8.7,8.7v-1.7
|
||||
c0-0.3,0.3-0.6,0.6-0.6h2.8c0.3,0,0.6,0.3,0.6,0.6v5.1c0,0.1-0.1,0.3-0.1,0.4l4.2,4.2C1007.9,577.4,1008,577.6,1008,577.8z"/>
|
||||
<path style="fill:#00ADEE;" d="M999.5,582.7c-0.5,0-0.9,0.3-1.1,0.8h-3.9l2.6-2.5v-2.6l1.8-1.7c0.2,0.1,0.4,0.2,0.6,0.2
|
||||
c0.6,0,1.2-0.5,1.2-1.2c0-0.6-0.5-1.2-1.2-1.2s-1.2,0.5-1.2,1.2c0,0.2,0,0.3,0.1,0.4l-1.3,1.2v-3.9c0.5-0.2,0.8-0.6,0.8-1.1
|
||||
c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v3.9l-1.2-1.2c0.1-0.2,0.1-0.3,0.1-0.5
|
||||
c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.2,0,0.4,0,0.5-0.1l1.8,1.7v2.3l-2.4,2.3l-0.1-1.8
|
||||
c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1l0.1,2.5l-2.3,2.2v-12.5l2-2
|
||||
c0.1,0,0.3,0.1,0.4,0.1c0.6,0,1.2-0.5,1.2-1.2c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.2,0.1,0.4,0.2,0.6l-1.8,1.8
|
||||
l-1.7-1.8c0.1-0.2,0.1-0.3,0.1-0.5c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.2,0,0.4,0,0.5-0.1
|
||||
l1.9,2v8.7l-3.2-3.1v-2.5c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v1.7
|
||||
l-2.6-2.5v-2.4c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v2.7l2.9,2.8h-1.9
|
||||
c-0.2-0.5-0.6-0.8-1.1-0.8c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.5,0,0.9-0.3,1.1-0.8h2.7l3.6,3.5v6.7l-1.9-1.9v-2.5
|
||||
c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v1.8l-3.1-3.1
|
||||
c0-0.1,0.1-0.3,0.1-0.4c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.2,0,0.4-0.1,0.6-0.2l3.1,3h-1.9
|
||||
c-0.2-0.5-0.6-0.8-1.1-0.8c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.5,0,0.9-0.3,1.1-0.8h2.6l2.8,2.8l3-2.8h2.5
|
||||
c0.1,0.5,0.6,0.9,1.1,0.9c0.6,0,1.2-0.5,1.2-1.2c0-0.6-0.5-1.2-1.2-1.2c-0.5,0-0.9,0.3-1.1,0.7h-2.9l-2.4,2.2v-3l2.8-2.7h4.6
|
||||
c0.2,0.5,0.6,0.8,1.1,0.8c0.6,0,1.2-0.5,1.2-1.2C1000.6,583.2,1000.1,582.7,999.5,582.7z M999.5,575.1c0.3,0,0.6,0.3,0.6,0.6
|
||||
c0,0.3-0.3,0.6-0.6,0.6s-0.6-0.3-0.6-0.6C998.9,575.4,999.2,575.1,999.5,575.1z M994.1,576.2c-0.3,0-0.6-0.3-0.6-0.6
|
||||
c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6C994.6,576,994.4,576.2,994.1,576.2z M996.2,572.3c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6
|
||||
s-0.3,0.6-0.6,0.6S996.2,572.6,996.2,572.3z M993,580c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6S993,580.3,993,580z
|
||||
M987.2,570.4c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6C987.5,570.9,987.2,570.7,987.2,570.4z M986.1,575.5
|
||||
c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6S986.1,575.8,986.1,575.5z M982.7,572.3c0-0.3,0.3-0.6,0.6-0.6
|
||||
s0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6S982.7,572.6,982.7,572.3z M982.8,579.9c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6
|
||||
c0.3,0,0.6,0.3,0.6,0.6S983.1,579.9,982.8,579.9z M987.3,584.3c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6
|
||||
S987.3,584.7,987.3,584.3z M984,588.7c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6S984.3,588.7,984,588.7z
|
||||
M997.2,587.6c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6s-0.6-0.3-0.6-0.6C996.7,587.9,996.9,587.6,997.2,587.6z M993.4,569.8
|
||||
c0.3,0,0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6s-0.6-0.3-0.6-0.6S993,569.8,993.4,569.8z M983.3,584.3c-0.3,0-0.6-0.3-0.6-0.6
|
||||
s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6S983.6,584.3,983.3,584.3z M999.5,584.4c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6
|
||||
S999.8,584.4,999.5,584.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
<line id="edge_snooze_bottom_1_" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="820.1" y1="454.6" x2="1010.1" y2="454.6"/>
|
||||
<line id="edge_snooze_top_1_" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="820.1" y1="347.6" x2="1010.1" y2="347.6"/>
|
||||
<text id="sensor.clock_stacey_alarm_time" transform="matrix(1 0 0 1 839.0565 420.321)" style="fill:#00ADEE; font-family:'Helvetica'; font-size:59.6445px;">00:00</text>
|
||||
<rect id="floorplan.clock_button" x="820.1" y="348.6" inkscape:label="#rect140" style="opacity:2.000000e-02;fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
</svg>
|
After Width: | Height: | Size: 17 KiB |
148
config/www/custom_ui/floorplan/clock.yaml
Executable file
@@ -0,0 +1,148 @@
|
||||
page_id: clock
|
||||
image: /local/custom_ui/floorplan/clock.svg
|
||||
stylesheet: /local/custom_ui/floorplan/clock.css
|
||||
|
||||
variables:
|
||||
- name: floorplan.hours
|
||||
- name: floorplan.minutes
|
||||
|
||||
defaults:
|
||||
hover_over: false
|
||||
more_info: false
|
||||
|
||||
rules:
|
||||
|
||||
- element: floorplan.clock_button
|
||||
action:
|
||||
service: floorplan.page_navigate
|
||||
data:
|
||||
page_id: clock_config
|
||||
|
||||
- entity: sensor.clock_stacey_alarm_time
|
||||
text_template: '${entity.state ? entity.state.slice(0, 5) : "00:00"}'
|
||||
|
||||
|
||||
- entity: input_boolean.clock_snooze
|
||||
image_template: '/local/custom_ui/floorplan/buttons/${(entity.state === "on") ? "snooze_on" : "snooze"}.svg'
|
||||
action:
|
||||
service: input_boolean.toggle
|
||||
data:
|
||||
entity_id: input_boolean.clock_snooze
|
||||
|
||||
- entity: input_boolean.school_mode
|
||||
image_template: '/local/custom_ui/floorplan/buttons/${(entity.state === "on") ? "school_on" : "school_off"}.svg'
|
||||
action:
|
||||
service: input_boolean.toggle
|
||||
data:
|
||||
entity_id: input_boolean.school_mode
|
||||
|
||||
- entity: media_player.alarm_clock
|
||||
image_template: '/local/custom_ui/floorplan/buttons/${(entity.state === "playing") ? "stop" : "radio_on"}.svg'
|
||||
action:
|
||||
service_template: '${(entity.state === "playing") ? "media_player.media_stop" : "media_player.play_media"}'
|
||||
data:
|
||||
media_content_id: http://listen.djcmedia.com:80/americascountryhigh
|
||||
media_content_type: audio/mp4
|
||||
|
||||
- name: thermostats_temp
|
||||
entities:
|
||||
- climate.downstairs
|
||||
- climate.upstairs
|
||||
text_template: '${entity.attributes.current_temperature ? Math.ceil(entity.attributes.current_temperature) + "°": "undefined"}'
|
||||
class_template: 'return "static-temp";'
|
||||
|
||||
- name: temp_darksky
|
||||
entities:
|
||||
- sensor.dark_sky_temperature
|
||||
text_template: '${entity.state ? Math.ceil(entity.state) + "°": "undefined"}'
|
||||
class_template: 'return "static-temp";'
|
||||
|
||||
- name: text_states
|
||||
entities:
|
||||
- sensor.dark_sky_minutely_summary
|
||||
hover_over: false
|
||||
more_info: false
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text";'
|
||||
|
||||
- name: text_font_date
|
||||
entities:
|
||||
- sensor.clock_date
|
||||
- sensor.clock_day
|
||||
hover_over: false
|
||||
more_info: false
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-date";'
|
||||
|
||||
- name: text_font_time
|
||||
entities:
|
||||
- sensor.clock_time
|
||||
hover_over: false
|
||||
more_info: false
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-time";'
|
||||
|
||||
- name: text_font_am_pm
|
||||
entities:
|
||||
- sensor.clock_am_pm
|
||||
hover_over: false
|
||||
more_info: false
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-am_pm";'
|
||||
|
||||
|
||||
# - name: Presence
|
||||
# entities:
|
||||
# - binary_sensor.sleepnumber_carlo_carlo_is_in_bed
|
||||
# - binary_sensor.sleepnumber_carlo_stacey_is_in_bed
|
||||
# states:
|
||||
# - state: 'on'
|
||||
# class: 'presence-on'
|
||||
# - state: 'off'
|
||||
# class: 'presence-off'
|
||||
|
||||
- name: Dark Sky Sensors
|
||||
entities:
|
||||
- entity: sensor.dark_sky_minutely_summary
|
||||
element: sensor.dark_sky_minutely_summary_icon
|
||||
|
||||
image_template: '
|
||||
var imageName = "";
|
||||
|
||||
switch (entity.attributes.entity_picture) {
|
||||
case "/static/images/darksky/weather-sunny.svg":
|
||||
imageName = "sunny-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-night.svg":
|
||||
imageName = "night-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-partlycloudy.svg":
|
||||
imageName = "partlycloudy-day-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-cloudy.svg":
|
||||
imageName = "partlycloudy-night-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-cloudy.svg":
|
||||
imageName = "cloudy-day-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-pouring.svg":
|
||||
imageName = "thunder";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-snowy.svg":
|
||||
imageName = "snowy-day-1";
|
||||
break;
|
||||
}
|
||||
|
||||
return "/local/custom_ui/floorplan/images/weather/" + imageName + ".svg";
|
||||
'
|
||||
|
||||
- name: Camera Images
|
||||
entities:
|
||||
- camera.stone_door
|
||||
image_template: '${entity.attributes.entity_picture}'
|
219
config/www/custom_ui/floorplan/clock_config.svg
Executable file
@@ -0,0 +1,219 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1"
|
||||
id="clock_layer" inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" sodipodi:docname="clock.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1024 600"
|
||||
style="enable-background:new 0 0 1024 600;" xml:space="preserve">
|
||||
<pattern y="600" width="5" height="5" patternUnits="userSpaceOnUse" id="rect57_1_" viewBox="0 -5 5 5" style="overflow:visible;">
|
||||
<g>
|
||||
<rect y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<g>
|
||||
<rect y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<g>
|
||||
<rect y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<rect id="rect43_2_" y="-5" style="fill:none;" width="5" height="5"/>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<path id="SVGID_1_" d="M4.9-3C4.9-3,4.8-3,4.9-3H4.3v-1.7c0-0.1,0-0.1-0.1-0.1H0.8c-0.1,0-0.1,0-0.1,0.1V-3H0.2
|
||||
c0,0-0.1,0-0.1,0.1l0,0c0,0,0,0,0,0.1l0,0l2.3,2.2c0.1,0.1,0.1,0.1,0.2,0l1.1-1.1l0.1-0.1v0.2c0,0.1,0,0.1,0.1,0.1h0.3
|
||||
c0.1,0,0.1,0,0.1-0.1v-0.7v-0.1c0.2-0.1,0.3-0.3,0.4-0.4v-0.1C4.8-2.9,4.9-2.9,4.9-3z"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<g id="g47_2_" style="clip-path:url(#SVGID_2_);">
|
||||
|
||||
<radialGradient id="rect45_3_" cx="-83566.7813" cy="-97872.6094" r="4.43" gradientTransform="matrix(0.56 0 0 0.56 46707.2891 54684.4805)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" style="stop-color:#17426C"/>
|
||||
<stop offset="1" style="stop-color:#050F1A"/>
|
||||
</radialGradient>
|
||||
<rect id="rect45_2_" y="-5" style="fill:url(#rect45_3_);" width="4.9" height="4.9"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path id="path367_2_" style="fill:#19476D;" d="M3.6-3.2c0.1,0,0.2,0.1,0.2,0.2l0,0c0,0.1-0.1,0.2-0.2,0.2l0,0
|
||||
C3.5-2.8,3.4-2.9,3.4-3l0,0l0,0C3.4-3.1,3.5-3.2,3.6-3.2z M1.4-3.2c0.1,0,0.2,0.1,0.2,0.2l0,0l0,0c0,0.1-0.1,0.2-0.2,0.2
|
||||
S1.2-2.9,1.2-3S1.3-3.2,1.4-3.2L1.4-3.2z M2.3-4.1L1.6-3.4C1.4-3.5,1.1-3.4,1-3.2s0,0.5,0.2,0.6c0.1,0.1,0.3,0.1,0.5,0
|
||||
c0.1,0,0.2-0.1,0.2-0.2c0-0.1,0-0.3,0-0.4l0.4-0.5v1.5C2.1-2.1,2-1.9,2-1.8s0,0.3,0.1,0.4c0.2,0.2,0.5,0.2,0.7,0l0,0l0,0
|
||||
C2.9-1.4,3-1.6,3-1.7C3-1.9,2.9-2,2.7-2.1c0-0.4,0-1.5,0-1.5l0.4,0.5c0,0.1,0.1,0.4,0.3,0.5s0.5,0,0.6-0.2
|
||||
c0.1-0.1,0.1-0.3,0-0.4C3.9-3.4,3.7-3.5,3.4-3.4L2.7-4.1v-0.6H2.3V-4.1z M2.7-1.7c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2
|
||||
l0,0c0-0.1,0.1-0.2,0.2-0.2C2.6-1.9,2.7-1.8,2.7-1.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</pattern>
|
||||
<g id="BG" inkscape:label="#BG1">
|
||||
<rect id="rect55" y="-0.5" width="1024" height="600.5"/>
|
||||
<pattern id="rect57_2_" xlink:href="#rect57_1_" patternTransform="matrix(1 0 0 -1 -3 -33192)">
|
||||
</pattern>
|
||||
<rect id="rect57" y="-0.5" style="fill:url(#rect57_2_);" width="1024" height="600"/>
|
||||
|
||||
<radialGradient id="rect40_2_" cx="422.59" cy="1980.11" r="468.26" gradientTransform="matrix(1 0 0 0.5 0 -695.07)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" style="stop-color:#000000;stop-opacity:0"/>
|
||||
<stop offset="0.191" style="stop-color:#000000;stop-opacity:0"/>
|
||||
<stop offset="0.4815" style="stop-color:#000000;stop-opacity:0"/>
|
||||
<stop offset="1" style="stop-color:#000000"/>
|
||||
</radialGradient>
|
||||
<rect id="rect40_1_" style="fill:url(#rect40_2_);" width="1024" height="600"/>
|
||||
</g>
|
||||
<g id="right_side_layout">
|
||||
|
||||
<line id="edge_doorbell_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="121.1" x2="1009.6" y2="121.1"/>
|
||||
|
||||
<line id="edge_snooze_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="115.1" x2="1009.6" y2="115.1"/>
|
||||
<line id="edge_snooze_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="8.1" x2="1009.6" y2="8.1"/>
|
||||
|
||||
<line id="edge_doorbell_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="228.1" x2="1009.6" y2="228.1"/>
|
||||
<line id="edge_doppler_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="234" x2="1009.6" y2="234"/>
|
||||
|
||||
<line id="edge_doppler_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="819.6" y1="341" x2="1009.6" y2="341"/>
|
||||
<line id="edge_radio_top" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="818.7" y1="469" x2="1008.7" y2="469"/>
|
||||
<line id="edge_radio_bottom" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="818.7" y1="556" x2="1008.7" y2="556"/>
|
||||
</g>
|
||||
<rect id="camera.stone_door" x="819.6" y="122.1" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<rect id="sensor.dark_sky_minutely_summary_icon" x="23.3" y="15" inkscape:label="#rect395" style="fill:#666666;" width="70.5" height="62.2">
|
||||
</rect>
|
||||
<rect id="input_boolean.school_mode" x="819.6" y="235" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<rect id="media_player.alarm_clock" x="818.6" y="470.2" inkscape:label="#rect140" style="fill:#333333;" width="190" height="83.8">
|
||||
</rect>
|
||||
<rect id="input_boolean.clock_snooze" x="819.1" y="9.2" inkscape:label="#rect140" style="fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
<text id="sensor.dark_sky_minutely_summary" transform="matrix(1 0 0 1 188.8361 58.1703)" style="fill:#808080; font-family:'Helvetica'; font-size:48px;">Hell Fire for the next 2 hours</text>
|
||||
<text id="sensor.dark_sky_temperature" transform="matrix(1 0 0 1 112.8211 58.1696)" style="fill:#808080; font-family:'Helvetica'; font-size:48px;">72</text>
|
||||
<g>
|
||||
<g id="powered_by_2_">
|
||||
<g id="powered_by-2_2_">
|
||||
<g id="text857_2_">
|
||||
<path style="fill:#00ADEE;" d="M852.4,582c-0.3-0.9-1-1.7-1.8-2.3c-0.8-0.5-1.8-0.8-2.8-0.8c-0.7,0-1.4,0.1-2.1,0.5
|
||||
c-0.6,0.4-1.1,0.8-1.5,1.4v-1.7h-1.9v1.1h-9.7c-0.1-0.9-0.9-1.6-1.8-1.6c-1,0-1.9,0.8-1.9,1.9s0.8,1.9,1.9,1.9
|
||||
c1,0,1.8-0.8,1.9-1.7h9.7v7.8h-6.8c-0.1-1-0.9-1.7-1.8-1.7c-1,0-1.9,0.8-1.9,1.9c0,1,0.8,1.9,1.9,1.9c0.9,0,1.7-0.7,1.8-1.6h6.8
|
||||
v7.4h2.1v-6.1c0.4,0.5,0.8,0.9,1.4,1.2c0.6,0.2,1.3,0.4,1.9,0.4c0.9,0,1.9-0.3,2.7-0.8c0.9-0.5,1.6-1.3,2-2.3
|
||||
c0.4-1.1,0.6-2.3,0.6-3.5C853,584.2,852.8,583.1,852.4,582z M830.8,582c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C832.2,581.4,831.5,582,830.8,582z M833.6,590.2c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C835.1,589.5,834.4,590.2,833.6,590.2z M850,589.2L850,589.2c-0.6,0.8-1.5,1.2-2.4,1.2
|
||||
c-0.9,0-1.8-0.4-2.3-1.2c-0.8-1-1.1-2.3-1.1-3.6c-0.1-1.3,0.2-2.6,1.1-3.6c0.6-0.8,1.5-1.2,2.4-1.3c0.9,0,1.8,0.4,2.3,1.2
|
||||
c0.7,1,1.1,2.3,1.1,3.6C851.1,586.8,850.7,588.1,850,589.2z"/>
|
||||
<path id="path1976_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M865,580.6c-1.1-1.1-2.6-1.7-4.2-1.7
|
||||
c-1.5,0-2.9,0.5-4,1.4c-1.4,1.3-2.1,3.2-1.9,5.1c-0.1,1.8,0.5,3.6,1.8,4.9c1.1,1.2,2.6,1.8,4.2,1.7c1,0,2-0.3,2.9-0.8
|
||||
c0.9-0.5,1.6-1.3,2.1-2.2c0.6-1.2,0.8-2.5,0.8-3.8C866.7,583.5,866.1,581.9,865,580.6L865,580.6z M863.3,589
|
||||
c-0.6,0.8-1.6,1.2-2.6,1.2c-1,0.1-2-0.4-2.7-1.2c-0.7-1-1.1-2.3-1.1-3.6c-0.1-1.2,0.3-2.5,1.1-3.5c0.7-0.7,1.7-1.2,2.7-1.2
|
||||
c1,0,1.9,0.4,2.6,1.2c0.7,1,1.1,2.2,1.1,3.5C864.4,586.7,864,588,863.3,589L863.3,589z"/>
|
||||
<path id="path1978_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M871.4,591.7l-3.8-12.4h2.2l1.9,7.2l0.8,2.7
|
||||
c0-0.1,0.3-1.1,0.6-2.6l1.9-7.3h2.2l1.9,7.2l0.6,2.4l0.8-2.4l2.2-7.2h2l-3.8,12.4h-2.2l-1.9-7.4l-0.5-2.2l-2.6,9.6L871.4,591.7z
|
||||
"/>
|
||||
<path id="path1980_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M897.2,585.2c0.1-1.7-0.4-3.4-1.5-4.7
|
||||
c-1.1-1.1-2.6-1.7-4.1-1.7c-1.6,0-3.1,0.6-4.2,1.8c-1.2,1.3-1.8,3.1-1.7,4.9c-0.1,1.7,0.4,3.4,1.5,4.7c1.1,1.2,2.7,1.8,4.3,1.7
|
||||
c1.3,0,2.5-0.4,3.6-1.1c0.9-0.7,1.6-1.8,1.9-2.9l-2.2-0.3c-0.2,0.8-0.7,1.4-1.4,1.8c-0.6,0.4-1.2,0.6-1.9,0.6
|
||||
c-1,0-1.9-0.4-2.6-1.2c-0.7-0.9-1.1-2-1.2-3.2h9.3L897.2,585.2z M888,584.3c0-1,0.4-1.9,1.2-2.6c0.6-0.7,1.5-1.1,2.4-1.1
|
||||
c1,0,1.9,0.5,2.6,1.3c0.5,0.7,0.7,1.5,0.8,2.3L888,584.3z"/>
|
||||
<path id="path1982_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M899.8,591.7v-12.4h1.9v1.8
|
||||
c0.3-0.7,0.8-1.3,1.3-1.8c0.4-0.3,0.9-0.4,1.4-0.4c0.8,0,1.5,0.3,2.2,0.6l-0.8,1.9c-0.5-0.2-1-0.4-1.5-0.4
|
||||
c-0.5,0-0.9,0.1-1.3,0.4c-0.4,0.3-0.7,0.7-0.8,1.2c-0.3,0.8-0.4,1.6-0.4,2.4v6.5h-2.1V591.7z"/>
|
||||
<path id="path1984_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M918.6,585.2c0.1-1.7-0.4-3.4-1.5-4.7
|
||||
c-1.1-1.1-2.5-1.7-4.1-1.7c-1.6-0.1-3.2,0.6-4.2,1.8c-1.2,1.3-1.8,3.1-1.7,4.9c-0.1,1.7,0.4,3.4,1.5,4.7
|
||||
c1.1,1.2,2.7,1.8,4.4,1.7c1.3,0,2.5-0.4,3.6-1.1c0.9-0.7,1.6-1.8,1.9-2.9l-2.2-0.3c-0.2,0.8-0.7,1.4-1.4,1.8
|
||||
c-0.5,0.4-1.2,0.7-1.9,0.6c-1,0-1.9-0.4-2.6-1.2c-0.7-0.9-1.1-2-1.2-3.2h9.3V585.2z M909.4,584.3c0-1,0.4-1.9,1.2-2.6
|
||||
c0.6-0.7,1.5-1.1,2.4-1.1c1,0,1.9,0.5,2.6,1.3c0.4,0.7,0.7,1.5,0.8,2.3L909.4,584.3z"/>
|
||||
<path id="path1986_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M929.2,574.7v6.1c-0.3-0.6-0.8-1-1.4-1.3
|
||||
c-0.6-0.4-1.3-0.5-2.1-0.5c-1,0-2,0.3-2.8,0.8c-0.9,0.5-1.5,1.3-1.8,2.3c-0.4,1.1-0.7,2.2-0.6,3.3c0,1.1,0.2,2.3,0.6,3.3
|
||||
c0.4,0.9,1.1,1.8,1.9,2.3c0.8,0.5,1.7,0.8,2.7,0.8c1.4,0.1,2.7-0.6,3.5-1.8v1.8h2.1v-17.1H929.2z M928.3,589
|
||||
c-1.4,1.7-5.8,2.6-5.8-3.6c-0.1-1.3,0.3-2.6,1.1-3.6c0.5-0.7,1.4-1.1,2.3-1.2c0.9,0,1.9,0.4,2.4,1.2c0.8,1.1,1.1,2.4,1.1,3.7
|
||||
C929.5,586.8,929.1,588,928.3,589L928.3,589z"/>
|
||||
<path id="path1988_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M951.6,582.8c-0.3-0.7-0.6-1.4-1.1-2.1
|
||||
c-0.4-0.6-1-1-1.7-1.3c-0.6-0.4-1.4-0.5-2.1-0.5c-1.4,0-2.6,0.6-3.5,1.7v-6.1h-2.1v17.3h1.9v-1.4c0.8,1.1,2.1,1.8,3.5,1.8
|
||||
c1.5,0,2.9-0.7,3.8-1.8c1.1-1.4,1.7-3.2,1.5-5C952,584.4,951.9,583.6,951.6,582.8L951.6,582.8z M948.9,589
|
||||
c-0.6,0.7-1.5,1.1-2.4,1.2c-1.1,0-2.1-0.7-2.7-1.7c-0.5-1-0.7-2.1-0.6-3.2c-0.1-1.2,0.3-2.5,1.1-3.5c0.6-0.7,1.5-1.1,2.4-1.2
|
||||
c0.9,0,1.7,0.4,2.3,1.2c0.8,1,1.1,2.3,1.1,3.6C950,586.7,949.7,588,948.9,589z"/>
|
||||
<path id="path1990_2_" inkscape:connector-curvature="0" style="fill:#00ADEE;" d="M954.4,596.4l-0.3-1.9
|
||||
c0.4,0.1,0.8,0.1,1.2,0.1c0.4,0,0.8-0.1,1.2-0.3c0.3-0.2,0.5-0.4,0.6-0.6c0.3-0.5,0.5-1,0.6-1.5c0-0.1,0.1-0.3,0.1-0.5
|
||||
l-4.7-12.4h2.3l2.6,7.2c0.4,1,0.7,1.9,0.9,2.9c0.2-1,0.5-1.9,0.9-2.8l2.7-7.3h2l-4.7,12.7c-0.3,1-0.7,1.9-1.1,2.8
|
||||
c-0.3,0.6-0.8,1.1-1.3,1.5c-0.5,0.4-1.1,0.6-1.8,0.5C955.4,596.7,955,596.7,954.4,596.4L954.4,596.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#00ADEE;" d="M825.8,581.4c-1,0-1.8,0.8-1.8,1.7h-5.1v0.4h5.1c0.1,0.9,0.9,1.6,1.8,1.6c1,0,1.9-0.8,1.9-1.9
|
||||
C827.7,582.2,826.8,581.4,825.8,581.4z M825.8,584.6c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4s1.4,0.6,1.4,1.4
|
||||
C827.2,584,826.6,584.6,825.8,584.6z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#00ADEE;" d="M837.8,591c-1,0-1.7,0.7-1.8,1.6h-6.6l-1.9-1.9h-8.5v0.4h8.4l1.9,1.9h6.8c0.1,0.9,0.9,1.6,1.8,1.6
|
||||
c1,0,1.9-0.8,1.9-1.9C839.6,591.8,838.8,591,837.8,591z M837.8,594.3c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4
|
||||
c0.8,0,1.4,0.6,1.4,1.4C839.2,593.6,838.6,594.3,837.8,594.3z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#00ADEE;" d="M837.8,582.8c-1,0-1.8,0.7-1.8,1.7h-5.5l-3.3,3.5h-8.5v0.4h8.7l3.3-3.5h5.3
|
||||
c0.1,0.9,0.9,1.6,1.8,1.6c1,0,1.9-0.8,1.9-1.9C839.6,583.6,838.8,582.8,837.8,582.8z M837.8,586.1c-0.8,0-1.4-0.6-1.4-1.4
|
||||
c0-0.8,0.6-1.4,1.4-1.4c0.8,0,1.4,0.6,1.4,1.4C839.2,585.4,838.6,586.1,837.8,586.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#FFF2DF;" d="M1008,577.8c0,0.3-0.3,0.7-0.7,0.7h-3.3v11.7c0,0.6-0.5,1-1,1h-24.8c-0.6,0-1-0.5-1-1v-11.7h-3.3
|
||||
c-0.2,0-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.3-0.2-0.5c0-0.2,0.1-0.3,0.2-0.5l16.7-16.7c0.3-0.3,0.7-0.3,0.9,0l8.7,8.7v-1.7
|
||||
c0-0.3,0.3-0.6,0.6-0.6h2.8c0.3,0,0.6,0.3,0.6,0.6v5.1c0,0.1-0.1,0.3-0.1,0.4l4.2,4.2C1007.9,577.4,1008,577.6,1008,577.8z"/>
|
||||
<path style="fill:#00ADEE;" d="M999.5,582.7c-0.5,0-0.9,0.3-1.1,0.8h-3.9l2.6-2.5v-2.6l1.8-1.7c0.2,0.1,0.4,0.2,0.6,0.2
|
||||
c0.6,0,1.2-0.5,1.2-1.2c0-0.6-0.5-1.2-1.2-1.2s-1.2,0.5-1.2,1.2c0,0.2,0,0.3,0.1,0.4l-1.3,1.2v-3.9c0.5-0.2,0.8-0.6,0.8-1.1
|
||||
c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v3.9l-1.2-1.2c0.1-0.2,0.1-0.3,0.1-0.5
|
||||
c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.2,0,0.4,0,0.5-0.1l1.8,1.7v2.3l-2.4,2.3l-0.1-1.8
|
||||
c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1l0.1,2.5l-2.3,2.2v-12.5l2-2
|
||||
c0.1,0,0.3,0.1,0.4,0.1c0.6,0,1.2-0.5,1.2-1.2c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.2,0.1,0.4,0.2,0.6l-1.8,1.8
|
||||
l-1.7-1.8c0.1-0.2,0.1-0.3,0.1-0.5c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.2,0,0.4,0,0.5-0.1
|
||||
l1.9,2v8.7l-3.2-3.1v-2.5c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v1.7
|
||||
l-2.6-2.5v-2.4c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v2.7l2.9,2.8h-1.9
|
||||
c-0.2-0.5-0.6-0.8-1.1-0.8c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.5,0,0.9-0.3,1.1-0.8h2.7l3.6,3.5v6.7l-1.9-1.9v-2.5
|
||||
c0.5-0.2,0.8-0.6,0.8-1.1c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.5,0.3,0.9,0.8,1.1v1.8l-3.1-3.1
|
||||
c0-0.1,0.1-0.3,0.1-0.4c0-0.6-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.2,0,0.4-0.1,0.6-0.2l3.1,3h-1.9
|
||||
c-0.2-0.5-0.6-0.8-1.1-0.8c-0.6,0-1.2,0.5-1.2,1.2c0,0.6,0.5,1.2,1.2,1.2c0.5,0,0.9-0.3,1.1-0.8h2.6l2.8,2.8l3-2.8h2.5
|
||||
c0.1,0.5,0.6,0.9,1.1,0.9c0.6,0,1.2-0.5,1.2-1.2c0-0.6-0.5-1.2-1.2-1.2c-0.5,0-0.9,0.3-1.1,0.7h-2.9l-2.4,2.2v-3l2.8-2.7h4.6
|
||||
c0.2,0.5,0.6,0.8,1.1,0.8c0.6,0,1.2-0.5,1.2-1.2C1000.6,583.2,1000.1,582.7,999.5,582.7z M999.5,575.1c0.3,0,0.6,0.3,0.6,0.6
|
||||
c0,0.3-0.3,0.6-0.6,0.6s-0.6-0.3-0.6-0.6C998.9,575.4,999.2,575.1,999.5,575.1z M994.1,576.2c-0.3,0-0.6-0.3-0.6-0.6
|
||||
c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6C994.6,576,994.4,576.2,994.1,576.2z M996.2,572.3c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6
|
||||
s-0.3,0.6-0.6,0.6S996.2,572.6,996.2,572.3z M993,580c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6S993,580.3,993,580z
|
||||
M987.2,570.4c0-0.3,0.3-0.6,0.6-0.6c0.3,0,0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6C987.5,570.9,987.2,570.7,987.2,570.4z M986.1,575.5
|
||||
c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6S986.1,575.8,986.1,575.5z M982.7,572.3c0-0.3,0.3-0.6,0.6-0.6
|
||||
s0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6S982.7,572.6,982.7,572.3z M982.8,579.9c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6
|
||||
c0.3,0,0.6,0.3,0.6,0.6S983.1,579.9,982.8,579.9z M987.3,584.3c0-0.3,0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6
|
||||
S987.3,584.7,987.3,584.3z M984,588.7c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6S984.3,588.7,984,588.7z
|
||||
M997.2,587.6c0.3,0,0.6,0.3,0.6,0.6c0,0.3-0.3,0.6-0.6,0.6s-0.6-0.3-0.6-0.6C996.7,587.9,996.9,587.6,997.2,587.6z M993.4,569.8
|
||||
c0.3,0,0.6,0.3,0.6,0.6s-0.3,0.6-0.6,0.6s-0.6-0.3-0.6-0.6S993,569.8,993.4,569.8z M983.3,584.3c-0.3,0-0.6-0.3-0.6-0.6
|
||||
s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6S983.6,584.3,983.3,584.3z M999.5,584.4c-0.3,0-0.6-0.3-0.6-0.6s0.3-0.6,0.6-0.6s0.6,0.3,0.6,0.6
|
||||
S999.8,584.4,999.5,584.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
<line id="edge_snooze_bottom_1_" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="820.1" y1="454.6" x2="1010.1" y2="454.6"/>
|
||||
<line id="edge_snooze_top_1_" style="fill:none;stroke:#FFFFFF;stroke-miterlimit:10;" x1="820.1" y1="347.6" x2="1010.1" y2="347.6"/>
|
||||
<g id="floorplan.hours">
|
||||
<text transform="matrix(1 0 0 1 133.7388 344.7773)" style="fill:#00ADEE; font-family:'Helvetica'; font-size:215.1912px;">00</text>
|
||||
</g>
|
||||
<g id="floorplan.minutes">
|
||||
<text transform="matrix(1 0 0 1 430.9023 344.7764)" style="fill:#00ADEE; font-family:'Helvetica'; font-size:215.1912px;">00</text>
|
||||
</g>
|
||||
<g>
|
||||
<text transform="matrix(1 0 0 1 374.9932 327)" style="fill:#00ADEE; font-family:'Helvetica'; font-size:202.3689px;">:</text>
|
||||
</g>
|
||||
<path id="input_number.alarm_time_hours_up" inkscape:connector-curvature="0" inkscape:label="input_number.alarm_time_hours_up" style="fill:#62BB46;" d="
|
||||
M122.1,246.1l-0.6-0.6L76,198.8c-1.8-1.8-4.1-2.3-6.4-2.3c-2.3,0-4.7,1.2-6.4,2.3l-45.5,46.7l-0.6,0.6c-0.6,0.6-1.2,1.8-1.2,2.3
|
||||
c0,2.3,2.3,4.7,5.8,4.7l0,0h96.3l0,0c2.9,0,5.8-2.3,5.8-4.7C122.7,247.8,122.7,246.7,122.1,246.1L122.1,246.1z"/>
|
||||
<path id="input_number.alarm_time_hours_down" inkscape:connector-curvature="0" inkscape:label="input_number.alarm_time_hours_down" style="fill:#6ABD45;" d="
|
||||
M17.7,299.5l0.6,0.6l45.5,46.7c1.8,1.8,4.1,2.3,6.4,2.3c2.3,0,4.7-1.2,6.4-2.3l45.5-46.7l0.6-0.6c0.6-0.6,1.2-1.8,1.2-2.3
|
||||
c0-2.3-2.3-4.7-5.8-4.7l0,0H21.7l0,0c-2.9,0-5.8,2.3-5.8,4.7C16.5,297.8,17.1,298.4,17.7,299.5L17.7,299.5z"/>
|
||||
<path id="input_number.alarm_time_minutes_up" inkscape:connector-curvature="0" inkscape:label="input_number.alarm_time_minutes_up" style="fill:#6ABD45;" d="
|
||||
M794.4,246.1l-0.6-0.6l-45.5-46.7c-1.8-1.8-4.1-2.3-6.4-2.3c-2.3,0-4.7,1.2-6.4,2.3l-45.5,46.7l-0.6,0.6c-0.6,0.6-1.2,1.8-1.2,2.3
|
||||
c0,2.3,2.3,4.7,5.8,4.7l0,0h95.7l0,0c2.9,0,5.8-2.3,5.8-4.7C795.6,247.8,795,246.7,794.4,246.1L794.4,246.1z"/>
|
||||
<path id="input_number.alarm_time_minutes_down" inkscape:connector-curvature="0" inkscape:label="input_number.alarm_time_minutes_down" style="fill:#6ABD45;" d="
|
||||
M689.6,299.5l0.6,0.6l45.5,46.7c1.8,1.8,4.1,2.3,6.4,2.3s4.7-1.2,6.4-2.3l45.5-46.7l0.6-0.6c0.6-0.6,1.2-1.8,1.2-2.3
|
||||
c0-2.3-2.3-4.7-5.8-4.7l0,0h-96.3l0,0c-2.9,0-5.8,2.3-5.8,4.7C688.5,298.4,689.1,299,689.6,299.5L689.6,299.5z"/>
|
||||
<g id="floorplan.save_alarm_time_button" transform="translate(33.628717,-21.952464)" inkscape:label="input_datetime.alarm_time_set">
|
||||
<rect id="rect4595_1_" x="287" y="465.7" width="160.5" height="60.9"/>
|
||||
<text transform="matrix(1 0 0 1 334.6866 505.3866)" style="fill:#FFFFFF; font-family:'Helvetica'; font-size:28.5181px;">Save</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 334.6866 505.3866)" style="fill:none;stroke:#000000;stroke-width:0.265; font-family:'Helvetica'; font-size:28.5181px;">Save</text>
|
||||
</g>
|
||||
<text id="sensor.clock_stacey_alarm_time" transform="matrix(1 0 0 1 840.7178 418.582)" style="fill:#00ADEE; font-family:'Helvetica'; font-size:59.6451px;">00:00</text>
|
||||
<rect id="floorplan.clock_button" x="820.1" y="348.6" inkscape:label="#rect140" style="opacity:2.000000e-02;fill:#333333;" width="190" height="105">
|
||||
</rect>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
172
config/www/custom_ui/floorplan/clock_config.yaml
Executable file
@@ -0,0 +1,172 @@
|
||||
page_id: clock_config
|
||||
image: /local/custom_ui/floorplan/clock_config.svg
|
||||
stylesheet: /local/custom_ui/floorplan/clock.css
|
||||
|
||||
variables:
|
||||
- name: floorplan.hours
|
||||
- name: floorplan.minutes
|
||||
|
||||
defaults:
|
||||
hover_over: false
|
||||
more_info: false
|
||||
|
||||
startup:
|
||||
action:
|
||||
- service: floorplan.variable_set
|
||||
data:
|
||||
variable: floorplan.hours
|
||||
value_template: '${parseInt(entities["sensor.clock_stacey_alarm_time"].state.slice(0, 2)) ? parseInt(entities["sensor.clock_stacey_alarm_time"].state.slice(0, 2)): "00"}'
|
||||
- service: floorplan.variable_set
|
||||
data:
|
||||
variable: floorplan.minutes
|
||||
value_template: '${parseInt(entities["sensor.clock_stacey_alarm_time"].state.slice(3, 5)) ? parseInt(entities["sensor.clock_stacey_alarm_time"].state.slice(3, 5)): "00"}'
|
||||
|
||||
rules:
|
||||
|
||||
- element: floorplan.clock_button
|
||||
action:
|
||||
service: floorplan.page_navigate
|
||||
data:
|
||||
page_id: clock
|
||||
|
||||
- entity: sensor.clock_stacey_alarm_time
|
||||
text_template: '${entity.state ? entity.state.slice(0, 5) : "00:00"}'
|
||||
|
||||
- entities:
|
||||
- floorplan.hours
|
||||
- floorplan.minutes
|
||||
text_template: '${("0" + entity.state).slice(-2)}'
|
||||
|
||||
- entity: floorplan.hours
|
||||
element: input_number.alarm_time_hours_up
|
||||
action:
|
||||
service: floorplan.variable_set
|
||||
data:
|
||||
variable: floorplan.hours
|
||||
value_template: '${(parseInt(entity.state) + 1) % 24}'
|
||||
|
||||
- entity: floorplan.hours
|
||||
element: input_number.alarm_time_hours_down
|
||||
action:
|
||||
service: floorplan.variable_set
|
||||
data:
|
||||
variable: floorplan.hours
|
||||
value_template: '${((parseInt(entity.state) - 1) + 24) % 24}'
|
||||
|
||||
- entity: floorplan.minutes
|
||||
element: input_number.alarm_time_minutes_up
|
||||
action:
|
||||
service: floorplan.variable_set
|
||||
data:
|
||||
variable: floorplan.minutes
|
||||
value_template: '${((parseInt(entity.state / 5) * 5) + 5) % 60}'
|
||||
|
||||
- entity: floorplan.minutes
|
||||
element: input_number.alarm_time_minutes_down
|
||||
action:
|
||||
service: floorplan.variable_set
|
||||
data:
|
||||
variable: floorplan.minutes
|
||||
value_template: '${(((parseInt(entity.state / 5) * 5) - 5) + 60) % 60}'
|
||||
|
||||
- element: floorplan.save_alarm_time_button
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data_template: '{
|
||||
"payload": "${(("0" + (parseInt((entities[`floorplan.hours`].state).slice(-2)) + 24) % 24)).slice(-2)}:${("0" + (((parseInt(entities[`floorplan.minutes`].state) / 5) * 5) % 60)).slice(-2)}",
|
||||
"topic": "clock/stacey_alarm_time",
|
||||
"retain": true
|
||||
}'
|
||||
|
||||
- entity: input_boolean.clock_snooze
|
||||
image_template: '/local/custom_ui/floorplan/buttons/${(entity.state === "on") ? "snooze_on" : "snooze"}.svg'
|
||||
action:
|
||||
service: homeassistant.toggle
|
||||
|
||||
- entity: input_boolean.school_mode
|
||||
image_template: '/local/custom_ui/floorplan/buttons/${(entity.state === "on") ? "school_on" : "school_off"}.svg'
|
||||
action:
|
||||
service: homeassistant.toggle
|
||||
|
||||
- entity: media_player.alarm_clock
|
||||
image_template: '/local/custom_ui/floorplan/buttons/${(entity.state === "playing") ? "stop" : "radio_on"}.svg'
|
||||
action:
|
||||
service_template: '${(entity.state === "playing") ? "media_player.media_stop" : "media_player.play_media"}'
|
||||
data:
|
||||
media_content_id: http://listen.djcmedia.com:80/americascountryhigh
|
||||
media_content_type: audio/mp4
|
||||
|
||||
- name: temp_darksky
|
||||
entities:
|
||||
- sensor.dark_sky_temperature
|
||||
text_template: '${entity.state ? Math.ceil(entity.state) + "°": "undefined"}'
|
||||
class_template: 'return "static-temp";'
|
||||
|
||||
- name: text_states
|
||||
entities:
|
||||
- sensor.dark_sky_minutely_summary
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text";'
|
||||
|
||||
- name: text_font_date
|
||||
entities:
|
||||
- sensor.clock_date
|
||||
- sensor.clock_day
|
||||
hover_over: false
|
||||
more_info: false
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-date";'
|
||||
|
||||
- name: text_font_time
|
||||
entities:
|
||||
- sensor.clock_time
|
||||
hover_over: false
|
||||
more_info: false
|
||||
text_template: '${entity.state ? entity.state : "undefined"}'
|
||||
class_template: 'return "static-text-time";'
|
||||
|
||||
- name: Dark Sky Sensors
|
||||
entities:
|
||||
- entity: sensor.dark_sky_minutely_summary
|
||||
element: sensor.dark_sky_minutely_summary_icon
|
||||
|
||||
image_template: '
|
||||
var imageName = "";
|
||||
|
||||
switch (entity.attributes.entity_picture) {
|
||||
case "/static/images/darksky/weather-sunny.svg":
|
||||
imageName = "sunny-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-night.svg":
|
||||
imageName = "night-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-partlycloudy.svg":
|
||||
imageName = "partlycloudy-day-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-cloudy.svg":
|
||||
imageName = "partlycloudy-night-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-cloudy.svg":
|
||||
imageName = "cloudy-day-1";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-pouring.svg":
|
||||
imageName = "thunder";
|
||||
break;
|
||||
|
||||
case "/static/images/darksky/weather-snowy.svg":
|
||||
imageName = "snowy-day-1";
|
||||
break;
|
||||
}
|
||||
|
||||
return "/local/custom_ui/floorplan/images/weather/" + imageName + ".svg";
|
||||
'
|
||||
|
||||
- name: Camera Images
|
||||
entities:
|
||||
- camera.stone_door
|
||||
image_template: '${entity.attributes.entity_picture}'
|
19
config/www/custom_ui/floorplan/floorclock.yaml
Executable file
@@ -0,0 +1,19 @@
|
||||
## This is the main Floorplan configuration page. To define the pages.
|
||||
## This one is called Floorclock since this is for my Clock application.
|
||||
## log_level: which can be set to one these: error, warning, info or debug
|
||||
|
||||
date_format: MMM-DD-YYYY
|
||||
#log_level: debug
|
||||
|
||||
fully_kiosk:
|
||||
|
||||
- name: Alarm Clock
|
||||
address: 00:FC:8B:4A:D5:CF
|
||||
motion_sensor: binary_sensor.clock_motion
|
||||
plugged_sensor: binary_sensor.clock_plugged
|
||||
screensaver_light: light.clock_screensaver
|
||||
media_player: media_player.alarm_clock
|
||||
|
||||
pages:
|
||||
- /local/custom_ui/floorplan/clock.yaml
|
||||
- /local/custom_ui/floorplan/clock_config.yaml
|
21
config/www/custom_ui/floorplan/floorplan.yaml
Executable file
@@ -0,0 +1,21 @@
|
||||
date_format: MMM-DD-YYYY
|
||||
#log_level: debug
|
||||
|
||||
fully_kiosk:
|
||||
|
||||
- name: Bedroom Alarm Panel
|
||||
address: B4:7C:9C:9E:85:90
|
||||
motion_sensor: binary_sensor.bedroom_motion
|
||||
plugged_sensor: binary_sensor.bedroom_plugged
|
||||
screensaver_light: light.bedroom_screensaver
|
||||
media_player: media_player.bedroom_alarm_panel
|
||||
|
||||
# - name: Entry Alarm Panel
|
||||
# address: 00:FC:8B:4A:D5:CF
|
||||
# entities:
|
||||
# - binary_sensor.entry_motion
|
||||
# - binary_sensor.entry_plugged
|
||||
# - media_player.entry_alarm_panel
|
||||
|
||||
pages:
|
||||
- /local/custom_ui/floorplan/alarm.yaml
|
10729
config/www/custom_ui/floorplan/floorplan_original.svg
Executable file
After Width: | Height: | Size: 1.4 MiB |
191
config/www/custom_ui/floorplan/ha-floorplan.html
Executable file
@@ -0,0 +1,191 @@
|
||||
<!--
|
||||
Floorplan for Home Assistant
|
||||
Version: 1.0.7.51
|
||||
By Petar Kozul
|
||||
https://github.com/pkozul/ha-floorplan
|
||||
-->
|
||||
|
||||
<script src="lib/jquery-3.2.1.min.js"></script>
|
||||
<script src="lib/moment.min.js"></script>
|
||||
<script src="lib/yaml.min.js"></script>
|
||||
|
||||
<!-- As documented here for Google Chrome, removes the need for touchstart -->
|
||||
<meta name="viewport" content="width=device-width">
|
||||
|
||||
<dom-module id="ha-floorplan">
|
||||
|
||||
<template>
|
||||
<style>
|
||||
#floorplan {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.loading-container {
|
||||
text-align: center;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.loading {
|
||||
height: 0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#log {
|
||||
max-height: 150px;
|
||||
overflow: auto;
|
||||
background-color: #eee;
|
||||
display: none;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#log ul {
|
||||
list-style-type: none;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: #FF0000;
|
||||
}
|
||||
|
||||
.warning {
|
||||
color: #FF851B;
|
||||
}
|
||||
|
||||
.info {
|
||||
color: #0000FF;
|
||||
}
|
||||
|
||||
.debug {
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<template is='dom-if' if='[[isLoading]]'>
|
||||
<div class='loading-container'>
|
||||
<paper-spinner active alt='Loading'></paper-spinner>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div id="log">
|
||||
<a href="#" onclick="$(this).siblings('ul').html('').parent().css('display', 'none');">Clear log</a>
|
||||
<ul></ul>
|
||||
</div>
|
||||
|
||||
<div id="floorplan" on-tap="stopPropagation"></div>
|
||||
|
||||
</template>
|
||||
|
||||
</dom-module>
|
||||
|
||||
<script>
|
||||
class HaFloorplan extends window.hassMixins.EventsMixin(Polymer.Element) {
|
||||
static get is() { return 'ha-floorplan'; }
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
hass: {
|
||||
type: Object,
|
||||
observer: 'hassChanged'
|
||||
},
|
||||
inDialog: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
isPanel: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
config: {
|
||||
type: Object,
|
||||
},
|
||||
isLoading: {
|
||||
type: Boolean,
|
||||
value: true,
|
||||
},
|
||||
flooplan: {
|
||||
type: Object,
|
||||
value: undefined,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
this.initFloorplan();
|
||||
}
|
||||
|
||||
stopPropagation(e) {
|
||||
e.stopPropagation();
|
||||
}
|
||||
|
||||
initFloorplan() {
|
||||
this.loadScript('/local/custom_ui/floorplan/lib/floorplan.js')
|
||||
.then(() => {
|
||||
this.floorplan = new Floorplan();
|
||||
|
||||
let options = {
|
||||
doc: Polymer.dom(this.root).node,
|
||||
hass: this.hass,
|
||||
openMoreInfo: this.openMoreInfo.bind(this),
|
||||
setIsLoading: this.setIsLoading.bind(this),
|
||||
config: (this.config && this.config.config) || this.config,
|
||||
};
|
||||
|
||||
this.floorplan.init(options)
|
||||
.then(() => {
|
||||
this.setIsLoading(false);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
this.setIsLoading(false);
|
||||
this.logError(error);
|
||||
});
|
||||
}
|
||||
|
||||
hassChanged(newHass, oldHass) {
|
||||
if (this.floorplan) {
|
||||
this.floorplan.hassChanged(newHass, oldHass);
|
||||
}
|
||||
}
|
||||
|
||||
loadScript(scriptUrl) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let script = document.createElement('script');
|
||||
script.src = this.cacheBuster(scriptUrl);
|
||||
script.onload = () => {
|
||||
return resolve();
|
||||
};
|
||||
script.onerror = (err) => {
|
||||
reject(new URIError(`${err.target.src}`));
|
||||
};
|
||||
|
||||
Polymer.dom(this.root).node.appendChild(script);
|
||||
});
|
||||
}
|
||||
|
||||
openMoreInfo(entityId) {
|
||||
this.fire('hass-more-info', { entityId: entityId });
|
||||
}
|
||||
|
||||
setIsLoading(isLoading) {
|
||||
this.isLoading = isLoading;
|
||||
}
|
||||
|
||||
cacheBuster(url) {
|
||||
return `${url}${(url.indexOf('?') >= 0) ? '&' : '?'}_=${new Date().getTime()}`;
|
||||
}
|
||||
|
||||
logError(message) {
|
||||
console.error(message);
|
||||
|
||||
let log = Polymer.dom(this.$.log).node;
|
||||
$(log).find('ul').prepend(`<li class="error">${message}</li>`)
|
||||
$(log).css('display', 'block');
|
||||
}
|
||||
}
|
||||
|
||||
customElements.define(HaFloorplan.is, HaFloorplan);
|
||||
|
||||
</script>
|
BIN
config/www/custom_ui/floorplan/images/branding/PoweredByIPM.png
Executable file
After Width: | Height: | Size: 3.9 KiB |
BIN
config/www/custom_ui/floorplan/images/branding/Venbu_static.png
Executable file
After Width: | Height: | Size: 27 KiB |
BIN
config/www/custom_ui/floorplan/images/branding/twitter_profile.png
Executable file
After Width: | Height: | Size: 33 KiB |
BIN
config/www/custom_ui/floorplan/images/branding/your-ad-here.jpg
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
config/www/custom_ui/floorplan/images/fonts/Digital-Dismay.otf
Executable file
12
config/www/custom_ui/floorplan/images/weather/cloudy-day-1.svg
Executable file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 156" style="enable-background:new 0 0 250 156;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#DFEFF1;}
|
||||
</style>
|
||||
<path class="wst0" d="M247.6,127.1c-6.2,17.3-22.7,28.9-41.1,28.9h-179c-7.7-0.3-14.7-3.5-19.9-9c-5.2-5.5-7.8-12.7-7.5-20.3
|
||||
c0.6-15,12.7-27.1,27.4-27.4l1.5,0l0.2-1.5c2.3-22.3,20.8-39.1,43.1-39.1h1.5l0.2-1.5c5-35.9,38.2-61.3,74-56.6
|
||||
c27,3.7,48.7,23,55.3,49.3c1.6,6.4,2.8,14.2,2.2,15.6l0.5,0.3c-19.2,0.3-37,12.3-43.7,31.4l1.6,0.5l1.6,0.5c0.3-0.8,0.6-1.6,0.9-2.3
|
||||
c6.5-15.7,21.5-25.8,37.9-26.7c5.5-0.3,11.2,0.4,16.8,2.4C243.5,79.4,255.5,104.3,247.6,127.1z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 867 B |
10
config/www/custom_ui/floorplan/images/weather/night-1.svg
Executable file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 158 250" style="enable-background:new 0 0 158 250;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#F7F5BC;}
|
||||
</style>
|
||||
<path class="wst0" d="M158,125c0,69-56,125-125,125c-11.4,0-22.5-1.6-33-4.5c53-14.5,92-62.9,92-120.5S53,18.9,0,4.5
|
||||
C10.5,1.6,21.6,0,33,0C102.1,0,158,56,158,125z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 575 B |
16
config/www/custom_ui/floorplan/images/weather/partlycloudy-day-1.svg
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 155.4" style="enable-background:new 0 0 250 155.4;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#FFD150;}
|
||||
.st1{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M12,103.4C-6.4,81-3.4,47.8,19.1,29.1C38.1,13.4,65.9,13,85.3,28.4v75H12z"/>
|
||||
<path class="st1" d="M247.6,126.6c-6.2,17.2-22.6,28.8-40.9,28.8H28.3c-7.7-0.3-14.6-3.5-19.8-9S0.7,133.7,1,126.2
|
||||
c0.6-14.9,12.7-27,27.3-27.3h1.5l0.2-1.5C32.3,75.2,50.7,58.4,73,58.4h1.5l0.2-1.5c5-35.8,38.1-61.1,73.7-56.4
|
||||
c26.9,3.7,48.5,22.9,55.1,49.1c1.6,6.4,2.8,14.1,2.2,15.5l0.5,0.3c-19.1,0.3-36.9,12.3-43.5,31.3l1.6,0.5l1.6,0.5
|
||||
c0.3-0.8,0.6-1.6,0.9-2.3c6.5-15.6,21.4-25.7,37.8-26.6c5.5-0.3,11.2,0.4,16.7,2.4C243.5,79.1,255.4,103.9,247.6,126.6z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 998 B |
11
config/www/custom_ui/floorplan/images/weather/partlycloudy-night-1.svg
Executable file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 144.2" style="enable-background:new 0 0 250 144.2;" xml:space="preserve">
|
||||
<path style="fill:#DFEFF1;" d="M247.8,118.8c-5.8,16.1-21.2,27-38.4,27l-167.5,0c-7.2-0.3-13.7-3.3-18.6-8.4s-7.3-11.9-7-19
|
||||
c0.6-14,11.9-25.3,25.6-25.6h1.4l0.2-1.4c2.2-20.8,19.4-36.6,40.4-36.6h1.4l0.2-1.4c4.7-33.6,35.8-57.4,69.2-52.9
|
||||
c25.2,3.5,45.5,21.5,51.7,46.1c1.5,6,2.6,13.2,2.1,14.5l0.5,0.3c-17.9,0.3-34.6,11.5-40.8,29.4l1.5,0.5l1.5,0.5
|
||||
c0.3-0.8,0.6-1.5,0.8-2.2c6.1-14.6,20.1-24.1,35.5-25c5.2-0.3,10.5,0.4,15.7,2.3C243.9,74.2,255.1,97.5,247.8,118.8z"/>
|
||||
<path style="fill:#F7F5BC;" d="M78.8,114.6c-3.8,0.8-7.7,1.3-11.8,1.3c-30.4,0-55-24.6-55-55c0-30.4,24.6-55,55-55
|
||||
c4,0,8,0.4,11.8,1.3c-24.7,5.4-43.2,27.4-43.2,53.8S54.1,109.2,78.8,114.6z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1007 B |
18
config/www/custom_ui/floorplan/images/weather/partlysunny-day-1.svg
Executable file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 152.3" style="enable-background:new 0 0 250 152.3;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#FFD150;}
|
||||
.st1{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M97,33.9c5.1,5.7,8.8,12.6,10.5,20.3v52.7H52.2v0.3c-7.1-1.9-13.4-5.4-18.5-10l-13.3,13.3l-2-2l13.3-13.3
|
||||
c-7.8-8-12.4-18.7-12.7-29.9H0v-2.9h19c0.1-3.3,0.6-6.6,1.5-10c2-7.1,5.5-13.4,10.2-18.6L17.2,20.4l2-2l13.5,13.4
|
||||
C40.6,24.1,51,19.4,62.2,19V0H65v19c3.4,0.1,6.8,0.6,10.3,1.5c7.6,2,14.4,6,19.8,11.3l13.5-13.2l2,2.1L97,33.9z"/>
|
||||
<path class="st1" d="M248,128c-5.2,14.5-19.1,24.3-34.5,24.3H62.9c-6.5-0.3-12.4-2.9-16.7-7.6s-6.6-10.7-6.3-17.1
|
||||
c0.5-12.6,10.7-22.8,23-23h1.3l0.2-1.3c1.9-18.7,17.5-32.9,36.2-32.9h1.3l0.2-1.3c4.2-30.2,32.1-51.5,62.2-47.6
|
||||
c22.7,3.1,40.9,19.3,46.5,41.4c1.3,5.4,2.4,11.9,1.8,13.1l0.4,0.3c-16.1,0.3-31.1,10.3-36.7,26.4l1.3,0.4l1.3,0.4
|
||||
c0.3-0.7,0.5-1.3,0.8-1.9c5.5-13.2,18.1-21.7,31.9-22.4c4.6-0.3,9.4,0.3,14.1,2C244.5,87.9,254.6,108.8,248,128z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
27
config/www/custom_ui/floorplan/images/weather/pouring-day-1.svg
Executable file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 218.2" style="enable-background:new 0 0 250 218.2;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#91EAF9;}
|
||||
.st1{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M79.5,161.6c-1.9,0-3.4-1.5-3.4-3.4v-38.7c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v38.7
|
||||
C82.9,160.1,81.4,161.6,79.5,161.6z"/>
|
||||
<path class="wst0" d="M79.5,192.5c-1.9,0-3.4-1.5-3.4-3.4v-17c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v17
|
||||
C82.9,190.9,81.4,192.5,79.5,192.5z"/>
|
||||
<path class="wst0" d="M109.1,218.2c-1.9,0-3.4-1.5-3.4-3.4v-60.4c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4v60.4
|
||||
C112.4,216.7,110.9,218.2,109.1,218.2z"/>
|
||||
<path class="wst0" d="M168.4,177.9c-1.9,0-3.4-1.5-3.4-3.4v-55c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v55
|
||||
C171.8,176.3,170.3,177.9,168.4,177.9z"/>
|
||||
<path class="wst0" d="M168.4,209.8c-1.9,0-3.4-1.5-3.4-3.4v-18c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v18
|
||||
C171.8,208.2,170.3,209.8,168.4,209.8z"/>
|
||||
<path class="wst0" d="M138.9,197.2c-1.9,0-3.4-1.5-3.4-3.4v-27.5c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v27.5
|
||||
C142.3,195.7,140.8,197.2,138.9,197.2z"/>
|
||||
<path class="st1" d="M247.6,127.1c-6.2,17.3-22.7,28.9-41.1,28.9h-179c-7.7-0.3-14.7-3.5-19.9-9s-7.8-12.7-7.5-20.3
|
||||
c0.6-15,12.7-27.1,27.4-27.4h1.5l0.2-1.5c2.3-22.3,20.8-39.1,43.1-39.1h1.5l0.2-1.5c5-35.9,38.2-61.3,74-56.6
|
||||
c27,3.7,48.7,23,55.3,49.3c1.6,6.4,2.8,14.2,2.2,15.6l0.5,0.3c-19.2,0.3-37,12.3-43.7,31.4l1.6,0.5l1.6,0.5
|
||||
c0.3-0.8,0.6-1.6,0.9-2.3c6.5-15.7,21.5-25.8,37.9-26.7c5.5-0.3,11.2,0.4,16.8,2.4C243.5,79.4,255.5,104.3,247.6,127.1z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
23
config/www/custom_ui/floorplan/images/weather/rain-day-1.svg
Executable file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 218.6" style="enable-background:new 0 0 250 218.6;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#91EAF9;}
|
||||
.st1{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M94.9,161.9c-1.9,0-3.4-1.5-3.4-3.4v-38.7c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4v38.7
|
||||
C98.3,160.4,96.8,161.9,94.9,161.9z"/>
|
||||
<path class="wst0" d="M94.9,192.8c-1.9,0-3.4-1.5-3.4-3.4v-17c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4v17
|
||||
C98.3,191.3,96.8,192.8,94.9,192.8z"/>
|
||||
<path class="wst0" d="M124.4,218.6c-1.9,0-3.4-1.5-3.4-3.4v-60.4c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v60.4
|
||||
C127.8,217,126.3,218.6,124.4,218.6z"/>
|
||||
<path class="wst0" d="M153.9,197.5c-1.9,0-3.4-1.5-3.4-3.4v-27.5c0-1.9,1.5-3.4,3.4-3.4s3.4,1.5,3.4,3.4v27.5
|
||||
C157.3,196,155.8,197.5,153.9,197.5z"/>
|
||||
<path class="st1" d="M247.6,127.1c-6.2,17.3-22.7,28.9-41.1,28.9h-179c-7.7-0.3-14.7-3.5-19.9-9s-7.8-12.7-7.5-20.3
|
||||
c0.6-15,12.7-27.1,27.4-27.4h1.5l0.2-1.5c2.3-22.3,20.8-39.1,43.1-39.1h1.5l0.2-1.5c5-35.9,38.2-61.3,74-56.6
|
||||
c27,3.7,48.7,23,55.3,49.3c1.6,6.4,2.8,14.2,2.2,15.6l0.5,0.3c-19.2,0.3-37,12.3-43.7,31.4l1.6,0.5l1.6,0.5
|
||||
c0.3-0.8,0.6-1.6,0.9-2.3c6.5-15.7,21.5-25.8,37.9-26.7c5.5-0.3,11.2,0.4,16.8,2.4C243.5,79.4,255.5,104.3,247.6,127.1z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
26
config/www/custom_ui/floorplan/images/weather/rainbow.svg
Executable file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 106.7" style="enable-background:new 0 0 250 106.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#DFEFF1;}
|
||||
.st1{fill:#4EDD81;}
|
||||
.st2{fill:#AEA1EA;}
|
||||
.st3{fill:#F23B74;}
|
||||
.st4{fill:#91EAF9;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M223.3,102.4c2.5-54.2-39.5-99.9-93.4-102.3S29.7,39.6,27.3,93.9c0,3.4,0,6.4,0,9.8l58.5-0.6
|
||||
c0.6-21.8,18.7-39.2,40.4-38.6c20.8,0.3,38,17.2,38.6,38.3L223.3,102.4z"/>
|
||||
<path class="st1" d="M59.4,103.3h-6.1C53.3,63.5,85.5,31,125,31c39.7,0,72,32.2,72,71.7h-6.1c0-36.2-29.5-65.6-65.9-65.6
|
||||
C88.8,37.2,59.4,66.9,59.4,103.3z"/>
|
||||
<path class="st2" d="M68,103.4c-0.2-15.3,5.7-29.7,16.5-40.6c10.7-10.8,25.1-16.9,40.5-17c0.2,0,0.4,0,0.6,0
|
||||
c31.2,0,56.7,25.4,57,57l-6.1,0.1c-0.3-28.3-23.3-51.2-51.4-50.9c-13.7,0.1-26.6,5.5-36.2,15.2c-9.6,9.7-14.8,22.6-14.7,36.2
|
||||
L68,103.4z"/>
|
||||
<path class="st3" d="M45,103.3h-6.1v-4.3c0.5-23.1,9.9-44.6,26.6-60.7c16.7-16.1,38.7-24.6,61.7-24.2c23,0.5,44.5,9.9,60.5,26.6
|
||||
c15.9,16.7,24.5,38.6,24,61.7l-6.1-0.1c0.4-21.4-7.5-41.8-22.3-57.3c-14.8-15.5-34.8-24.3-56.2-24.7c-21.4-0.5-41.8,7.6-57.3,22.5
|
||||
S45.5,77.7,45,99.1V103.3z"/>
|
||||
<path class="st4" d="M3.1,106.7c-1.7,0-3.1-1.4-3.1-3c0-1.7,1.4-3.1,3-3.1l243.9-1.2c0,0,0,0,0,0c1.7,0,3.1,1.4,3.1,3
|
||||
c0,1.7-1.4,3.1-3,3.1L3.1,106.7C3.1,106.7,3.1,106.7,3.1,106.7z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
23
config/www/custom_ui/floorplan/images/weather/snowy-day-1.svg
Executable file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 206.2" style="enable-background:new 0 0 250 206.2;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#CCFEFF;}
|
||||
.st1{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M174,157.2c0,1.6-1.3,2.9-2.9,2.9h-8l2.5,2.5c1.1,1.1,1.1,3,0,4.1c-0.5,0.6-1.3,0.8-2,0.8
|
||||
c-0.7,0-1.5-0.3-2-0.8l-6.6-6.6h-22.8L148,176h9.5c1.6,0,2.9,1.3,2.9,2.9c0,1.6-1.3,2.9-2.9,2.9h-3.8l5.9,5.9c1.1,1.2,1.1,3,0,4.1
|
||||
c-0.6,0.6-1.3,0.8-2,0.8c-0.7,0-1.5-0.3-2-0.8l-5.6-5.7v3.6c0,1.6-1.3,2.9-2.9,2.9c-1.6,0-2.9-1.3-2.9-2.9v-9.4l-16.3-16.5v23
|
||||
l6.6,6.6c1.1,1.1,1.1,3,0,4.1c-0.5,0.6-1.3,0.8-2,0.8c-0.7,0-1.5-0.3-2-0.8l-2.5-2.5v8.3c0,1.6-1.3,2.9-2.9,2.9s-2.9-1.3-2.9-2.9
|
||||
V195l-2.5,2.5c-1.1,1.1-3,1.1-4.1,0s-1.1-3,0-4.1l6.6-6.6v-22.7l-16.3,16.3v9.3c0,1.6-1.3,2.9-2.9,2.9s-2.9-1.3-2.9-2.9v-3.6
|
||||
l-5.6,5.6c-0.6,0.6-1.3,0.8-2,0.8c-0.7,0-1.5-0.3-2-0.8c-1.1-1.1-1.1-3,0-4.1l11.5-11.5l16.2-16.2H95l-6.6,6.6
|
||||
c-0.5,0.6-1.3,0.8-2,0.8c-0.7,0-1.5-0.3-2-0.8c-1.1-1.1-1.1-3,0-4.1l2.5-2.5h-8c-1.6,0-2.9-1.3-2.9-2.9c0-1.6,1.3-2.9,2.9-2.9h92.3
|
||||
C172.7,154.3,174,155.6,174,157.2z"/>
|
||||
<path class="st1" d="M247.6,127.1c-6.2,17.3-22.7,28.9-41.1,28.9h-179c-7.7-0.3-14.7-3.5-19.9-9s-7.8-12.7-7.5-20.3
|
||||
c0.6-15,12.7-27.1,27.4-27.4h1.5l0.2-1.5c2.3-22.3,20.8-39.1,43.1-39.1h1.5l0.2-1.5c5-35.9,38.2-61.3,74-56.6
|
||||
c27,3.7,48.7,23,55.3,49.3c1.6,6.4,2.8,14.2,2.2,15.6l0.5,0.3c-19.2,0.3-37,12.3-43.7,31.4l1.6,0.5l1.6,0.5
|
||||
c0.3-0.8,0.6-1.6,0.9-2.3c6.5-15.7,21.5-25.8,37.9-26.7c5.5-0.3,11.2,0.4,16.8,2.4C243.5,79.4,255.5,104.3,247.6,127.1z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
17
config/www/custom_ui/floorplan/images/weather/sunny-1.svg
Executable file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 250" style="enable-background:new 0 0 250 250;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#FFD150;}
|
||||
</style>
|
||||
<title>Weather_Icons_1B</title>
|
||||
<path class="wst0" d="M246.2,121.2h-35.8c-0.9-20.1-8.7-38.3-21.1-52.5l25-25.4c1.5-1.5,1.5-3.9,0-5.4c-1.5-1.5-3.9-1.5-5.4,0
|
||||
l-24.9,25.2c-14.6-13.9-34.1-22.8-55.7-23.6c0,0,0-0.1,0-0.1V3.8c0-2.1-1.7-3.8-3.8-3.8s-3.8,1.7-3.8,3.8v35.7c0,0,0,0.1,0,0.1
|
||||
c-21.2,1-40.3,9.7-54.7,23.4L41.1,38c-1.5-1.5-3.9-1.5-5.4,0s-1.5,3.9,0,5.4l25.2,25.2C48.4,82.7,40.5,101,39.6,121.2H3.8
|
||||
c-2.1,0-3.8,1.7-3.8,3.8s1.7,3.8,3.8,3.8h35.8c0.9,21.4,9.8,40.8,23.6,55.3L38,209.3c-1.5,1.5-1.5,3.9,0,5.4
|
||||
c0.7,0.7,1.7,1.1,2.7,1.1c1,0,1.9-0.4,2.7-1.1l25.4-25.4c14.1,12.3,32.2,20.1,52.1,21.1c0,0,0,0.1,0,0.1v35.7c0,2.1,1.7,3.8,3.8,3.8
|
||||
s3.8-1.7,3.8-3.8v-35.7c0,0,0-0.1,0-0.1c20.9-0.8,39.9-9.1,54.3-22.3c0,0,0,0,0,0l25.5,25.5c0.7,0.7,1.7,1.1,2.7,1.1
|
||||
c1,0,1.9-0.4,2.7-1.1c1.5-1.5,1.5-3.9,0-5.4l-25.5-25.5c0,0,0,0,0,0c13.1-14.3,21.4-33.2,22.3-53.9h35.8c2.1,0,3.8-1.7,3.8-3.8
|
||||
S248.3,121.2,246.2,121.2z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
19
config/www/custom_ui/floorplan/images/weather/sunrise-1.svg
Executable file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 252 133.6" style="enable-background:new 0 0 252 133.6;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#FFD150;}
|
||||
.st1{fill:#91EAF9;}
|
||||
</style>
|
||||
<g id="Solid">
|
||||
<path class="wst0" d="M215.9,40.5c-1.5-1.5-3.9-1.5-5.4,0l-22.6,22.6c-15.2-14.6-35.6-23.9-58.1-24.8V5.9c0-2.1-1.7-3.8-3.8-3.8
|
||||
s-3.8,1.7-3.8,3.8v32.5c-22.1,1-42.2,10.1-57.3,24.4L42.2,40.1c-1.5-1.5-3.9-1.5-5.4,0c-1.5,1.5-1.5,3.9,0,5.4l22.7,22.7
|
||||
c-14.1,15.8-22.7,36.7-22.7,59.5c0,2.1,1.7,3.8,3.8,3.8c2.1,0,3.8-1.7,3.8-3.8h163.4c0,2.1,1.7,3.8,3.8,3.8s3.8-1.7,3.8-3.8
|
||||
c0-22.7-8.4-43.4-22.3-59.1l22.7-22.7C217.4,44.4,217.4,42,215.9,40.5z"/>
|
||||
<g>
|
||||
<path class="st1" d="M247.1,131.6H4.9c-2.1,0-3.9-1.7-3.9-3.9c0-2.1,1.7-3.9,3.9-3.9h242.2c2.1,0,3.9,1.7,3.9,3.9
|
||||
C251,129.9,249.3,131.6,247.1,131.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
17
config/www/custom_ui/floorplan/images/weather/sunset-1.svg
Executable file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 129.6" style="enable-background:new 0 0 250 129.6;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#FFD150;}
|
||||
.st1{fill:#91EAF9;}
|
||||
</style>
|
||||
<g id="Solid">
|
||||
<path class="wst0" d="M215,38.5c-1.5-1.5-3.9-1.5-5.4,0L187,61.1c-15.2-14.6-35.6-23.9-58.2-24.8V3.8c0-2.1-1.7-3.8-3.8-3.8
|
||||
s-3.8,1.7-3.8,3.8v32.5C99,37.3,79,46.5,63.9,60.8L41.2,38.1c-1.5-1.5-3.9-1.5-5.4,0c-1.5,1.5-1.5,3.9,0,5.4l22.8,22.8
|
||||
c-14.1,15.8-22.7,36.7-22.7,59.5c0,2.1,1.7,3.8,3.8,3.8s3.8-1.7,3.8-3.8h163.5c0,2.1,1.7,3.8,3.8,3.8c2.1,0,3.8-1.7,3.8-3.8
|
||||
c0-22.7-8.4-43.4-22.3-59.2L215,43.9C216.5,42.4,216.5,40,215,38.5z"/>
|
||||
<path class="st1" d="M246.2,129.6H3.8c-2.1,0-3.8-1.7-3.8-3.8s1.7-3.8,3.8-3.8h242.4c2.1,0,3.8,1.7,3.8,3.8
|
||||
S248.3,129.6,246.2,129.6z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
18
config/www/custom_ui/floorplan/images/weather/thunder.svg
Executable file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 215.3" style="enable-background:new 0 0 250 215.3;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#FFD150;}
|
||||
.st1{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M151.3,158.7L116.7,214c-0.5,0.8-1.5,1.4-2.4,1.4c-0.3,0-0.6-0.1-0.9-0.2c-1.3-0.4-2.1-1.7-1.9-3.1l4.3-35.5
|
||||
H99.7c-1.1,0-2-0.6-2.5-1.5c-0.5-0.9-0.5-2,0.1-2.9l34.9-55.3c0.7-1.2,2.1-1.6,3.4-1.2c1.3,0.4,2,1.7,1.9,3.1l-4.3,35.5h15.7
|
||||
c1.1,0,2,0.6,2.5,1.5C151.9,156.7,151.8,157.8,151.3,158.7z"/>
|
||||
<path class="st1" d="M247.6,127.1c-6.2,17.3-22.7,28.9-41.1,28.9h-179c-7.7-0.3-14.7-3.5-19.9-9s-7.8-12.7-7.5-20.3
|
||||
c0.6-15,12.7-27.1,27.4-27.4h1.5l0.2-1.5c2.3-22.3,20.8-39.1,43.1-39.1h1.5l0.2-1.5c5-35.9,38.2-61.3,74-56.6
|
||||
c27,3.7,48.7,23,55.3,49.3c1.6,6.4,2.8,14.2,2.2,15.6l0.5,0.3c-19.2,0.3-37,12.3-43.7,31.4l1.6,0.5l1.6,0.5
|
||||
c0.3-0.8,0.6-1.6,0.9-2.3c6.5-15.7,21.5-25.8,37.9-26.7c5.5-0.3,11.2,0.4,16.8,2.4C243.5,79.4,255.5,104.3,247.6,127.1z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
19
config/www/custom_ui/floorplan/images/weather/windy.svg
Executable file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250 197" style="enable-background:new 0 0 250 197;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.wst0{fill:#DFEFF1;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="wst0" d="M3.2,101.7c-1.8,0-3.2-1.4-3.2-3.2s1.4-3.2,3.2-3.2h203.5c20.6-0.3,36.8-16.6,36.8-37.1
|
||||
c-0.3-20.6-16.6-36.8-37.1-36.8c-20.6,0.3-36.8,16.6-36.8,37.1c0,1.8-1.4,3.2-3.2,3.2s-3.2-1.4-3.2-3.2c0-24.1,19-43.3,43.2-43.6
|
||||
c24.1,0,43.3,19,43.7,43.2c0,24.1-19,43.3-43.2,43.7H3.2z"/>
|
||||
<path class="wst0" d="M108.5,62H20.7c-1.8,0-3.2-1.4-3.2-3.2c0-1.8,1.4-3.2,3.2-3.2h87.9c13.8,0,24.5-10.8,24.5-24.5
|
||||
c0-13.5-11-24.5-24.5-24.5C95,6.5,84,17.5,84,31c0,1.8-1.4,3.2-3.2,3.2c-1.8,0-3.2-1.4-3.2-3.2c0-17.1,13.9-31,31-31s31,13.9,31,31
|
||||
C139.5,48.4,125.9,62,108.5,62z"/>
|
||||
<path class="wst0" d="M167,197c-17.1,0-31-13.9-31-31c0-1.8,1.4-3.2,3.2-3.2c1.8,0,3.2,1.4,3.2,3.2c0,13.5,11,24.5,24.5,24.5
|
||||
c13.8,0,24.5-10.8,24.5-24.5s-10.8-24.5-24.5-24.5H19.1c-1.8,0-3.2-1.4-3.2-3.2c0-1.8,1.4-3.2,3.2-3.2H167c17.4,0,31,13.6,31,31
|
||||
C198,183.4,184.4,197,167,197z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
2099
config/www/custom_ui/floorplan/lib/floorplan.js
Executable file
790
config/www/custom_ui/floorplan/lib/fully-kiosk.js
Executable file
@@ -0,0 +1,790 @@
|
||||
/*
|
||||
Floorplan Fully Kiosk for Home Assistant
|
||||
Version: 1.0.7.50
|
||||
By Petar Kozul
|
||||
https://github.com/pkozul/ha-floorplan
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
(function () {
|
||||
if (typeof window.FullyKiosk === 'function') {
|
||||
return;
|
||||
}
|
||||
|
||||
class FullyKiosk {
|
||||
constructor(floorplan) {
|
||||
this.version = '1.0.7.50';
|
||||
|
||||
this.floorplan = floorplan;
|
||||
this.authToken = (window.localStorage && window.localStorage.authToken) ? window.localStorage.authToken : '';
|
||||
|
||||
this.fullyInfo = {};
|
||||
this.fullyState = {};
|
||||
this.beacons = {};
|
||||
|
||||
this.throttledFunctions = {};
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Initialization
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
init() {
|
||||
this.logInfo('VERSION', `Fully Kiosk v${this.version}`);
|
||||
|
||||
/*
|
||||
let uuid = 'a445425b-c718-461c-a876-aa647abd99d4';
|
||||
let deviceId = uuid.replace(/[-_]/g, '').toUpperCase();
|
||||
let payload = { room: 'entry hall', id: uuid, distance: 123.45 };
|
||||
this.PostToHomeAssistant(`/api/room_presence/${deviceId}`, payload);
|
||||
*/
|
||||
|
||||
if (typeof fully === "undefined") {
|
||||
this.logInfo('FULLY_KIOSK', `Fully Kiosk is not running or not enabled. You can enable it via Settings > Other Settings > Enable Website Integration (PLUS).`);
|
||||
return;
|
||||
}
|
||||
|
||||
let macAddress = fully.getMacAddress().toLowerCase();
|
||||
|
||||
let device = this.floorplan.config && this.floorplan.config.fully_kiosk &&
|
||||
this.floorplan.config.fully_kiosk.find(x => x.address.toLowerCase() == macAddress);
|
||||
if (!device) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!navigator.geolocation) {
|
||||
this.logInfo('FULLY_KIOSK', "Geolocation is not supported or not enabled. You can enable it via Settings > Web Content Settings > Enable Geolocation Access (PLUS) and on the device via Google Settings > Location > Fully Kiosk Browser.");
|
||||
}
|
||||
|
||||
this.fullyInfo = this.getFullyInfo(device);
|
||||
|
||||
this.updateFullyState();
|
||||
this.updateCurrentPosition();
|
||||
|
||||
this.initAudio();
|
||||
this.addAudioEventHandlers();
|
||||
this.addFullyEventHandlers();
|
||||
this.subscribeHomeAssistantEvents();
|
||||
|
||||
this.sendMotionState();
|
||||
this.sendPluggedState();
|
||||
this.sendScreensaverState();
|
||||
this.sendMediaPlayerState();
|
||||
}
|
||||
|
||||
initAudio() {
|
||||
this.audio = new Audio();
|
||||
this.isAudioPlaying = false;
|
||||
}
|
||||
|
||||
getFullyInfo(device) {
|
||||
return {
|
||||
motionBinarySensorEntityId: device.motion_sensor,
|
||||
pluggedBinarySensorEntityId: device.plugged_sensor,
|
||||
screensaverLightEntityId: device.screensaver_light,
|
||||
mediaPlayerEntityId: device.media_player,
|
||||
|
||||
locationName: device.presence_detection ? device.presence_detection.location_name : undefined,
|
||||
|
||||
startUrl: fully.getStartUrl(),
|
||||
currentLocale: fully.getCurrentLocale(),
|
||||
ipAddressv4: fully.getIp4Address(),
|
||||
ipAddressv6: fully.getIp6Address(),
|
||||
macAddress: fully.getMacAddress(),
|
||||
wifiSSID: fully.getWifiSsid(),
|
||||
serialNumber: fully.getSerialNumber(),
|
||||
deviceId: fully.getDeviceId(),
|
||||
|
||||
isMotionDetected: false,
|
||||
isScreensaverOn: false,
|
||||
|
||||
supportsGeolocation: (navigator.geolocation != undefined),
|
||||
};
|
||||
}
|
||||
|
||||
updateFullyState() {
|
||||
this.fullyState.batteryLevel = fully.getBatteryLevel();
|
||||
this.fullyState.screenBrightness = fully.getScreenBrightness();
|
||||
this.fullyState.isScreenOn = fully.getScreenOn();
|
||||
this.fullyState.isPluggedIn = fully.isPlugged();
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Set up event handlers
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
addAudioEventHandlers() {
|
||||
this.audio.addEventListener('play', this.onAudioPlay.bind(this));
|
||||
this.audio.addEventListener('playing', this.onAudioPlaying.bind(this));
|
||||
this.audio.addEventListener('pause', this.onAudioPause.bind(this));
|
||||
this.audio.addEventListener('ended', this.onAudioEnded.bind(this));
|
||||
this.audio.addEventListener('volumechange', this.onAudioVolumeChange.bind(this));
|
||||
}
|
||||
|
||||
addFullyEventHandlers() {
|
||||
window['onFullyEvent'] = (e) => { window.dispatchEvent(new Event(e)); }
|
||||
|
||||
window['onFullyIBeaconEvent'] = (e, uuid, major, minor, distance) => {
|
||||
let event = new CustomEvent(e, {
|
||||
detail: { uuid: uuid, major: major, minor: minor, distance: distance, timestamp: new Date() }
|
||||
});
|
||||
window.dispatchEvent(event);
|
||||
}
|
||||
|
||||
window.addEventListener('fully.screenOn', this.onScreenOn.bind(this));
|
||||
window.addEventListener('fully.screenOff', this.onScreenOff.bind(this));
|
||||
window.addEventListener('fully.networkDisconnect', this.onNetworkDisconnect.bind(this));
|
||||
window.addEventListener('fully.networkReconnect', this.onNetworkReconnect.bind(this));
|
||||
window.addEventListener('fully.internetDisconnect', this.onInternetDisconnect.bind(this));
|
||||
window.addEventListener('fully.internetReconnect', this.onInternetReconnect.bind(this));
|
||||
window.addEventListener('fully.unplugged', this.onUnplugged.bind(this));
|
||||
window.addEventListener('fully.pluggedAC', this.onPluggedAC.bind(this));
|
||||
window.addEventListener('fully.pluggedUSB', this.onPluggedUSB.bind(this));
|
||||
window.addEventListener('fully.onScreensaverStart', this.onScreensaverStart.bind(this));
|
||||
window.addEventListener('fully.onScreensaverStop', this.onScreensaverStop.bind(this));
|
||||
window.addEventListener('fully.onBatteryLevelChanged', this.onBatteryLevelChanged.bind(this));
|
||||
window.addEventListener('fully.onMotion', this.onMotion.bind(this));
|
||||
|
||||
if (this.fullyInfo.supportsGeolocation) {
|
||||
window.addEventListener('fully.onMovement', this.onMovement.bind(this));
|
||||
}
|
||||
|
||||
if (this.fullyInfo.locationName) {
|
||||
this.logInfo('KIOSK', 'Listening for beacon messages');
|
||||
window.addEventListener('fully.onIBeacon', this.onIBeacon.bind(this));
|
||||
}
|
||||
|
||||
fully.bind('screenOn', 'onFullyEvent("fully.screenOn");')
|
||||
fully.bind('screenOff', 'onFullyEvent("fully.screenOff");')
|
||||
fully.bind('networkDisconnect', 'onFullyEvent("fully.networkDisconnect");')
|
||||
fully.bind('networkReconnect', 'onFullyEvent("fully.networkReconnect");')
|
||||
fully.bind('internetDisconnect', 'onFullyEvent("fully.internetDisconnect");')
|
||||
fully.bind('internetReconnect', 'onFullyEvent("fully.internetReconnect");')
|
||||
fully.bind('unplugged', 'onFullyEvent("fully.unplugged");')
|
||||
fully.bind('pluggedAC', 'onFullyEvent("fully.pluggedAC");')
|
||||
fully.bind('pluggedUSB', 'onFullyEvent("fully.pluggedUSB");')
|
||||
fully.bind('onScreensaverStart', 'onFullyEvent("fully.onScreensaverStart");')
|
||||
fully.bind('onScreensaverStop', 'onFullyEvent("fully.onScreensaverStop");')
|
||||
fully.bind('onBatteryLevelChanged', 'onFullyEvent("fully.onBatteryLevelChanged");')
|
||||
fully.bind('onMotion', 'onFullyEvent("fully.onMotion");') // Max. one per second
|
||||
fully.bind('onMovement', 'onFullyEvent("fully.onMovement");')
|
||||
fully.bind('onIBeacon', 'onFullyIBeaconEvent("fully.onIBeacon", "$id1", "$id2", "$id3", $distance);')
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Fully Kiosk events
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
onScreenOn() {
|
||||
this.logDebug('FULLY_KIOSK', 'Screen turned on');
|
||||
}
|
||||
|
||||
onScreenOff() {
|
||||
this.logDebug('FULLY_KIOSK', 'Screen turned off');
|
||||
}
|
||||
|
||||
onNetworkDisconnect() {
|
||||
this.logDebug('FULLY_KIOSK', 'Network disconnected');
|
||||
}
|
||||
|
||||
onNetworkReconnect() {
|
||||
this.logDebug('FULLY_KIOSK', 'Network reconnected');
|
||||
}
|
||||
|
||||
onInternetDisconnect() {
|
||||
this.logDebug('FULLY_KIOSK', 'Internet disconnected');
|
||||
}
|
||||
|
||||
onInternetReconnect() {
|
||||
this.logDebug('FULLY_KIOSK', 'Internet reconnected');
|
||||
}
|
||||
|
||||
onUnplugged() {
|
||||
this.logDebug('FULLY_KIOSK', 'Unplugged AC');
|
||||
this.fullyState.isPluggedIn = false;
|
||||
this.sendPluggedState();
|
||||
}
|
||||
|
||||
onPluggedAC() {
|
||||
this.logDebug('FULLY_KIOSK', 'Plugged AC');
|
||||
this.fullyState.isPluggedIn = true;
|
||||
this.sendPluggedState();
|
||||
}
|
||||
|
||||
onPluggedUSB() {
|
||||
this.logDebug('FULLY_KIOSK', 'Unplugged USB');
|
||||
this.logDebug('FULLY_KIOSK', 'Device plugged into USB');
|
||||
}
|
||||
|
||||
onScreensaverStart() {
|
||||
this.fullyState.isScreensaverOn = true;
|
||||
this.logDebug('FULLY_KIOSK', 'Screensaver started');
|
||||
this.sendScreensaverState();
|
||||
}
|
||||
|
||||
onScreensaverStop() {
|
||||
this.fullyState.isScreensaverOn = false;
|
||||
this.logDebug('FULLY_KIOSK', 'Screensaver stopped');
|
||||
this.sendScreensaverState();
|
||||
}
|
||||
|
||||
onBatteryLevelChanged() {
|
||||
this.logDebug('FULLY_KIOSK', 'Battery level changed');
|
||||
}
|
||||
|
||||
onMotion() {
|
||||
this.fullyState.isMotionDetected = true;
|
||||
this.logDebug('FULLY_KIOSK', 'Motion detected');
|
||||
this.sendMotionState();
|
||||
}
|
||||
|
||||
onMovement(e) {
|
||||
let functionId = 'onMovement';
|
||||
let throttledFunc = this.throttledFunctions[functionId];
|
||||
if (!throttledFunc) {
|
||||
throttledFunc = this.throttle(this.onMovementThrottled.bind(this), 10000);
|
||||
this.throttledFunctions[functionId] = throttledFunc;
|
||||
}
|
||||
|
||||
return throttledFunc(e);
|
||||
}
|
||||
|
||||
onMovementThrottled() {
|
||||
this.logDebug('FULLY_KIOSK', 'Movement detected (throttled)');
|
||||
|
||||
if (this.fullyInfo.supportsGeolocation) {
|
||||
this.updateCurrentPosition()
|
||||
.then(() => {
|
||||
this.sendMotionState();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
onIBeacon(e) {
|
||||
let functionId = e.detail.uuid;
|
||||
let throttledFunc = this.throttledFunctions[functionId];
|
||||
if (!throttledFunc) {
|
||||
throttledFunc = this.throttle(this.onIBeaconThrottled.bind(this), 10000);
|
||||
this.throttledFunctions[functionId] = throttledFunc;
|
||||
}
|
||||
|
||||
return throttledFunc(e);
|
||||
}
|
||||
|
||||
onIBeaconThrottled(e) {
|
||||
let beacon = e.detail;
|
||||
|
||||
this.logDebug('FULLY_KIOSK', `Received (throttled) beacon message (${JSON.stringify(beacon)})`);
|
||||
|
||||
let beaconId = beacon.uuid;
|
||||
beaconId += (beacon.major ? `_${beacon.major}` : '');
|
||||
beaconId += (beacon.minor ? `_${beacon.minor}` : '');
|
||||
|
||||
this.beacons[beaconId] = beacon;
|
||||
|
||||
this.sendBeaconState(beacon);
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* HTML5 Audio
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
onAudioPlay() {
|
||||
this.isAudioPlaying = true;
|
||||
this.sendMediaPlayerState();
|
||||
}
|
||||
|
||||
onAudioPlaying() {
|
||||
this.isAudioPlaying = true;
|
||||
this.sendMediaPlayerState();
|
||||
}
|
||||
|
||||
onAudioPause() {
|
||||
this.isAudioPlaying = false;
|
||||
this.sendMediaPlayerState();
|
||||
}
|
||||
|
||||
onAudioEnded() {
|
||||
this.isAudioPlaying = false;
|
||||
this.sendMediaPlayerState();
|
||||
}
|
||||
|
||||
onAudioVolumeChange() {
|
||||
this.sendMediaPlayerState();
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Send state to Home Assistant
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
sendMotionState() {
|
||||
if (!this.fullyInfo.motionBinarySensorEntityId) {
|
||||
return;
|
||||
}
|
||||
|
||||
clearTimeout(this.sendMotionStateTimer);
|
||||
let timeout = this.fullyState.isMotionDetected ? 5000 : 10000;
|
||||
|
||||
let state = this.fullyState.isMotionDetected ? "on" : "off";
|
||||
this.PostToHomeAssistant(`/api/states/${this.fullyInfo.motionBinarySensorEntityId}`, this.newPayload(state), () => {
|
||||
this.sendMotionStateTimer = setTimeout(() => {
|
||||
this.fullyState.isMotionDetected = false;
|
||||
this.sendMotionState();
|
||||
|
||||
// Send other states as well
|
||||
this.sendPluggedState();
|
||||
this.sendScreensaverState();
|
||||
this.sendMediaPlayerState();
|
||||
}, timeout);
|
||||
});
|
||||
}
|
||||
|
||||
sendPluggedState() {
|
||||
if (!this.fullyInfo.pluggedBinarySensorEntityId) {
|
||||
return;
|
||||
}
|
||||
|
||||
let state = this.fullyState.isPluggedIn ? "on" : "off";
|
||||
this.PostToHomeAssistant(`/api/states/${this.fullyInfo.pluggedBinarySensorEntityId}`, this.newPayload(state));
|
||||
}
|
||||
|
||||
sendScreensaverState() {
|
||||
if (!this.fullyInfo.screensaverLightEntityId) {
|
||||
return;
|
||||
}
|
||||
|
||||
let state = this.fullyState.isScreensaverOn ? "on" : "off";
|
||||
this.PostToHomeAssistant(`/api/states/${this.fullyInfo.screensaverLightEntityId}`, this.newPayload(state));
|
||||
}
|
||||
|
||||
sendMediaPlayerState() {
|
||||
if (!this.fullyInfo.mediaPlayerEntityId) {
|
||||
return;
|
||||
}
|
||||
|
||||
let state = this.isAudioPlaying ? "playing" : "idle";
|
||||
this.PostToHomeAssistant(`/api/fully_kiosk/media_player/${this.fullyInfo.mediaPlayerEntityId}`, this.newPayload(state));
|
||||
}
|
||||
|
||||
sendBeaconState(beacon) {
|
||||
if (!this.fullyInfo.motionBinarySensorEntityId) {
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
let payload = {
|
||||
name: this.fullyInfo.locationName,
|
||||
address: this.fullyInfo.macAddress,
|
||||
device: beacon.uuid,
|
||||
beaconUUID: beacon.uuid,
|
||||
latitude: this.position ? this.position.coords.latitude : undefined,
|
||||
longitude: this.position ? this.position.coords.longitude : undefined,
|
||||
entry: 1,
|
||||
}
|
||||
this.PostToHomeAssistant(`/api/geofency`, payload, undefined, false);
|
||||
*/
|
||||
|
||||
/*
|
||||
let payload = {
|
||||
mac: undefined,
|
||||
dev_id: beacon.uuid.replace(/-/g, '_'),
|
||||
host_name: undefined,
|
||||
location_name: this.fullyInfo.macAddress,
|
||||
gps: this.position ? [this.position.coords.latitude, this.position.coords.longitude] : undefined,
|
||||
gps_accuracy: undefined,
|
||||
battery: undefined,
|
||||
|
||||
uuid: beacon.uuid,
|
||||
major: beacon.major,
|
||||
minor: beacon.minor,
|
||||
};
|
||||
|
||||
this.PostToHomeAssistant(`/api/services/device_tracker/see`, payload);
|
||||
*/
|
||||
|
||||
/*
|
||||
let fullyId = this.fullyInfo.macAddress.replace(/[:-]/g, "_");
|
||||
payload = { topic: `room_presence/${fullyId}`, payload: `{ \"id\": \"${beacon.uuid}\", \"distance\": ${beacon.distance} }` };
|
||||
this.floorplan.hass.callService('mqtt', 'publish', payload);
|
||||
*/
|
||||
|
||||
let deviceId = beacon.uuid.replace(/[-_]/g, '').toUpperCase();
|
||||
|
||||
let payload = {
|
||||
room: this.fullyInfo.locationName,
|
||||
uuid: beacon.uuid,
|
||||
major: beacon.major,
|
||||
minor: beacon.minor,
|
||||
distance: beacon.distance,
|
||||
latitude: this.position ? this.position.coords.latitude : undefined,
|
||||
longitude: this.position ? this.position.coords.longitude : undefined,
|
||||
};
|
||||
|
||||
this.PostToHomeAssistant(`/api/room_presence/${deviceId}`, payload);
|
||||
}
|
||||
|
||||
newPayload(state) {
|
||||
this.updateFullyState();
|
||||
|
||||
let payload = {
|
||||
state: state,
|
||||
brightness: this.fullyState.screenBrightness,
|
||||
attributes: {
|
||||
volume_level: this.audio.volume,
|
||||
media_content_id: this.audio.src,
|
||||
address: this.fullyInfo.macAddress,
|
||||
mac_address: this.fullyInfo.macAddress,
|
||||
serial_number: this.fullyInfo.serialNumber,
|
||||
device_id: this.fullyInfo.deviceId,
|
||||
battery_level: this.fullyState.batteryLevel,
|
||||
screen_brightness: this.fullyState.screenBrightness,
|
||||
_isScreenOn: this.fullyState.isScreenOn,
|
||||
_isPluggedIn: this.fullyState.isPluggedIn,
|
||||
_isMotionDetected: this.fullyState.isMotionDetected,
|
||||
_isScreensaverOn: this.fullyState.isScreensaverOn,
|
||||
_latitude: this.position && this.position.coords.latitude,
|
||||
_longitude: this.position && this.position.coords.longitude,
|
||||
_beacons: JSON.stringify(Object.keys(this.beacons).map(beaconId => this.beacons[beaconId])),
|
||||
}
|
||||
};
|
||||
|
||||
return payload;
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Geolocation
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
setScreenBrightness(brightness) {
|
||||
fully.setScreenBrightness(brightness);
|
||||
}
|
||||
|
||||
startScreensaver() {
|
||||
this.logInfo('FULLY_KIOSK', `Starting screensaver`);
|
||||
fully.startScreensaver();
|
||||
}
|
||||
|
||||
stopScreensaver() {
|
||||
this.logInfo('FULLY_KIOSK', `Stopping screensaver`);
|
||||
fully.stopScreensaver();
|
||||
}
|
||||
|
||||
playTextToSpeech(text) {
|
||||
this.logInfo('FULLY_KIOSK', `Playing text-to-speech: ${text}`);
|
||||
fully.textToSpeech(text);
|
||||
}
|
||||
|
||||
playMedia(mediaUrl) {
|
||||
this.audio.src = mediaUrl;
|
||||
|
||||
this.logInfo('FULLY_KIOSK', `Playing media: ${this.audio.src}`);
|
||||
this.audio.play();
|
||||
}
|
||||
|
||||
pauseMedia() {
|
||||
this.logInfo('FULLY_KIOSK', `Pausing media: ${this.audio.src}`);
|
||||
this.audio.pause();
|
||||
}
|
||||
|
||||
setVolume(level) {
|
||||
this.audio.volume = level;
|
||||
}
|
||||
|
||||
PostToHomeAssistant(url, payload, onSuccess) {
|
||||
let options = {
|
||||
type: 'POST',
|
||||
url: url,
|
||||
headers: { "X-HA-Access": this.authToken },
|
||||
data: JSON.stringify(payload),
|
||||
success: function (result) {
|
||||
this.logDebug('FULLY_KIOSK', `Posted state: ${url} ${JSON.stringify(payload)}`);
|
||||
if (onSuccess) {
|
||||
onSuccess();
|
||||
}
|
||||
}.bind(this),
|
||||
error: function (error) {
|
||||
this.handleError(new URIError(`Error posting state: ${url}`));
|
||||
}.bind(this)
|
||||
};
|
||||
|
||||
jQuery.ajax(options);
|
||||
}
|
||||
|
||||
subscribeHomeAssistantEvents() {
|
||||
/*
|
||||
this.floorplan.hass.connection.subscribeEvents((event) => {
|
||||
},
|
||||
'state_changed');
|
||||
*/
|
||||
|
||||
this.floorplan.hass.connection.subscribeEvents((event) => {
|
||||
if (this.fullyInfo.screensaverLightEntityId && (event.data.domain === 'light')) {
|
||||
if (event.data.service_data.entity_id.toString() === this.fullyInfo.screensaverLightEntityId) {
|
||||
switch (event.data.service) {
|
||||
case 'turn_on':
|
||||
this.startScreensaver();
|
||||
break;
|
||||
|
||||
case 'turn_off':
|
||||
this.stopScreensaver();
|
||||
break;
|
||||
}
|
||||
|
||||
let brightness = event.data.service_data.brightness;
|
||||
if (brightness) {
|
||||
this.setScreenBrightness(brightness);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (this.fullyInfo.mediaPlayerEntityId && (event.data.domain === 'media_player')) {
|
||||
let targetEntityId;
|
||||
let serviceEntityId = event.data.service_data.entity_id;
|
||||
|
||||
if (Array.isArray(serviceEntityId)) {
|
||||
targetEntityId = serviceEntityId.find(entityId => (entityId === this.fullyInfo.mediaPlayerEntityId));
|
||||
}
|
||||
else {
|
||||
targetEntityId = (serviceEntityId === this.fullyInfo.mediaPlayerEntityId) ? serviceEntityId : undefined;
|
||||
}
|
||||
|
||||
if (targetEntityId) {
|
||||
switch (event.data.service) {
|
||||
case 'play_media':
|
||||
this.playMedia(event.data.service_data.media_content_id);
|
||||
break;
|
||||
|
||||
case 'media_play':
|
||||
this.playMedia();
|
||||
break;
|
||||
|
||||
case 'media_pause':
|
||||
case 'media_stop':
|
||||
this.pauseMedia();
|
||||
break;
|
||||
|
||||
case 'volume_set':
|
||||
this.setVolume(event.data.service_data.volume_level);
|
||||
break;
|
||||
|
||||
default:
|
||||
this.logWarning('FULLY_KIOSK', `Service not supported: ${event.data.service}`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if ((event.data.domain === 'tts') && (event.data.service === 'google_say')) {
|
||||
if (this.fullyInfo.mediaPlayerEntityId === event.data.service_data.entity_id) {
|
||||
this.logDebug('FULLY_KIOSK', 'Playing TTS using Fully Kiosk');
|
||||
this.playTextToSpeech(event.data.service_data.message);
|
||||
}
|
||||
}
|
||||
*/
|
||||
},
|
||||
'call_service');
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Geolocation
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
updateCurrentPosition() {
|
||||
if (!navigator.geolocation) {
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
navigator.geolocation.getCurrentPosition(
|
||||
(position) => {
|
||||
this.logDebug('FULLY_KIOSK', `Current location: latitude: ${position.coords.latitude}, longitude: ${position.coords.longitude}`);
|
||||
this.position = position;
|
||||
resolve(position);
|
||||
},
|
||||
(err) => {
|
||||
this.logError('FULLY_KIOSK', 'Unable to retrieve location');
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Errors / logging
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
handleError(message) {
|
||||
this.floorplan.handleError(message);
|
||||
}
|
||||
|
||||
logError(area, message) {
|
||||
this.floorplan.logError(message);
|
||||
}
|
||||
|
||||
logWarning(area, message) {
|
||||
this.floorplan.logWarning(area, message);
|
||||
}
|
||||
|
||||
logInfo(area, message) {
|
||||
this.floorplan.logInfo(area, message);
|
||||
}
|
||||
|
||||
logDebug(area, message) {
|
||||
this.floorplan.logDebug(area, message);
|
||||
}
|
||||
|
||||
/***************************************************************************************************************************/
|
||||
/* Utility functions
|
||||
/***************************************************************************************************************************/
|
||||
|
||||
debounce(func, wait, options) {
|
||||
let lastArgs,
|
||||
lastThis,
|
||||
maxWait,
|
||||
result,
|
||||
timerId,
|
||||
lastCallTime
|
||||
|
||||
let lastInvokeTime = 0
|
||||
let leading = false
|
||||
let maxing = false
|
||||
let trailing = true
|
||||
|
||||
if (typeof func != 'function') {
|
||||
throw new TypeError('Expected a function')
|
||||
}
|
||||
wait = +wait || 0
|
||||
if (options) {
|
||||
leading = !!options.leading
|
||||
maxing = 'maxWait' in options
|
||||
maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait
|
||||
trailing = 'trailing' in options ? !!options.trailing : trailing
|
||||
}
|
||||
|
||||
function invokeFunc(time) {
|
||||
const args = lastArgs
|
||||
const thisArg = lastThis
|
||||
|
||||
lastArgs = lastThis = undefined
|
||||
lastInvokeTime = time
|
||||
result = func.apply(thisArg, args)
|
||||
return result
|
||||
}
|
||||
|
||||
function leadingEdge(time) {
|
||||
// Reset any `maxWait` timer.
|
||||
lastInvokeTime = time
|
||||
// Start the timer for the trailing edge.
|
||||
timerId = setTimeout(timerExpired, wait)
|
||||
// Invoke the leading edge.
|
||||
return leading ? invokeFunc(time) : result
|
||||
}
|
||||
|
||||
function remainingWait(time) {
|
||||
const timeSinceLastCall = time - lastCallTime
|
||||
const timeSinceLastInvoke = time - lastInvokeTime
|
||||
const timeWaiting = wait - timeSinceLastCall
|
||||
|
||||
return maxing
|
||||
? Math.min(timeWaiting, maxWait - timeSinceLastInvoke)
|
||||
: timeWaiting
|
||||
}
|
||||
|
||||
function shouldInvoke(time) {
|
||||
const timeSinceLastCall = time - lastCallTime
|
||||
const timeSinceLastInvoke = time - lastInvokeTime
|
||||
|
||||
// Either this is the first call, activity has stopped and we're at the
|
||||
// trailing edge, the system time has gone backwards and we're treating
|
||||
// it as the trailing edge, or we've hit the `maxWait` limit.
|
||||
return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
|
||||
(timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait))
|
||||
}
|
||||
|
||||
function timerExpired() {
|
||||
const time = Date.now()
|
||||
if (shouldInvoke(time)) {
|
||||
return trailingEdge(time)
|
||||
}
|
||||
// Restart the timer.
|
||||
timerId = setTimeout(timerExpired, remainingWait(time))
|
||||
}
|
||||
|
||||
function trailingEdge(time) {
|
||||
timerId = undefined
|
||||
|
||||
// Only invoke if we have `lastArgs` which means `func` has been
|
||||
// debounced at least once.
|
||||
if (trailing && lastArgs) {
|
||||
return invokeFunc(time)
|
||||
}
|
||||
lastArgs = lastThis = undefined
|
||||
return result
|
||||
}
|
||||
|
||||
function cancel() {
|
||||
if (timerId !== undefined) {
|
||||
clearTimeout(timerId)
|
||||
}
|
||||
lastInvokeTime = 0
|
||||
lastArgs = lastCallTime = lastThis = timerId = undefined
|
||||
}
|
||||
|
||||
function flush() {
|
||||
return timerId === undefined ? result : trailingEdge(Date.now())
|
||||
}
|
||||
|
||||
function pending() {
|
||||
return timerId !== undefined
|
||||
}
|
||||
|
||||
function debounced(...args) {
|
||||
const time = Date.now()
|
||||
const isInvoking = shouldInvoke(time)
|
||||
|
||||
lastArgs = args
|
||||
lastThis = this
|
||||
lastCallTime = time
|
||||
|
||||
if (isInvoking) {
|
||||
if (timerId === undefined) {
|
||||
return leadingEdge(lastCallTime)
|
||||
}
|
||||
if (maxing) {
|
||||
// Handle invocations in a tight loop.
|
||||
timerId = setTimeout(timerExpired, wait)
|
||||
return invokeFunc(lastCallTime)
|
||||
}
|
||||
}
|
||||
if (timerId === undefined) {
|
||||
timerId = setTimeout(timerExpired, wait)
|
||||
}
|
||||
return result
|
||||
}
|
||||
debounced.cancel = cancel
|
||||
debounced.flush = flush
|
||||
debounced.pending = pending
|
||||
return debounced
|
||||
}
|
||||
|
||||
throttle(func, wait, options) {
|
||||
let leading = true
|
||||
let trailing = true
|
||||
|
||||
if (typeof func != 'function') {
|
||||
throw new TypeError('Expected a function');
|
||||
}
|
||||
if (options) {
|
||||
leading = 'leading' in options ? !!options.leading : leading
|
||||
trailing = 'trailing' in options ? !!options.trailing : trailing
|
||||
}
|
||||
return this.debounce(func, wait, {
|
||||
'leading': leading,
|
||||
'maxWait': wait,
|
||||
'trailing': trailing
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
window.FullyKiosk = FullyKiosk;
|
||||
}).call(this);
|