Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UUIDs are not working for Homeworks as reported in https://github.com/home-assistant/core/issues/55881 #70

Open
cdheiser opened this issue Sep 11, 2021 · 4 comments
Assignees
Labels

Comments

@cdheiser
Copy link
Collaborator

While the GUUID seems to be working fine, device UUIDs are not working in homeworks.

@cdheiser
Copy link
Collaborator Author

@awrede can you provide your DbXmlInfo.xml. This document describes how to extract it: https://www.lutron.com/TechnicalDocumentLibrary/HWQS_XML_Extraction_FAQ.pdf

@cdheiser cdheiser self-assigned this Sep 11, 2021
@cdheiser cdheiser added the bug label Sep 11, 2021
cdheiser added a commit to cdheiser/home-assistant that referenced this issue Sep 11, 2021
Danielhiversen pushed a commit to home-assistant/core that referenced this issue Sep 12, 2021
#56113)

This is a workaround for thecynic/pylutron#70

Co-authored-by: cdheiser <cdheiser@users.noreply.github.com>
@awrede
Copy link

awrede commented Sep 13, 2021 via email

@bimmbo
Copy link

bimmbo commented Oct 1, 2021

I am having the same issue with the Lutron integration. I've attached the xml file you asked for.

<?xml version="1.0" encoding="UTF-8" ?>
<!--Copyright 2010 Lutron Electronics Co., Inc. All rights reserved.    -->
<!--                                                                      -->
<!-- This file and the information contained herein are confidential      -->
<!-- and proprietary to Lutron Electronics Co., Inc.  Unauthorized        -->
<!-- possession or use of this file or the information contained herein   -->
<!-- is prohibited.  No reproduction may be made of this file without     -->
<!-- the express written permission of Lutron Electronics Co., Inc.     -->
<Project>
    <ProjectName ProjectName="New Project"/>
    <Copyright>Copyright 2010 Lutron Electronics Co., Inc. All rights reserved</Copyright>
    <GUID>386681e5ab96ac4a9ae3426628c8a1eb</GUID>
    <AppVer>8.2.0</AppVer>
    <XMLVer>1.0</XMLVer>
    <DbExportDate>04/15/2015</DbExportDate>
    <DbExportTime>18:55:31</DbExportTime>
    <Areas>
        <Area Name="New Project" IntegrationID="0" OccupancyGroupAssignedToID="0" SortOrder="0">
        <DeviceGroups/>
        <Scenes/>
        <ShadeGroups/>
        <Outputs/>
        <Areas>
            <Area Name="Dining" IntegrationID="35" OccupancyGroupAssignedToID="1518" SortOrder="12">
            <DeviceGroups>
                <DeviceGroup Name="Chandelier" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Chandelier" IntegrationID="36" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Patio" IntegrationID="25" OccupancyGroupAssignedToID="1136" SortOrder="11">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="26" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Kitchen" IntegrationID="24" OccupancyGroupAssignedToID="1125" SortOrder="10">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="4">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Counter UCL" SortOrder="3">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Island UCL" SortOrder="2">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Left Perimeter RC" SortOrder="1">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Right Perimeter RC" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="31" OutputType="INC" Wattage="0" SortOrder="4"/>
                <Output Name="Counter UCL" IntegrationID="30" OutputType="NON_DIM" Wattage="0" SortOrder="3"/>
                <Output Name="Island UCL" IntegrationID="29" OutputType="NON_DIM" Wattage="0" SortOrder="2"/>
                <Output Name="Left Perimeter RC" IntegrationID="28" OutputType="INC" Wattage="0" SortOrder="1"/>
                <Output Name="Right Perimeter RC" IntegrationID="27" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Bed 3" IntegrationID="13" OccupancyGroupAssignedToID="596" SortOrder="9">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="19" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Bed 2" IntegrationID="12" OccupancyGroupAssignedToID="585" SortOrder="8">
            <DeviceGroups>
                <DeviceGroup Name="Chandelier" SortOrder="1">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Chandelier" IntegrationID="37" OutputType="INC" Wattage="0" SortOrder="1"/>
                <Output Name="Recess Cans" IntegrationID="21" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Kid&apos;s Den" IntegrationID="11" OccupancyGroupAssignedToID="574" SortOrder="7">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="20" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Foyer" IntegrationID="10" OccupancyGroupAssignedToID="563" SortOrder="6">
            <DeviceGroups>
                <DeviceGroup Name="Coach Lights" SortOrder="1">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Chandelier" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Coach Lights" IntegrationID="23" OutputType="NON_DIM" Wattage="0" SortOrder="1"/>
                <Output Name="Chandelier" IntegrationID="22" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Master Bed" IntegrationID="9" OccupancyGroupAssignedToID="552" SortOrder="5">
            <DeviceGroups>
                <DeviceGroup Name="Reading MC" SortOrder="1">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Reading MC" IntegrationID="32" OutputType="INC" Wattage="0" SortOrder="1"/>
                <Output Name="Recess Cans" IntegrationID="18" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Master Bath" IntegrationID="8" OccupancyGroupAssignedToID="541" SortOrder="4">
            <DeviceGroups>
                <DeviceGroup Name="Chandelier" SortOrder="2">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Mina&apos;s Vanity" SortOrder="1">
                    <Devices/>
                </DeviceGroup>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Chandelier" IntegrationID="34" OutputType="INC" Wattage="0" SortOrder="2"/>
                <Output Name="Mina&apos;s Vanity" IntegrationID="33" OutputType="INC" Wattage="0" SortOrder="1"/>
                <Output Name="Recess Cans" IntegrationID="17" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Master Retreat" IntegrationID="7" OccupancyGroupAssignedToID="530" SortOrder="3">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="16" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Craft Room" IntegrationID="6" OccupancyGroupAssignedToID="519" SortOrder="2">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="15" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Study" IntegrationID="5" OccupancyGroupAssignedToID="508" SortOrder="1">
            <DeviceGroups>
                <DeviceGroup Name="Recess Cans" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs>
                <Output Name="Recess Cans" IntegrationID="14" OutputType="INC" Wattage="0" SortOrder="0"/>
            </Outputs>
            <Areas/>
            </Area>
            <Area Name="Equipment Room" IntegrationID="2" OccupancyGroupAssignedToID="59" SortOrder="0">
            <DeviceGroups>
                <DeviceGroup Name="Kids Den" SortOrder="0">
                    <Devices/>
                </DeviceGroup>
                <Device Name="Enclosure Device 001" IntegrationID="1" DeviceType="MAIN_REPEATER" GangPosition="0" SortOrder="809328568">
                    <Components>
                        <Component ComponentNumber="1" ComponentType="BUTTON">
                            <Button Name="Button 1" ButtonType="SingleAction" PrimaryActionType="3" SceneSaver="false" CycleDim="false" StopIfMoving="false" ProgrammingModelID="893" LedLogic="2" ReverseLedLogic="false">
                                <Actions/>
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="2" ComponentType="BUTTON">
                            <Button Name="Button 2">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="3" ComponentType="BUTTON">
                            <Button Name="Button 3">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="4" ComponentType="BUTTON">
                            <Button Name="Button 4">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="5" ComponentType="BUTTON">
                            <Button Name="Button 5">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="6" ComponentType="BUTTON">
                            <Button Name="Button 6">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="7" ComponentType="BUTTON">
                            <Button Name="Button 7">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="8" ComponentType="BUTTON">
                            <Button Name="Button 8">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="9" ComponentType="BUTTON">
                            <Button Name="Button 9">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="10" ComponentType="BUTTON">
                            <Button Name="Button 10">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="11" ComponentType="BUTTON">
                            <Button Name="Button 11">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="12" ComponentType="BUTTON">
                            <Button Name="Button 12">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="13" ComponentType="BUTTON">
                            <Button Name="Button 13">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="14" ComponentType="BUTTON">
                            <Button Name="Button 14">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="15" ComponentType="BUTTON">
                            <Button Name="Button 15">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="16" ComponentType="BUTTON">
                            <Button Name="Button 16">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="17" ComponentType="BUTTON">
                            <Button Name="Button 17">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="18" ComponentType="BUTTON">
                            <Button Name="Button 18">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="19" ComponentType="BUTTON">
                            <Button Name="Button 19">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="20" ComponentType="BUTTON">
                            <Button Name="Button 20">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="21" ComponentType="BUTTON">
                            <Button Name="Button 21">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="22" ComponentType="BUTTON">
                            <Button Name="Button 22">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="23" ComponentType="BUTTON">
                            <Button Name="Button 23">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="24" ComponentType="BUTTON">
                            <Button Name="Button 24">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="25" ComponentType="BUTTON">
                            <Button Name="Button 25">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="26" ComponentType="BUTTON">
                            <Button Name="Button 26">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="27" ComponentType="BUTTON">
                            <Button Name="Button 27">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="28" ComponentType="BUTTON">
                            <Button Name="Button 28">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="29" ComponentType="BUTTON">
                            <Button Name="Button 29">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="30" ComponentType="BUTTON">
                            <Button Name="Button 30">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="31" ComponentType="BUTTON">
                            <Button Name="Button 31">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="32" ComponentType="BUTTON">
                            <Button Name="Button 32">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="33" ComponentType="BUTTON">
                            <Button Name="Button 33">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="34" ComponentType="BUTTON">
                            <Button Name="Button 34">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="35" ComponentType="BUTTON">
                            <Button Name="Button 35">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="36" ComponentType="BUTTON">
                            <Button Name="Button 36">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="37" ComponentType="BUTTON">
                            <Button Name="Button 37">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="38" ComponentType="BUTTON">
                            <Button Name="Button 38">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="39" ComponentType="BUTTON">
                            <Button Name="Button 39">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="40" ComponentType="BUTTON">
                            <Button Name="Button 40">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="41" ComponentType="BUTTON">
                            <Button Name="Button 41">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="42" ComponentType="BUTTON">
                            <Button Name="Button 42">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="43" ComponentType="BUTTON">
                            <Button Name="Button 43">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="44" ComponentType="BUTTON">
                            <Button Name="Button 44">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="45" ComponentType="BUTTON">
                            <Button Name="Button 45">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="46" ComponentType="BUTTON">
                            <Button Name="Button 46">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="47" ComponentType="BUTTON">
                            <Button Name="Button 47">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="48" ComponentType="BUTTON">
                            <Button Name="Button 48">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="49" ComponentType="BUTTON">
                            <Button Name="Button 49">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="50" ComponentType="BUTTON">
                            <Button Name="Button 50">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="51" ComponentType="BUTTON">
                            <Button Name="Button 51">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="52" ComponentType="BUTTON">
                            <Button Name="Button 52">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="53" ComponentType="BUTTON">
                            <Button Name="Button 53">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="54" ComponentType="BUTTON">
                            <Button Name="Button 54">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="55" ComponentType="BUTTON">
                            <Button Name="Button 55">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="56" ComponentType="BUTTON">
                            <Button Name="Button 56">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="57" ComponentType="BUTTON">
                            <Button Name="Button 57">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="58" ComponentType="BUTTON">
                            <Button Name="Button 58">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="59" ComponentType="BUTTON">
                            <Button Name="Button 59">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="60" ComponentType="BUTTON">
                            <Button Name="Button 60">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="61" ComponentType="BUTTON">
                            <Button Name="Button 61">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="62" ComponentType="BUTTON">
                            <Button Name="Button 62">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="63" ComponentType="BUTTON">
                            <Button Name="Button 63">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="64" ComponentType="BUTTON">
                            <Button Name="Button 64">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="65" ComponentType="BUTTON">
                            <Button Name="Button 65">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="66" ComponentType="BUTTON">
                            <Button Name="Button 66">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="67" ComponentType="BUTTON">
                            <Button Name="Button 67">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="68" ComponentType="BUTTON">
                            <Button Name="Button 68">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="69" ComponentType="BUTTON">
                            <Button Name="Button 69">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="70" ComponentType="BUTTON">
                            <Button Name="Button 70">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="71" ComponentType="BUTTON">
                            <Button Name="Button 71">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="72" ComponentType="BUTTON">
                            <Button Name="Button 72">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="73" ComponentType="BUTTON">
                            <Button Name="Button 73">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="74" ComponentType="BUTTON">
                            <Button Name="Button 74">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="75" ComponentType="BUTTON">
                            <Button Name="Button 75">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="76" ComponentType="BUTTON">
                            <Button Name="Button 76">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="77" ComponentType="BUTTON">
                            <Button Name="Button 77" Engraving="Away Mode">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="78" ComponentType="BUTTON">
                            <Button Name="Button 78" Engraving="Goodnight">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="79" ComponentType="BUTTON">
                            <Button Name="Button 79" Engraving="Welcome">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="80" ComponentType="BUTTON">
                            <Button Name="Button 80" Engraving="Away Scene">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="81" ComponentType="BUTTON">
                            <Button Name="Button 81">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="82" ComponentType="BUTTON">
                            <Button Name="Button 82" Engraving="Away Mode">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="83" ComponentType="BUTTON">
                            <Button Name="Button 83" Engraving="Goodnight">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="84" ComponentType="BUTTON">
                            <Button Name="Button 84" Engraving="Welcome">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="85" ComponentType="BUTTON">
                            <Button Name="Button 85" Engraving="Away Scene">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="86" ComponentType="BUTTON">
                            <Button Name="Button 86">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="87" ComponentType="BUTTON">
                            <Button Name="Button 87" Engraving="Away Mode">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="88" ComponentType="BUTTON">
                            <Button Name="Button 88" Engraving="Goodnight">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="89" ComponentType="BUTTON">
                            <Button Name="Button 89" Engraving="Welcome">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="90" ComponentType="BUTTON">
                            <Button Name="Button 90" Engraving="Away Scene">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="91" ComponentType="BUTTON">
                            <Button Name="Button 91">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="92" ComponentType="BUTTON">
                            <Button Name="Button 92" Engraving="Away Mode">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="93" ComponentType="BUTTON">
                            <Button Name="Button 93" Engraving="Goodnight">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="94" ComponentType="BUTTON">
                            <Button Name="Button 94" Engraving="Welcome">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="95" ComponentType="BUTTON">
                            <Button Name="Button 95" Engraving="Away Scene">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="96" ComponentType="BUTTON">
                            <Button Name="Button 96">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="97" ComponentType="BUTTON">
                            <Button Name="Button 97">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="98" ComponentType="BUTTON">
                            <Button Name="Button 98" Engraving="Ext. Flash">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="99" ComponentType="BUTTON">
                            <Button Name="Button 99" Engraving="Int. Full">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="100" ComponentType="BUTTON">
                            <Button Name="Button 100" Engraving="Emergency">
                                <Notes/>
                            </Button>
                        </Component>
                        <Component ComponentNumber="101" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="893"/>
                        </Component>
                        <Component ComponentNumber="102" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="103" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="104" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="105" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="106" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="107" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="108" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="109" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="110" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="111" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="112" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="113" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="114" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="115" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="116" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="117" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="118" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="119" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="120" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="121" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="122" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="123" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="124" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="125" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="126" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="127" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="128" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="129" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="130" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="131" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="132" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="133" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="134" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="135" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="136" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="137" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="138" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="139" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="140" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="141" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="142" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="143" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="144" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="145" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="146" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="147" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="148" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="149" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="150" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="151" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="152" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="153" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="154" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="155" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="156" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="157" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="158" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="159" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="160" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="161" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="162" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="163" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="164" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="165" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="166" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="167" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="168" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="169" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="170" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="171" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="172" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="173" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="174" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="175" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="176" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="177" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="178" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="179" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="180" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="181" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="182" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="183" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="184" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="185" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="186" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="187" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="188" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="189" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="190" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="191" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="192" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="193" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="194" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="195" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="196" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="197" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="198" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="199" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                        <Component ComponentNumber="200" ComponentType="LED">
                            <LED isReverseLogic="false" ProgrammingModelID="0"/>
                        </Component>
                    </Components>
                </Device>
            </DeviceGroups>
            <Scenes/>
            <ShadeGroups/>
            <Outputs/>
            <Areas/>
            </Area>
        </Areas>
        </Area>
    </Areas>
    <OccupancyGroups>
        <OccupancyGroup OccupancyGroupNumber="59"/>
        <OccupancyGroup OccupancyGroupNumber="508"/>
        <OccupancyGroup OccupancyGroupNumber="519"/>
        <OccupancyGroup OccupancyGroupNumber="530"/>
        <OccupancyGroup OccupancyGroupNumber="541"/>
        <OccupancyGroup OccupancyGroupNumber="552"/>
        <OccupancyGroup OccupancyGroupNumber="563"/>
        <OccupancyGroup OccupancyGroupNumber="574"/>
        <OccupancyGroup OccupancyGroupNumber="585"/>
        <OccupancyGroup OccupancyGroupNumber="596"/>
        <OccupancyGroup OccupancyGroupNumber="1125"/>
        <OccupancyGroup OccupancyGroupNumber="1136"/>
        <OccupancyGroup OccupancyGroupNumber="1518"/>
    </OccupancyGroups>
    <Timeclocks>
        <Timeclock Name="Project Timeclock" IntegrationID="4" SortOrder="0" Type="0">
            <TimeclockModes>
                <TimeclockMode Name="Away" Index="0" Type="188"/>
                <TimeclockMode Name="Suspend" Index="1" Type="188"/>
                <TimeclockMode Name="Alternate" Index="2" Type="188"/>
                <TimeclockMode Name="Normal" Index="3" Type="188"/>
            </TimeclockModes>
            <TimeClockEvents/>
        </Timeclock>
    </Timeclocks>
    <HVACs/>
    <GreenModes>
        <GreenMode IntegrationID="3">
            <GreenModeSteps>
                <GreenModeStep Name="Off" StepNumber="1" SortOrder="0">
                    <Presets>
                        <Preset Name="StepPreset">
                            <PresetAssignments>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>37</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>36</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>34</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>33</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>32</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>31</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>28</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>27</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>26</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>22</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>21</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>20</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>19</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>18</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>17</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>16</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>15</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>0.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>14</IntegrationID>
                                </PresetAssignment>
                            </PresetAssignments>
                        </Preset>
                    </Presets>
                </GreenModeStep>
                <GreenModeStep Name="Green Mode" StepNumber="2" SortOrder="1">
                    <Presets>
                        <Preset Name="StepPreset">
                            <PresetAssignments>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>37</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>36</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>34</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>33</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>32</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>31</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>28</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>27</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>26</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>22</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>21</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>20</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>19</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>18</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>17</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>16</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>15</IntegrationID>
                                </PresetAssignment>
                                <PresetAssignment AssignmentName="ADJUST_RUNTIME_HIGH_END_TRIM_WITH_GOTO_LEVEL" AssignmentType="43">
                                    <TrimValue>5.00</TrimValue>
                                    <Level>100.00</Level>
                                    <Fade>00:00:00.00</Fade>
                                    <IntegrationID>14</IntegrationID>
                                </PresetAssignment>
                            </PresetAssignments>
                        </Preset>
                    </Presets>
                </GreenModeStep>
            </GreenModeSteps>
        </GreenMode>
    </GreenModes>
</Project>

@cdheiser
Copy link
Collaborator Author

cdheiser commented Oct 3, 2021 via email

SupremeSports pushed a commit to SupremeSports/core that referenced this issue Oct 17, 2021
* Cleanup sensor.py

* Add EntityDescription

* Add checks for state attributes

* Fix pylint

* Simplify checks

* Add icon checks

* Update data type

* Use mixin for required keys, and review class initialisation

* Add constraint to TypeVar("T")

* Enable lambda for icon handling

* Enable lambda for value handling

* Enable lambda for value handling

Bump version to 2021.10.0dev0 (#55227)

Remove temperature conversion - tado (#55231)

[ci skip] Translation update

Remove un-needed asserts on hass in Amecrest (#55244)

Remove option and range checks in Rituals integration (#55222)

* Fix number

* Fix select

Fix double precision float for postgresql (#55249)

Be tolerant of Wemo insight_param keys that might not exist (#55232)

Only postfix image name for container (#55248)

Fix MQTT add-on discovery to be ignorable (#55250)

Warn if a sensor with state_class_total has a decreasing value twice (#55251)

Change entity_timers to be a local variable. (#55258)

Ensure outstanding pymodbus calls are handled before closing.

Limit USB discovery to specific manufacturer/description/serial_number matches (#55236)

* Limit USB discovery to specific manufacturer/description/serial_number matches

* test for None case

Defer zha auto configure probe until after clicking configure (#55239)

Abort zha usb discovery if deconz is setup (#55245)

* Abort zha usb discovery if deconz is setup

* Update tests/components/zha/test_config_flow.py

* add deconz domain const

* Update homeassistant/components/zha/config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

Bump up ZHA dependencies (#55242)

* Bump up ZHA dependencies

* Bump up zha-device-handlers

Fix AttributeError for non-MIOT Xiaomi Miio purifiers (#55271)

Don't create DSL sensor for devices that don't support DSL (#55269)

Set up polling task with subscriptions in Sonos (#54355)

Only warn once per entity when the async_camera_image signature needs to be updated (#55238)

Move AirlySensorEntityDescription to sensor platform (#55277)

Bump ring to 0.7.1 (#55282)

Ensure yeelight model is set in the config entry (#55281)

* Ensure yeelight model is set in the config entry

- If the model was not set in the config entry the light could
  be sent commands it could not handle

* update tests

* fix test

Fix some yeelights showing wrong state after on/off (#55279)

Fix yeelight brightness when nightlight switch is disabled (#55278)

Fix unique_id conflict in smarttthings (#55235)

Gracefully handle pyudev failing to filter on WSL (#55286)

* Gracefully handle pyudev failing to filter on WSL

* add debug message

* add mocks so we reach the new check

Fix creation of new nmap tracker entities (#55297)

Bump aiorecollect to 1.0.8 (#55300)

Set yeelight capabilities from external discovery (#55280)

[ci skip] Translation update

Add CONF_STATE_CLASS to `sensor/__init__.py` (#54106)

* add CONF_STATE_CLASS to const.py

* move to `sensor/__init__.py`

* move to sensor/const.py

* Revert "move to sensor/const.py"

This reverts commit 604d0d066bfcb93f1a11e3d7732d430ab6de8d59.

* move it to `sensor/const.py` but import it from `sensor/__init__.py`

* add Modbus

Fix lifx model to be a string (#55309)

Fixes #55307

Address late review for Renault integration (#55230)

* Add type hints

* Fix isort

* tweaks to state attributes

* Move lambdas to regular functions

* Split CHECK_ATTRIBUTES into DYNAMIC_ATTRIBUTES and FIXED_ATTRIBUTES

* Clarify tests

* Fix typo

Bump simplisafe-python to 11.0.5 (#55306)

Always send powerview move command in case shade is out of sync (#55308)

Bump bimmer_connected to 0.7.20 (#55299)

Renault code quality improvements (#55313)

* Use constants

* Drop entity_class for binary_sensor

* Move data property from RenaultDataEntity to RenaultSensor

* Update function description

Adjust zha comment to be readable (#55330)

Handle statistics for sensor with changing state class (#55316)

Use EntityDescription - fritzbox (#55104)

* Use sensor entity description

* check if not none instead if callable

* List comprehension in switch and climate

* change state to native_value in description

* merge FritzBoxSensorEntity into FritzBoxEntity

* rename SENSOR_DESCRIPTIONS to SENSOR_TYPES

* use mixins for descriptions

* use comprehension in async_setup_entry()

* improve extra_state_attributes

Fix reauth for sonarr (#55329)

* fix reauth for sonarr

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

Improve performance of ring camera still images (#53803)

Co-authored-by: Pat Wood <prwood80@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Correct flash light livarno when use hue (#55294)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Fix sonos alarm schema (#55318)

Add modbus name to log_error (#55336)

Retrigger config flow when the ssdp location changes for a UDN (#55343)

Fixes #55229

Upgrade aiolifx to 0.6.10 (#55344)

Ensure yeelights resync state if they are busy on first connect (#55333)

Fix wolflink super call (#55359)

Convert solarlog to coordinator (#55345)

Ensure ReCollect Waste starts up even if no future pickup is found (#55349)

Listen to node events in the zwave_js node status sensor (#55341)

[ci skip] Translation update

close connection on connection retry, bump onvif lib (#55363)

Add data update coordinator to the Tautulli integration (#54706)

* Add data update coordinator to the Tautulli integration

* update .coveragerc

* Add guard for UpdateFailed

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* ignore issues

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

Address late review for Xiaomi Miio number platform (#55275)

Bump pylitterbot to 2021.8.1 (#55360)

Add shutdown test. (#55357)

Activate mypy for sonar (#55327)

* Please mypy.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Pin regex to 2021.8.28 (#55368)

Address late review for Tractive integration (#55371)

Tractive name (#55342)

Bump simplisafe-python to 11.0.6 (#55385)

Add select entity to Logitech Harmony (#53943)

Co-authored-by: J. Nick Koston <nick@koston.org>

Re-configuration possibilities for Synology DSM (#53285)

* add automated host/ip reconfig via SSDP

* add reconfig of existing entry

* adjust tests

* adjust tests again

* use self._async_current_entries()

* _async_get_existing_entry()

* apply suggestions

Solve modbus shutdown racing condition (#55373)

Address late fritzbox comments (#55388)

* correct imports

* move platform specifics into platforms

* move descriptions into platforms

Remove legacy discovery after_dependencies from apple_tv (#55390)

- apple_tv devices are now discovered by zeroconf, and legacy discovery
  is no longer needed

Prevent storage loads from monopolizing the executor pool (#55389)

* Prevent storage loads from monopolizing the executor pool

- At startup there is an increasing demand to load data
  from storage. Similar to #49451 and #43085, we now prevent
  the thread pool from being monopolized by storage loads and
  allow other consumers that are doing network I/O to proceed
  without having to wait for a free executor thread.

* Only create Semaphore instance when one is not already there

[ci skip] Translation update

Add ll hls to stream (#49608)

Simplify calcuation of Notion binary sensor state (#55387)

OVO Energy - Post #54952 Cleanup (#55393)

Use EntityDescription - ambient_station (#55366)

Show device_id in HomeKit when the device registry entry is missing a name (#55391)

- Reported at: https://community.home-assistant.io/t/homekit-unknown-error-occurred/333385

Handle incorrect values reported by some Shelly devices (#55042)

Enable basic type checking for cert_expiry (#55335)

Only return not return None (#55423)

Add myself to Vallox codeowners (#55428)

Give ReCollect Waste sensor a friendlier label (#55427)

Deprecate YAML config for ReCollect Waste (#55426)

[ci skip] Translation update

Make zwave_js discovery log message more descriptive (#55432)

Ensure ReCollect Waste shows pickups for midnight on the actual day (#55424)

Update entity names for P1 Monitor integration (#55430)

Bump zeroconf to 0.36.1 (#55425)

- Fixes duplicate records in the cache

- Changelog: https://github.com/jstasiak/python-zeroconf/compare/0.36.0...0.36.1

Fix device_class - qnap drive_temp sensor (#55409)

Implement import of consider_home in nmap_tracker to avoid breaking change (#55379)

Remove byte-range addressed parts in stream (#55396)

Add individually addressed parts

System Bridge 2.5.0 - Additional Sensors (#53892)

* Update package to 2.1.0

* Add version sensor

* Add graphics memory sensors

* Change graphics memory data from MB

* Add GPU usage sensor

* Add gpu clock speed sensors

* GPU sensors

* GPU power usage

* enumerate instead of range len

* Updates from rebase

* Add graphics

* Add Per CPU load sensor

* Cleanup

* Use super class attributes

* Suggested changes and fix

* User, System, Idle sensors

* Average, User, System and idle sensors instead of attrs

* Remove unused attrs

* Remove null/none sensor

* Sensor entity descriptions

* Fix index out of range error

* Set state class

* Use entity_registry_enabled_default

* Use built in entity_registry_enabled_default

* Use built in icon

* Fix

* Use binary sensor entity description

* Fix pylint

* Fix uom

* Add to coveragerc

* is_on

* Move entity descriptions to platforms

* Clearout default values

* Fix docstring

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Cleanup and catch

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Fix crash in buienradar sensor due to self.hass not set (#55438)

Correct setup of system_bridge sensors (#55442)

Fix exception when shutting down DSMR (#55441)

* Fix exception when shutting down DSMR

* Update homeassistant/components/dsmr/sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Improve statistics error messages when sensor's unit is changing (#55436)

* Improve error messages when sensor's unit is changing

* Improve test coverage

Use AwesomeVersion for account link service check (#55449)

Revert "Deprecate last_reset options in MQTT sensor" (#55457)

This reverts commit f9fa5fa804291cdc3c2ab9592b3841fb2444bb72.

Add Sense energy sensors (#54833)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Refactor vallox constants (#55456)

Whole-string match reqs in comment_requirement (#55192)

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Fix noise/attenuation units to UI display for Fritz (#55447)

Don't set zwave_js sensor device class to energy when unit is wrong (#55434)

Bump zeroconf to 0.36.2 (#55459)

- Now sends NSEC records when requesting non-existent address types
  Implements RFC6762 sec 6.2 (http://datatracker.ietf.org/doc/html/rfc6762#section-6.2)

- This solves a case where a HomeKit bridge can take a while to update
  because it is waiting to see if an AAAA (IPv6) address is available

Bump zwave-js-server-python to 0.29.1 (#55460)

Add long-term statistics for SimpliSafe sensors (#55419)

Add -term statistics for Notion sensors (#55414)

Add IoTaWatt integration (#55364)

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

Use EntityDescription - qnap (#55410)

* Use EntityDescription - qnap

* Remove default values

Fix area_id and area_name template functions (#55470)

Bump pyiqvia to 1.1.0 (#55466)

Bump pyopenuv to 2.2.0 (#55464)

Add input_select and select domain support for HomeKit (#54760)

Co-authored-by: J. Nick Koston <nick@koston.org>

Bump aioambient to 1.3.0 (#55468)

Update frontend to 20210830.0 (#55472)

Fix race in MQTT sensor when last_reset_topic is configured (#55463)

[ci skip] Translation update

Assistant sensors (#55480)

Fix Zone 2 and Zone 3 detection in onkyo (#55471)

Add Eagle 200 name back (#55477)

* Add Eagle 200 name back

* add comment

* update tests

Wemo Insight devices need polling when off (#55348)

Make new cycles for sensor sum statistics start with 0 as zero-point (#55473)

Renault code quality improvements (#55454)

Add TLX daily power meter. for Growatt (#55445)

Add cache-control headers to supervisor entrypoint (#55493)

Allow device_id template function to use device name as input (#55474)

Add support for Xiaomi Miio Air Purifier 3C (#55484)

Improvements to the solarlog integration (#55405)

Fix ArestSwitchBase missing is on attribute (#55483)

Improve log for sum statistics (#55502)

Remove Youless native unit of measurement (#55492)

Increase YouLess polling interval (#55490)

[ci skip] Translation update

Correct sum statistics when only last_reset has changed (#55498)

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

Added trailing slash to US growatt URL (#55504)

Fix BroadlinkSwitch._attr_assumed_state (#55505)

Add missing device class for temperature sensor in Advantage Air (#55508)

Fix None support_color_modes TypeError (#55497)

* Fix None support_color_modes TypeError

https://github.com/home-assistant/core/issues/55451

* Update __init__.py

Add vacation mode to manual alarm_control_panel (#55340)

* Add vacation mode

* Add vacation to demo

* Deduplicate code in tests

ESPHome light color mode use capabilities (#55206)

Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>

Add services to Renault integration (#54820)

* Add services

* Add tests

* Cleanup async

* Fix pylint

* Update services.yaml

* Add extra schema validation

* Rename constants

* Simplify code

* Move constants

* Fix pylint

* Cleanup constants

* Drop charge_set_mode as moved to select platform

* Only register the services if no config entry has registered them yet

* Replace VIN with device selector to select vehicle

* Update logging

* Adjust type checking

* Use a shared base SERVICE_VEHICLE_SCHEMA

* Add selectors for ac_start (temperature/when)

* Add object selector for charge_set_schedules service

Mock setup in spotify tests (#55515)

Fix moon phases (#55518)

Add device tracker platform to Renault integration (#54745)

Tweaks for the iotawatt integration (#55510)

Add remote server to cloud system health (#55506)

* Add sintun server to cloud system health

* Update name

* Adjust test

Add select platform to Renault integration (#55494)

* Add select platform to Renault integration

* Fix pylint

Open garage, add closing and opening to state (#55372)

OpenGarage, change to attributes (#55528)

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Bump cloud to 0.47.1 (#55312)

* Bump cloud to 0.47.0

* Bump reqs

* Bump to 0.47.1

* Do not load hass_nabucasa during http startup

* fix some tests

* Fix test

Co-authored-by: Ludeeus <ludeeus@ludeeus.dev>

Use respx.mock in generic camera tests (#55521)

Fix zeroconf mock and use it in CI group 1's tests (#55526)

* Fix zeroconf mock and use it in CI group 1's tests

* Mock HaAsyncServiceBrowser

Add additional test coverage for zwave_js meter sensors (#55465)

xiaomi_miio: bump python-miio dependency (#55549)

[ci skip] Translation update

Pick right coordinator (#55555)

Bump pyuptimerobot to 21.9.0 (#55546)

Add test fixture for unauthenticated HTTP client (#55561)

* Add test fixture for unauthenticated HTTP client

* Remove things from the future

Correct duplicate address. (#55578)

Use hass_client_no_auth test fixture in integrations a-g (#55581)

Use hass_client_no_auth test fixture in integrations h-p (#55583)

Use hass_client_no_auth test fixture in integrations s-x (#55585)

Downgrade sqlite-libs on docker image (#55591)

Prevent 3rd party lib from opening sockets in broadlink tests (#55593)

Fix url lookup in telegram_bot webhook (#55587)

Prevent 3rd party lib from opening sockets in epson tests (#55595)

Prevent 3rd party lib from opening sockets in freedompro tests (#55596)

Mock sockets in the network integration tests (#55594)

Mock out network.util.async_get_source_ip in tests (#55592)

Bump pysmappee to 0.2.27 (#55257)

* bump

* bump

[ci skip] Translation update

Narrow zwave_js USB discovery (#55613)

- Avoid triggering discovery when we can know in advance the
  device is not a Z-Wave stick

Disable observer for USB on containers (#55570)

* Disable observer for USB on containers

* remove operating system test

Co-authored-by: J. Nick Koston <nick@koston.org>

Fix template sensor availability (#55635)

Prevent 3rd party lib from opening sockets in broadlink tests (#55636)

Minor cleanup in Waze travel times (#55422)

* reduce imports and clean the attriburts

* add icons

* use entity class attributes

* fix icon

* add misc types

* fix update

* do not change icon yet

* address review

Clean holiday attributes code in Jewish calendar (#55080)

* Clean repetitive code in jewish calendar

* do not return none

* fix holiday

Remove wheels for alpine 3.13 (#55650)

Fix Starline sensor state AttributeError (#55654)

* Fix starline sensors state

* Black

Fix CONFIG_SCHEMA validation in Speedtest.net (#55612)

Add upnp sensor for IP, Status, and Uptime (#54780)

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Always show state for the updater binary_sensor (#55584)

Use NamedTuple for color temperature range (#55626)

Remove dead fritzbox code (#55617)

* EntityInfo has been replaced by EntityDescription (#55104)
* Extra switch attributes have been replaced by dedicated sensors (#52562)

Guard for unexpected exceptions in device automation (#55639)

* Guard for unexpected exceptions in device automation

* merge

Co-authored-by: J. Nick Koston <nick@koston.org>

Ignore missing devices when in ssdp unsee (#55553)

Fix hdmi_cec switches (#55666)

Guard for doRollover failing (#55669)

Better handle invalid trigger config (#55637)

Use EntityDescription - freebox (#55675)

* Use EntityDescription - freebox

* Remove default values

Use EntityDescription - luftdaten (#55676)

* Use EntityDescription - luftdaten

* Fix name attribute

* Remove default values

* Move SensorTypes back to __init__

Use EntityDescription - faa_delays (#55678)

* Use EntityDescription - faa_delays

* Update binary_sensor.py

Use EntityDescription - econet (#55680)

* Use EntityDescription - econet

* Resolve name constants

Use EntityDescription - iperf3 (#55681)

Fix Rachio service missing with 1st generation controllers (#55679)

Use EntityDescription - picnic (#55682)

* Use EntityDescription - picnic

* Change _attr_extra_state_attributes to be static

* Fix tests

Use EntityDescription - discogs (#55683)

Use EntityDescription - airnow (#55684)

Use EntityDescription - synology_dsm (#55407)

System Bridge - Set device class for binary sensor (#55688)

Update template/test_binary_sensor.py to use pytest (#55220)

Use NamedTuple for api endpoint settings (#55694)

Use NamedTuple for touchline preset mode settings (#55695)

Use NamedTuple for light color mode mapping (#55696)

Type scaffold PLATFORMS (#55699)

* Added template base type

Proposition to add typing, as pre-commit test on newly created integrations fails on it automatically:

```
homeassistant/components/<my_integration>/__init__.py:11: error: Need type annotation for "PLATFORMS" (hint: "PLATFORMS: List[<type>] = ...")  [var-annotated]
Found 1 error in 1 file (checked 4 source files)
```

I believe there shouldn't be other type than text, hence the proposition.

* Apply suggestions from code review

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

[ci skip] Translation update

Add reauth to Renault config flow (#55547)

* Add reauth flow to async_setup_entry

* Add reauth flow to config_flow

* Add reauth tests

* Split reauth/reauth_confirm

* unindent code

* Add entry_id and unique_id to reauth flow testing

* Use description_placeholders for username

* fix typo

Automation trigger info type hint improvements (#55402)

* Make automation trigger info a TypedDict

* zwave_js trigger type hint fixes

* Remove redundant automation trigger info field presence checks

* Use async_initialize_triggers in mqtt and tasmota device_trigger tests

Delay state update after switch is toggled for TP-Link HS210 device (#55671)

* delay state update for HS210

* Update workaround comment

Avoid creating sockets in homekit port available tests (#55668)

* Avoid creating sockets in homekit port available tests

* prevent new bridge from being setup -- its too fast now that the executor job is gone and it revealed an unpatched setup

Drop unused ruamel (#55672)

Update template/test_sensor.py to use pytest (#55288)

better detect legacy eagly devices (#55706)

Use NamedTuple for RGBColor (#55698)

Handle negative numbers in sensor long term statistics (#55708)

* Handle negative numbers in sensor long term statistics

* Use negative states in tests

Add bluez to the devcontainer (#55469)

* Fix fjaraskupan dependency for tests

* update package list

* Typo

* hadolint fixes

* hadolint fixes #2

* Cleanup

* Rewording

Fix LIFX firmware version information (#55713)

Use NamedTuple for device_automation details (#55697)

Add caplog setup fixture. (#55714)

Bump motion_blinds to 0.5.5 (#55710)

Remove deprecated device_state_attributes (#55734)

Handle unknown preset mode in generic thermostat (#55588)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Handle Fritz InternalError (#55711)

Fix SamsungTV sendkey when not connected (#55723)

Tag Hue errors as format strings (#55751)

[ci skip] Translation update

ADD: generalize regex_findall (#54584)

Protect Huawei LTE against None ltedl/ulfreq (#54411)

Refs https://github.com/home-assistant/core/issues/54400

Optimize ZHA ZCL attribute reporting configuration (#55796)

* Refactor ZCL attribute reporting configuration

Configure up to 3 attributes in a single request.

* Use constant for attribute reporting configuration

* Update tests

* Cleanup

* Remove irrelevant for this PR section

Update to denonavr version 0.10.9 (#55805)

[ci skip] Translation update

Drop logger service fields because keys are dynamic (#55750)

ZHA: Added support for ZigBee Simple Sensor device and Binary Input c… (#55819)

* ZHA: Added support for ZigBee Simple Sensor device and Binary Input cluster

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>

Bump envoy_reader API to 0.20.0 (#55822)

Change fix property to _attr for tradfri (#55691)

Use EntityDescription - vilfo (#55746)

Use EntityDescription - awair (#55747)

Use EntityDescription - vultr (#55789)

Use EntityDescription - meteoclimatic (#55792)

Use EntityDescription - sabnzbd (#55788)

Use EntityDescription - aemet (#55744)

Use EntityDescription - apcupsd (#55790)

Alexa - Remove legacy speed support for fan platform (#55174)

* Remove legacy fan speed support

* remove fan range controller tests

* retrigger tests

Add service descriptions for supervisor backup restore services (#52766)

* Add service descriptions for supervisor backup restore

* Add fields to restore services

* Update homeassistant/components/hassio/services.yaml

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Use EntityDescription - poolsense (#55743)

Use EntityDescription - aqualogic (#55791)

Refactor exception handling in Vallox (#55461)

Fix incomfort min/max temperatures (#55806)

Fix a lazy preset mode update for Xiaomi Miio fans (#55837)

Migrate emulated_hue tests from unittest to pytest (#55794)

* Migrate emulated_hue tests from unittest to pytest

* Remove unused variables

Shutdown the container on abnormal signals (#55660)

So far the finish script exits whenever the service terminated by a
signal (indicated by 256 as first argument). This is the intended
behavior when SIGTERM is being sent: SIGTERM is used on regular shutdown
through the supervisor. We don't want the finish script to shutdown
itself while being taken down by the supervisor already.

However, every other signal which lead to a process exit likely means
trouble: SIGSEGV, SIGILL, etc. In those cases we want the container to
exit. The Supervisor (or restart policy of Docker in the container case)
will take care of restarting if appropriate.

Fix typo in in rfxtrx Barometer sensor (#55839)

Fix typo in sensor.py to fix barometer unavailability

Fix xiaomi miio Air Quality Monitor initialization (#55773)

Replace zigpy-cc with zigpy-znp (#55828)

* Replace zigpy-cc with zigpy-znp in a ZHA config migration

* Fix failing unit tests

Add motion_blinds VerticalBlind and cleanup (#55774)

Re-add state_class total to sensor (#55103)

* Re-add state_class total to sensor

* Make energy cost sensor enforce state_class total_increasing

* Bump deprecation of last_reset for state_class measurement

* Correct rebase mistakes

Make scapy imports in DHCP local (#55647)

Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 2 (#53368)

Co-authored-by: J. Nick Koston <nick@koston.org>

Upgrade pymazda to 0.2.1 (#55820)

Fix switch name attribute for thinkingcleaner (#55730)

Fix exception during rediscovery of ignored zha config entries (#55859)

Fixes #55709

Allow same address different register types in modbus (#55767)

Fix target humidity step for Xiaomi MJJSQ humidifiers (#55858)

Surepetcare, bug fix (#55842)

Bump zwave-js-server-python to 0.30.0 (#55831)

Fix logbook entity_matches_only query mode (#55761)

The string matching template needs to match the same compact JSON format
as the data is now written in.

Allow same IP if ports are different on modbus (#55766)

Integration Sensor unit of measurement overwrite (#55869)

Use `async_update_entry` in config unit test instead of modifying `data` (#55855)

Set state class to total for Integration sensors (#55872)

Refactor ZHA tests (#55844)

* Replace ZHA tests FakeDevice

* Refactor ZHA tests to use zigpy devices and endpoints

* Use common consts for zigpy device mocks

Use the same dict key names for device signature mocks as zha quirks.

* Use const for test device list

* Update tests/components/zha/common.py

Bump hass-nabucasa 49 (#55823)

[ci skip] Translation update

Fix assignment of amcrest camera model (#55266)

Integration Sensor Initial State (#55875)

* initial state is UNAVAILABLE

* update tests

Set state class to total for net utility_meter sensors (#55877)

* Set state class to total for net utility_meter sensors

* Update tests

Rewrite re-auth mechanism in Synology DSM integration (#54298)

Add Flipr binary sensor (#53525)

Fix available property for Xiaomi Miio fan platform (#55889)

* Fix available

* Suggested change

Try to avoid rate limiting in honeywell (#55304)

* Limit parallel update and sleep loop

* Use asyncio sleep instead

* Extract sleep to const for testing

* Make loop sleep 0 in test

Add date device class (#55887)

* Add date device class

https://github.com/home-assistant/architecture/discussions/610

* Add date device class to sensors device classes list

Address comment in integration Riemann sum PR #55875 (#55895)

* https://github.com/home-assistant/core/pull/55875\#discussion_r703334504

* missing test update

Fix upnp add_entities (#55904)

* Fix upnp add_entities

* Remove nesting level

Allow multiple template.select platform entries (#55908)

[ci skip] Translation update

Remove Trackr integration (API removed) (#55917)

* Delete Trackr component directory

* Update .coverage.rc to remove Trackr

* Update requirements_all.txt

Fix gas validation (#55886)

Edit unit of measurement for gas/electricity supplier prices (#55771)

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

Bump PyJWT to 2.1.0 (#55911)

Use EntityDescription - zoneminder (#55922)

Use EntityDescription - incomfort (#55930)

Use EntityDescription - repetier (#55926)

Use EntityDescription - konnected (#55923)

deprecated unit_of_measurement (#55876)

Bump aioswitcher to 2.0.5 (#55934)

Do not let one bad statistic spoil the bunch (#55942)

Do not allow `inf` or `nan` sensor states in statistics (#55943)

Fix handling of imperial units in long term statistics (#55959)

Bump pillow to 8.3.2 (#55970)

Add support for state class measurement to energy cost sensor (#55962)

Add significant change support to AQI type sensors (#55833)

Consistent lower-case spelling of "optional" (#55976)

Address review comment from #55833 (#55985)

[ci skip] Translation update

Remove tesla integration (#55988)

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

Rfxtrx drop yaml configuration (#54173)

Add sum_decrease and sum_increase statistics (#55850)

Address post merge review of flipr binary sensor (#55983)

Add mypy to elkm1. (#55964)

Add state class to Smart Meter Texas sensor (#55665)

Add state belief services to bond integration (#54735)

Co-authored-by: J. Nick Koston <nick@koston.org>

Add iotawatt high-accuracy energy readout sensors (#55512)

Add package constraint anyio>=3.3.1 (#55997)

Change character set of statistics_meta table to utf8 (#56011)

Support incoming SMS messages via polling (#54237)

* Add support to incomming SMS via polling

* Update dependencies

* Only send notification for unread messages

* Only inform if callback is not getting used

* Update gateway.py

* Apply PR feedback

* Update homeassistant/components/sms/gateway.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply PR comments

* Make black happy

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Make sure character set of events, states tables is utf8 (#56012)

* Make sure character set of events, states tables is utf8

* Pylint

* Apply suggestions from code review

Fix zwave_js/node_state WS API command (#55979)

* Fix zwave_js/node_state WS API command

* Add negative assertion check to avoid regression

* Update tests/components/zwave_js/test_api.py

Co-authored-by: jan iversen <jancasacondor@gmail.com>

* use constant

Co-authored-by: jan iversen <jancasacondor@gmail.com>

Bump pysma to 0.6.6 & Fix Unit Checks (#56018)

Exclude @overload from coverage (#56021)

Fix state class for zwave_js energy entities (#56026)

Really change character set of statistics_meta table to utf8 (#56029)

Report integrations that block startup wrap up (#56003)

Add nut Watts datapoint (#55491)

Co-authored-by: J. Nick Koston <nick@koston.org>

Correct confusing log message in sensor statistics (#56016)

Surepetcare, use DataUpdateCoordinator (#55982)

* Surepetcare, use dataupdater

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Review comment

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* style

Co-authored-by: J. Nick Koston <nick@koston.org>

Suppress last_reset deprecation warning for energy cost sensor (#56037)

Add support for state class total to energy cost sensor (#55955)

* Add support for all state classes to energy cost sensor

* Fix bug, adjust tests

* Fix rebase mistake

Fix compounds in sensor device class comments (#55900)

Fix circular import of scapy in dhcp (#56040)

* Fix circular import of scapy in dhcp

* Tweak import, add comment

* Tweak import, add comment

* pylint

Revert "Suppress last_reset deprecation warning for energy cost sensor (#56037)" (#56042)

This reverts commit e990ef249d781b4a201041ae72300ead8d23c44b.

Fix UDP message handling by upgrading aiomusiccast to 0.9.2 (#56041)

Bump amcrest version to 1.8.1 (#56058)

The current version of the `amcrest` package has a bug in exposing if
the video stream is enabled, which leads to the substream status being
used to set if the camera is on or off.  The updated version of
`amcrest` fixes this bug.

Fixes #55661

Surepetcare, fix late review (#56065)

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Revert "Bump pillow to 8.3.2 (#55970)" (#56048)

This reverts commit ee7202d10a7b5389631739adb7143ddc7af5756c.

Wait for entities when updating energy preferences (#56057)

Handle logout prefs update for Google/Alexa (#56045)

Update template/test_trigger.py to use pytest (#55950)

Handle entity creation on new added zwave_js value (#55987)

* Handle new entity creation when a new value is added

* spacing

* Update homeassistant/components/zwave_js/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* change variable name and use asyncio.gather

* Centralized where discovered value IDs gets managed

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Bump pymyq to 3.1.4 (#56089)

Remove unnecessary extra attribute from NUT sensors (#56078)

Add state_class to Ecobee sensors (#55996)

Update pymelcloud to 2.5.4 (#56096)

Add view to get installation type during onboarding (#56095)

Enforce strict typing for IQVIA (#53408)

* Enforce strict typing for IQVIA

* Cleanup

* Code review

* Ignore untyped numpy function

Bump awesomeversion to 21.8.1 (#55817)

Update template/test_lock.py to use pytest (#56102)

Fix attribute access on None on startup in ESPHome (#56105)

Fix singleton not working with falsey values (#56072)

Bump frontend to 20210911.0 (#56115)

Blank out discovery info (#56097)

New icon names based on MDI 6.1.95 (#56085)

Move parts of ssdp to async_upnp_client (#55540)

* Move parts of ssdp to async_upnp_client

* Fix test for environments with multiple sources

* Fix sonos tests

* More fixes/changes

* More fixes

* Use async_upnp_client==0.21.0

* Pylint/test fixes

* More changes after review

* Fix tests

* Improve testing

* Fix mypy

* Fix yamaha_musiccast tests?

* Changes after review

* Pylint

* Reduce calls to combined_headers

* Update to async_upnp_client==0.21.1

* Update to async_upnp_client==0.21.2

* use as_dict

Co-authored-by: J. Nick Koston <nick@koston.org>

Bump HAP-python to 4.2.1 (#55804)

Use the same server name for all HomeKit bridges (#55860)

Add audio support option to HomeKit camera UI config flow (#56107)

Ensure rainmachine device name is a string (#56121)

Surepetcare, upgrade library (#56067)

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Don't return a unique_id if Lutron doesn't have a UUID for the device. (#56113)

This is a workaround for https://github.com/thecynic/pylutron/issues/70

Co-authored-by: cdheiser <cdheiser@users.noreply.github.com>

Use EntityDescription - xiaomi_aqara (#55931)

* Use EntityDescription - xiaomi_aqara

* Remove default values

* Add missing SENSOR_TYPES

Don't cache HomeKit camera stream source from entity (#56136)

Use EntityDescription - iqvia (#55218)

Fix listener leak in HomeKit on reload (#56143)

* Fix listener leak in HomeKit on reload

* Fix mocking

Prefer more targeted matchers in USB discovery (#56142)

- If there is a more targeted match it should win discovery

use fixtures. (#56130)

Changed wording of bond state belief feature from belief to tracked state (#56147)

Co-authored-by: J. Nick Koston <nick@koston.org>

Add zeroconf discovery to Hue (#55358)

* Add zeroconf discovery to Hue

* Add coverage for already exists case

Co-authored-by: J. Nick Koston <nick@koston.org>

Fix polling on online Amcrest binary sensor (#56106)

Update pymodbus fixtures to use autospec (#55686)

Switch velbus from python-velbus to velbusaio (#54032)

* initial commit

* use new release

* Update for sensors

* big update

* pylint fixes, bump dependancy to 2021.8.2

* New version to try to fix the tests

* Fix a lot of errors, bump version

* more work

* Bump version

* Adde dimmer support

* Make sure the counters are useable in the energy dashboard

* bump version

* Fix testcases

* Update after review

* Bump version to be able to have some decent exception catches, add the temperature device class

* Readd the import of the platform from config file, but add a deprecation warning

* More comments updated

* Fix lefover index

* Fix unique id to be backwards compatible

* Fix small bug in covers

* Fix testcases

* Changes for theenery dashboard

* Fixed services

* Fix memo text

* Make the interface for a service the port string instead of the device selector

* Fix set_memo_text

* added an async scan task, more comments

* Accidently disabled some paltforms

* More comments, bump version

* Bump version, add extra attributes, enable mypy

* Removed new features

* More comments

* Bump version

* Update homeassistant/components/velbus/__init__.py

Co-authored-by: brefra <frank_van_breugel@hotmail.com>

* Readd the import step

Co-authored-by: brefra <frank_van_breugel@hotmail.com>

Include end time of statistics data points in API response (#56063)

* Include end time of statistics data points in API response

* Correct typing

* Update tests

Add statistics validation (#56020)

* Add statistics validation

* Remove redundant None-check

* Move validate_statistics WS API to recorder

* Apply suggestion from code review

Use list comprehension in onewire entity descriptions (#56168)

* Use list comprehension in onewire binary sensors

* Use list comprehension in onewire switches

Support hvac mode in melcloud climate.set_temperature service (#56082)

Setting the HVAC_MODE via the set_temperature service has not been
possible before this change.

Add component for binary sensor groups (#55365)

* Add component for binary sensor groups
https://github.com/home-assistant/home-assistant.io/pull/19239

* Accidental push over prior commit

* Add test for any case

* Add unavailable attribute and tests for unique_id

* Added tests for attributes

link to documentation: https://github.com/home-assistant/home-assistant.io/pull/19297

Bump plexapi to 4.7.1 (#56163)

Netgear config flow (#54479)

* Original work from Quentame

* Small adjustments

* Add properties and method_version

* fix unknown name

* add consider_home functionality

* fix typo

* fix key

* swao setup order

* use formatted mac

* add tracked_list option

* add options flow

* add config flow

* add config flow

* clean up registries

* only remove if no other integration has that device

* tracked_list formatting

* convert tracked list

* add import

* move imports

* use new tracked list on update

* use update_device instead of remove

* add strings

* initialize already known devices

* Update router.py

* Update router.py

* Update router.py

* small fixes

* styling

* fix typing

* fix spelling

* Update router.py

* get model of router

* add router device info

* fix api

* add listeners

* update router device info

* remove method version option

* Update __init__.py

* fix styling

* ignore typing

* remove typing

* fix mypy config

* Update mypy.ini

* add options flow tests

* Update .coveragerc

* fix styling

* Update homeassistant/components/netgear/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/router.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* add ConfigEntryNotReady

* Update router.py

* use entry.async_on_unload

* Update homeassistant/components/netgear/device_tracker.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* use cv.ensure_list_csv

* add hostname property

* Update device_tracker.py

* fix typo

* fix isort

* add myself to codeowners

* clean config flow

* further clean config flow

* deprecate old netgear discovery

* split out _async_remove_untracked_registries

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* cleanup

* fix rename

* fix typo

* remove URL option

* fixes

* add sensor platform

* fixes

* fix removing multiple entities

* remove extra attributes

* initialize sensors correctly

* extra sensors disabled by default

* fix styling and unused imports

* fix tests

* Update .coveragerc

* fix requirements

* remove tracked list

* remove tracked registry editing

* fix styling

* fix discovery test

* simplify unload

* Update homeassistant/components/netgear/router.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* add typing

Co-authored-by: J. Nick Koston <nick@koston.org>

* add typing

Co-authored-by: J. Nick Koston <nick@koston.org>

* add typing

Co-authored-by: J. Nick Koston <nick@koston.org>

* condense NetgearSensorEntities

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/router.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/router.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/router.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/netgear/router.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* add typing

* styling

* add typing

* use ForwardRefrence for typing

* Update homeassistant/components/netgear/device_tracker.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* add typing

* Apply suggestions from code review

Thanks!

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* process review comments

* fix styling

* fix devicename not available on all models

* ensure DeviceName is not needed

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/netgear/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update __init__.py

* fix styling

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Update icons for MDI 6 (#56170)

Do not set assumed state for binary sensor groups (#56190)

Update docker base image to 2021.09.0 (#56191)

Use entity description and set state class to all System Monitor sensors (#56140)

Surepetcare config flow (#56127)

Co-authored-by: J. Nick Koston <nick@koston.org>

Bump pykodi to 0.2.6 (#56148)

Add Whirlpool integration (#48346)

* Add Whirlpool integration

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Apply suggestions from code review

* Fix lint

* Fix lint and tests

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* Use dict lookups

* Lint

* Apply code changes from PR review

* Do real integration setup in tests

* Apply suggestions from review & fix test

* Replace get with array operator

* Add suggestions from code review

* Rename test var

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>

Fix generic thermostat switch state initialization (#56073)

Add description to match TubesZB Coordinators for USB Discovery (#56201)

Add Config Flow to Modem Caller ID integration (#46677)

* Add phone_modem integration

* Use original domain

* Add init tests for Modem Caller ID

* Clean up tests

* Clean up tests

* apply suggestions

* Fix tests

* Make only one instance possible

* Allow more than 1 device and remove hangup service

* simplify already configured

* Update sensor.py

* Update config_flow.py

* Fix manifest

* More cleanup

* Fix tests

* Ue target

* Clean up sensor.py

* Minor tweaks

* Close modem on restart and unload

* Update requirements

* fix tests

* Bump phone_modem

* rework

* add typing

* use async_setup_platform

* typing

* tweak

* cleanup

* fix init

* preserve original name

* remove callback line

* use list of serial devices on host

* tweak

* rework

* Rework for usb dicsovery

* Update requirements_test_all.txt

* Update config_flow.py

* tweaks

* tweak

* move api out of try statement

* suggested tweaks

* clean up

* typing

* tweak

* tweak

* async name the service

Bump up zha dependencies (#56206)

Clean up Surepetcare binary sensor (#56070)

Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#56210)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Add service to stop/restart modbus (#55599)

* Add service to stop/restart modbus.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Enforce device class for gas and energy sensors used by energy dashboard (#56218)

* Enforce device class for gas and energy sensors used by energy dashboard

* Adjust tests

Add Crownstone integration (#50677)

Add long-term statistics for AirNow sensors (#56230)

Use EntityDescription - vicare (#55932)

* Use EntityDescription - vicare binary_sensor

* Use EntityDescription - vicare sensor

* Fix typing

* Remove default values

* Fix pylint

Update template/alarm_control_panel.py to use pytest (#56229)

Add long-term statistics for RainMachine sensors (#55418)

* Add long-term statistics for RainMachine sensors

* Code review

Update template/test_weather.py to use pytest (#56223)

Add long-term statistics for AirVisual sensors (#55415)

Add long-term statistics for Flu Near You sensors (#55416)

Update template/test_fan.py to use pytest (#56215)

Bump zeroconf to 0.36.3 (#56233)

Bump aiohue to 2.6.2 (#56234)

Clean up upnp YAML config (#56200)

* Put back local_ip option to config schema + deprecate config schema

* More cleanup

* Remove log

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Adjust charging_power unit (#56167)

generic_hygrostat: enable tests (#56193)

Activate mypy for directv (#55963)

* Activate mypy for directv.

* Activate mypy for directv.

Avoid a zeroconf race condition (#56240)

Bump growattServer to 1.1.0 (#56084)

Deprecate Surepetcare yaml config (#56209)

Bump pyopenuv to 2.2.1 (#56270)

Fix Surepetcare string reference (#56262)

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Bump amcrest version to 1.9.2 (#56281)

Upgrade pylast from 4.2.0 to 4.2.1 (#56015)

* Upgrade pylast from 4.2.0 to 4.2.1

* Fix test

* Use MockNetwork

* Tidy

* Fix lint

Add 5-minute statistics for sensors (#56006)

* Add 5-minute statistics for sensors

* Address pylint issues

* Black

* Apply suggestion from code review

* Apply suggestions from code review

* Improve tests

Allow smaller step size for input number (#56211)

* Allow smaller step size for input number

* Tweak

* Tweak

Delay startup for `cert_expiry` to allow for self checks (#56266)

* Delay startup of cert_expiry

* Update tests

Fix return value of preset_mode in hive climate (#56247)

Fix Meteoalarm expired alerts (#56255)

Address Switcher late review comments (#56264)

* Address Switcher late review comments

* Rename wrapper to coordinator

Fetch the data a second time when -9999 error occurs in Xiaomi Miio integration (#56288)

Bump pychromecast to 9.2.1 (#56296)

Activate mypy for gpmdp. (#55967)

Update template/test_light.py to use pytest (#56300)

Mock out zeroconf in homekit_controller tests (#56307)

Avoid sending Standby when already off (#56306)

Add unique id to amcrest sensors (#55243)

* Add unique id to amcrest sensors

* Change 'unique_id' to 'serial_number' on api wrapper

* Update unique id's with channel value that can be used in future changes and remove unrelated camera changes

Bump zeroconf to 0.36.4 (#56314)

Prevent 3rd party lib from opening sockets in sia tests (#56325)

Prevent 3rd party lib from opening sockets in zeroconf tests (#56324)

Prevent 3rd party lib from opening sockets in ping tests (#56329)

Prevent 3rd party lib from opening sockets in wallbox tests (#56308)

Prevent 3rd party lib from opening sockets in cloud tests (#56328)

Prevent 3rd party lib from opening sockets in ps4 tests (#56330)

Prevent 3rd party lib from opening sockets in rfxtrx tests (#56331)

Prevent 3rd party lib from opening sockets in wilight tests (#56310)

Rfxtrx device triggers and actions (#47909)

* Add helper

* Add device actions

* Add trigger

* Just make use of standard command

* Generalize code a bit

* Switch tests to currently existing features

* Add tests for capabilities

* Don't check schema asserted value

* Adjust strings somewhat

* Directly expose action subtypes

* Add a status event test

* Switch to modern typing

* Drop chime that is now part of command

* Adjust strings a bit

* Drop ability to set custom value

* Adjust changed base schema

* Validate triggers

* Try fix typing for 3.8

Avoid creating sockets in homekit port available tests (#56342)

AutomationTriggerInfo as type in rfxtrx (#56353)

* AutomationTriggerInfo as type in rfxtrx

* style

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Refactor ZHA HVAC thermostat channel (#56238)

* Refactor HVAC channel to use zigpy cached attributes

* Allow named attributes in ZHA test attribute reports

* Let attribute write to update cache

* WIP Update tests

* Cleanup

Index config entries by domain (#56316)

Fix netgear strings (#56351)

Update template/test_init.py to use pytest (#56336)

Bump up ZHA dependencies (#56359)

Strict typing for SamsungTV (#53585)

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: J. Nick Koston <nick@koston.org>

Standardize yeelight exception handling (#56362)

Allow IntegrationNotFound when checking config in safe mode (#56283)

Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>

Fix yeelight nightlight mode (#56363)

Bump aioswitcher to 2.0.6 (#56358)

Fix HomeKit requests with hvac mode and temperature in the same call (#56239)

Update amcrest version to 1.9.3 (#56348)

This version fixes a bug that affects the current non-async Home Assistant integration

Modbus entity update does not occur until after scan_interval (#56221)

* Secure update is called when integration is started.

* Review comments.

* Update homeassistant/components/modbus/base_platform.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/modbus/base_platform.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

Reflect changes to pydeconz v84 (#56361)

Mostly snake case conversions and typing
But also a change in retry mechanism
Added a more complete set_* call to most types to remove the direct relation to rest API of deCONZ

Do not reload the isy994 on ip change since there is already a reload listener (#54602)

Mock out network.util.async_get_source_ip in tests (#56339)

Prevent 3rd party lib from opening sockets in glances tests (#56345)

Activate mypy. (#55965)

Update pylint to 2.11.1 (#56364)

Address late review of samsungtv (#56382)

Fix dangerous brackets (#56384)

Surepetcare, service to set pet location (#56198)

* Surepetcare, add handle_set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, add handle_set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Surepetcare, add handle_set_pet_location

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Add Shiba Inu coin to coinbase (#56304)

Added SHIB coin

Fix creating `cert_expiry` configs during runtime (#56298)

* Fix creating cert_expiry configs during runtime

* Address review feedback on tests

* Improve delayed startup test

Add config flow to Switchbot (#50653)

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: J. Nick Koston <nick@koston.org>

Strictly type sensor.py (#56388)

Strictly type binary_sensor.py. (#56376)

deCONZ use siren platform (#56397)

* Add siren.py

* Working siren platform with 100% test coverage

* Also add test file...

* Add test to verify that switch platform cleans up legacy entities now that sirens are their own platform

* Update homeassistant/components/deconz/siren.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

Use hass_client_no_auth test fixture in withings tests (#56337)

Bump pyTibber to 0.19.1 (#56405)

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

Use hass_client_no_auth test fixture in nest tests (#56326)

Add strict typing to tradfri __init__ and switch (#56002)

* Add strict typing to __init__ and switch.

* Review comments.

* Review comments.

* Corrected switch.

Use EntityDescription - august (#56395)

Use assignment expressions 01 (#56394)

Increase Lyric update interval to 300 seconds (#56393)

Added functionalities to TED5000 integration

In order to use the sensors in MyEnergy, some data available from TED5000 had to be added

Added Carbon Rate and Meter read date

Update sensor.py

Fixing iSort and flake8 error check

Fixes to flake8 check

Some check black fixes

More to come...

More fixes to check black

Fix indentations

Fixing more indentation

Fixing check black issues

One more check black fix

Fixes to check pylint (3.8)

finalyse check black, flake8 and pylint (3.8)

Added input validation for CONF_MODE

Adding some attributes to season sensor entity

Update sensor.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants