рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдкрд░рд┐рдЪрд┐рдд


рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдУрдкрди рд╕реЛрд░реНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ рдХреЗ рд╕рд╛рде рд▓реЗрдЦрдХ рдХрд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд▓реЗрдЦрдХ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХрджрдо рд╕реЗ рдХрджрдо рдЬрд╛рдирдиреЗ рдХрд╛ рдореМрдХрд╛ рдерд╛ред рд▓реЗрдЦ рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рд╣реИ, рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдб рд╣реИ рдЬреЛ рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкрд░рд┐рдЪрд┐рдд рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдереЛрдбрд╝рд╛ рдЦрд╛рд▓реА рд╕рдордп рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХрд╣рд╛рд╡рдд рдЫреЛрдбрд╝реЗрдВ - рдкрд╣рд▓рд╛ рдЕрдзреНрдпрд╛рдп - рдФрд░ рд╕реАрдзреЗ рджреВрд╕рд░реЗ рдкрд░ рдЬрд╛рдПрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо Xiaomi рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рдЪреАрдиреА рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рд╕реНрдорд╛рд░реНрдЯ рдЪрд╛рд╡рд▓ рдХреБрдХрд░

рдПрдХ рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдПрдХ рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рд╣реИред рд╡рд┐рдХреА рдиреЗ рд╣рдореЗрдВ рдмреНрд░рд┐рдЯрд┐рд╢ рдореНрдпреВрдЬрд┐рдпрдо рд╕реЗ 1250 рдИрд╕рд╛ рдкреВрд░реНрд╡ рдореЗрдВ рдЪреАрдиреА рдорд┐рдЯреНрдЯреА рдХреЗ рдЪрд╛рд╡рд▓ рд╕реНрдЯреАрдорд░ рджрд┐рдЦрд╛рдП 1945 рдореЗрдВ, рдорд┐рддреНрд╕реБрдмрд┐рд╢реА рдЬрд╛рдкрд╛рди рдХреА рдкрд╣рд▓реА рдШрд░реЗрд▓реВ рдирд┐рд░реНрдорд┐рдд рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рд░рд╛рдЗрд╕ рдХреБрдХрд░ рдХрдВрдкрдиреА рдмрди рдЧрдИред рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ - Xiaomi рдХреЗ рд░рд╛рдЗрд╕ рдХреБрдХрд░ - рди рдХреЗрд╡рд▓ рдЪрд╛рд╡рд▓ рдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред тАЬрдпрд╣ рди рдХреЗрд╡рд▓ рдЪрд╛рд╡рд▓, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реНрдпрдВрдЬрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рд╣реИред рдпрд╣ рд╕реВрдк, рдкреЗрд╕реНрдЯреНрд░реА рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдкрдХрд╛ рд╕рдХрддрд╛ рд╣реИ, тАЭрд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╣рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдПрдХ рд╡рд╛рдИ-рдлрд╛рдИ рдореЙрдбреНрдпреВрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рд╕реНрд╡рдЪрд╛рд▓рди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ 200+ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░-рд╕реНрдерд╛рдкрд┐рдд рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред рд▓реЗрдЦрдХ рдиреЗ рд╕реЛрдЪрд╛, рдФрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, "рдкреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдШрд░ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╕рд╣реА рд╣реИред"

Xiaomi рд░рд╛рдЗрд╕ рдХреБрдХрд░, рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЖрдХрд░реНрд╖рдХ рд╣реИ, рдЗрд╕рдХреЗ рдЧреЛрд▓ рдЖрдХрд╛рд░ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рд╕реЗ рдкреНрд░рд╕рдиреНрди рд╣реИред рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдорд╛рддрд╛ Mi рд╣реЛрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред Mi рдЦрд╛рддреЗ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдирдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдвреВрдВрдврддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИ, рдмреБрдирд┐рдпрд╛рджреА рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд╕реВрдЪрдирд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд▓рд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрдиреЗ рд╕реЗ рд╣рд░ рдХреЛрдИ рдЦреБрд╢ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдПрдХ рдЕрдкреНрд░рд┐рдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЕрдХреНрд╕рд░ рдЖрдЬ рд░рд╛рд╖реНрдЯреНрд░реАрдп рд░рдВрдЧ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИред 200+ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдХреЗрд╡рд▓ рдЪрд╛рд░ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реИрдВ рдФрд░ рд╡рд┐рджреЗрд╢реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд╢реЗрд╖ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪреАрдиреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИред рдЬрдм рдЖрдкрдХрд╛ "рд╕реНрдорд╛рд░реНрдЯ" рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рд╕рднреА рд╡рд╛рджрд╛ рдХрд┐рдП рдЧрдП рдкрд╛рдХ рдХрд░реНрддрд╡реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рддреЛ, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрд╣ рджреБрдЦреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рднрдЯрдХрдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдЙрджрд╛рд╕ рд▓реЗрдЦрдХ рдЕрдЧрд▓реА рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ (рд▓реЗрдЦрдХ рдХреЗ рд╢рд╛рд╢реНрд╡рдд рд▓рд╛рдн) рдХреЗ рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдирд┐рдХрд▓рд╛ред

рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реАред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╣рд╛ рд╣реЛрдордкреЗрдЬ рдкрд░ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ , тАЬрдпрд╣ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдСрдЯреЛрдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдмрдВрдзрди рдФрд░ рдЧреЛрдкрдиреАрдпрддрд╛ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЙрддреНрд╕рд╛рд╣реА рд▓реЛрдЧреЛрдВ рдХреЗ рдПрдХ рдЦреБрд▓реЗ рд╕рдореБрджрд╛рдп рдХреЗ рдХрд╛рдо рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд, рдпрд╣ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдпрд╛ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред тАЭ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╛рдВрдЪ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдиреА рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрдЬрдЧрд░ рдФрд░ рдПрдХ рдЕрдкрд╛рдЪреЗ 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг 0.99.3 рд╣реИред

рд╣рд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ (рдПрдХреАрдХрд░рдг, рдпрд╛ рдШрдЯрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдк рдореБрдЦреНрдп (рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд рдФрд░ рд╕рдорд░реНрдерд┐рдд) рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдХ рд╕реВрдЪреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ (1485 рдЯреБрдХрдбрд╝реЗ) рдореЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╡рд┐рдз рд╣реИрдВ, рдирд╛рдо рдЕрдореЗрдЬрд╝рди, Google, xiaomi, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмрд╛рд░ рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреЛ рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЗрдП рд▓рд┐рдирдХреНрд╕ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рдореЗрдВ рдЕрдЬрдЧрд░ 3 рдФрд░ рдкрд╛рдЗрдк рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
python3 -m venv homeassistant #    cd homeassistant source bin/activate #    python3 -m pip install homeassistant #  Home Assistant hass --open-ui #  Home Assistant 

рдЙрд╕рдХреЗ рдмрд╛рдж, HA GUI http: // localhost: 8123 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рдЬреЛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рд╡реЗ рд╣реИрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди тЖТ рдЬрдирд░рд▓ рдЯреИрдм, рдЬрд╣рд╛рдВ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЯреВрд▓ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреГрд╖реНрда, рдЬрд╣рд╛рдВ рдЖрдк рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛, рд▓рд┐рдирдХреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "~ / .homeassistant" рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ YAML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИрдВ, рдФрд░ рдореБрдЦреНрдп рдПрдХ "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди.рдпрдореНрд▓" рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓, рд╕реНрд╡рдЪрд╛рд▓рди, рдЖрджрд┐ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рдЖрдпрд╛рдд рд╕реБрд╡рд┐рдзрд╛ рдЖрдкрдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдореЙрдбреНрдпреВрд▓ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ "рдШрдЯрдХреЛрдВ" (рдмрд┐рд▓реНрдЯ-рдЗрди) рдФрд░ "рдХрд╕реНрдЯрдо_рдХрдВрдкреНрдпреВрдЯрд░" рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рдЬреНрдЮрд╛рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝реЛрд▓реНрдбрд░ "xiaomi_cooker" рдХреЛ рд╣рдорд╛рд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╣рдорд╛рд░реЗ "~ / .homsististant / custom_compords" рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рд╡рд┐рд╡рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореЙрдбреНрдпреВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ "configuration.yaml" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
configuration.yaml
 xiaomi_cooker: #   name: 'Akari' #   host: 192.168.1.10 # IP   token: '4921def609273302248d040a24243a25' #   Xiaomi model: chunmi.cooker.normal2 #   


рд╣реЛ рдЧрдпрд╛ред рд╣рд╛ рд░рд┐рдмреВрдЯ рдХреЗ рдмрд╛рдж, рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдЬрдирд░рд▓ тЖТ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╕реЗрдХреНрд╢рди рдореЗрдВ рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдХреЛрдИ рднреА рдореЙрдбреНрдпреВрд▓ рд╡рд╕реНрддреБрдУрдВ (рд╕рдВрд╕реНрдерд╛рдУрдВ) рдФрд░ рд╕реЗрд╡рд╛рдУрдВ (рд╕реЗрд╡рд╛рдУрдВ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рдХрд╛рд░реНрдпреЛрдВ) рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдВрд╕рд░ред Xiaomi_cooker_temper рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдХрд╛ рддрд╛рдкрдорд╛рди рд╣реИ, рд╕реВрд░рдЬ рд╕реВрд░рдЬ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИред рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдбреЗрдЯрд╛ рдПрдХ рдореВрд▓ рдорд╛рди - рд╕реНрдерд┐рддрд┐ (рд╕реНрдерд┐рддрд┐) рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ) рдХрд╛ рдПрдХ рдордирдорд╛рдирд╛ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдорд╛рдВрдб рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, xiaomi_cooker.start - рдЪрд╛рд╡рд▓ рдХреБрдХрд░, рдпрд╛ homeassistant.check_config - рд╣рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд╛ рдЖрд░рдВрднреАрдХрд░рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ред рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рд╕реВрдЪреА рдореЗрдВ рд╕реЗрд╡рд╛ рдЕрдиреБрднрд╛рдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЖрд╕-рдкрд╛рд╕ рд╕реНрдЯреЗрдЯреНрд╕ рд╕реЗрдХреНрд╢рди рд╣реИ, рдЬрд╣рд╛рдБ, рддрджрдиреБрд╕рд╛рд░, рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреЗрдЦ рдФрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд░рд╛рдЬреНрдпреЛрдВ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХрддрд░рдлрд╛ рд╣реИрдВред рдпрд╛рдиреА рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣рд╛рдБ рд╕реЗ lightststate рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдВрдж рдкрд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдорд╛рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрд╡рдЪрд╛рд▓рди

рд╕реНрдорд╛рд░реНрдЯ рдШрд░ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рди рд╣реИ ред рдЖрдк рд╕рд╛рдорд╛рдиреНрдп тЖТ рд╕реНрд╡рдЪрд╛рд▓рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдпрд╛ рд╕реАрдзреЗ "automations.yaml" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдСрдЯреЛрдореЗрд╢рди рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ рдЬрдм рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдХрд░рдг, inclред рд╕рдордп рдбреЗрдЯрд╛ред рдХреБрдЫ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдШрдЯрдирд╛рдПрдБред рдПрдХ рд╕рд░рд▓ рд╕реНрд╡рдЪрд╛рд▓рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдПрдХ рдХреЛрдб рджреЗрддреЗ рд╣реИрдВ рдЬреЛ 15 рдорд┐рдирдЯ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд▓реЗрдЦрдХ рдХреЗ рдкреНрд▓рд╕-рдиреЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ:
automations.yaml
  - id: '1565889970818' # ID  alias: Umpiro decharging #  trigger: #   - platform: time_pattern #   -  minutes: /15 #   (   тАУ    15 ) condition: [] #    action: #    - data: # ,     entity_id: sensor.umpiro_charge #  (: ) service: homeassistant.update_entity #    


рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрднреА рддрдХ рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рдЪрд╛рд▓рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд) рдХреЛ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрдо-рдХреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕ рдЦрд╛рдореА рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

templating

рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рдмрд╛рдж, рдпрд╣ рдЯреЗрдореНрдкреНрд▓реЗрдЯ ( рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред Yaml рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рддрддреНрд╡ рдЖрдкрдХреЛ jinja2 рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдЖрд╡реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ ред рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рддрддреНрд╡ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо 'рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕' рд╕реЗ рдПрдХрдЬреБрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕реЗрд╡рд╛_рдЯреИрдВрдкрд▓реЗрдЯ рдпрд╛ рдЯреНрд░рд┐рдЧрд░_рдЯреЗрдордкреНрд▓реЗрдЯред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рд╣рд╛ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдФрд░ рдЬрдЯрд┐рд▓ рдЧрдгрд┐рддреАрдп рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдирдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЪрд▓реЛ "configuration.yaml" рдореЗрдВ рдиреАрдЪреЗ рд▓рд┐рдЦреЗ рдЧрдП рд╕реЗрдВрд╕рд░ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреЛрдб рд▓реЗрддреЗ рд╣реИрдВред рдпрд╣ template_sensor рд╣реИ , рдЕрд░реНрдерд╛рдд "рдПрдХ рд╕реЗрдВрд╕рд░ рдЬреЛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдмрдирд╛рддрд╛ рд╣реИ"ред рд╣рдорд╛рд░рд╛ рд╕реЗрдВрд╕рд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдХреА рдЧрдИ рдмреИрдЯрд░реА рдХрд╛ рдХреБрдЫ рдПрдирд╛рд▓реЙрдЧ рд╣реЛрдЧрд╛:
configuration.yaml
 sensor: #   platform: template #   -  sensors: #   #   тАУ sensor.umpiro_charge umpiro_charge: #      UI () unit_of_measurement: '%' # ,    value_template: >- #    тАУ   'int' # +     {% if states('sensor.umpiro_charge')|int('unknown') is number %} #       #         {% set value = (states('sensor.umpiro_charge')|int - (as_timestamp(now()) - as_timestamp(states.sensor.umpiro_charge.last_updated))/60/15)|round %} #       {{ [[0, value]|max, 100]|min }} {% else %} # ,  HA   #      {{ 'unknown' }} {% endif %} # ID  ,     #      entity_id: [] friendly_name: 'Charge' #   #      UI () device_class: battery 


рд╣рдордиреЗ Unit_id рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕реНрд╡рдЪрд╛рд▓рди рдЬреЛрдбрд╝ рд▓рд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЕрджреНрдпрддрди рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

рдкрд╛рдпрдерди рд▓рд┐рдкрд┐

рдмрджрд▓реЗ рдореЗрдВ, рдирдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬрдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рд╣реИред рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж: "python script:" рд╕реЗ "configuration.yaml", рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ ".py" рдЬрд┐рд╕реЗ рд╣рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ "~ / .homeassistant / python_scripts" рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ "python_scriptsред"ред file_name> тАЭред рдЙрдирдХреЗ рдХреЛрдб рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рдФрд░ рдкрд░реЗрд╢рд╛рдиреА рдЪрд░ рд╣рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЙрд▓ рдХреЗ рддрд░реНрдХ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдЪрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо "python_scripts.charge_set" рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ "рдЪрд╛рд░реНрдЬ_рд╕реЗрдЯ рдУрдбреЛрдо" рдХрд╛ рдХреЛрдб рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп рд╣рдорд╛рд░реА рдмреИрдЯрд░реА рдХрд╛ рдЪрд╛рд░реНрдЬ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
python_scripts / charge_set.py
 #     name = data.get('name', 'sensor.umpiro_charge') #     new_state = data.get('charge', '100') #    attributes = hass.states.get(name).attributes #    hass.states.set(name, new_state, attributes) 



рдПрдХреАрдХрд░рдг рдмрдирд╛рдирд╛

рд╕рднреА рдЬреЛ рд╣рдордиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдФрд░ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдорджрдж рд╕реЗ рдХрд┐рдпрд╛, рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдХрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдореЙрдбреНрдпреВрд▓ "custom_compords" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рд╣рдорд╛рд░реЗ рд░рд╛рдЗрд╕ рдХреБрдХрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд░реЗрд╕рд┐рдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИ, рдФрд░ рдПрдХ рд╕реЗрд╡рд╛ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ , рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдПрдВрдЧреЗ, "рдУрд╡рд░рдорд╛рдЗрдВрдб"ред рдкрд╣рд▓рд╛ рдЪрд░рдг рдХрд╕реНрдЯрдо_рдХрдВрдкреНрдпреВрдЯрд░ / рдУрд╡рд░рдорд╛рдЗрдВрдб / __ init__.py рдлрд╝рд╛рдЗрд▓ рд╣реИ:
рдХрд╕реНрдЯрдо_рдХрдВрдкреНрдпреВрдЯрд░ / рдУрд╡рд░рдорд╛рдЗрдВрдб / __ init__.py
 #     DOMAIN = 'overmind' #       () DEFAULT_RECIPE = { "title": "Habr post", "description": "Post an article on habr.com", "profile": "471822" } #    def setup(hass, config): #    hass.states.set('overmind.current_recipe', 'on', DEFAULT_RECIPE) #       def handle_set(call): #    recipe = call.data.get('recipe', DEFAULT_RECIPE) #   -    hass.states.set('overmind.current_recipe', 'set', recipe) #   hass.services.register(DOMAIN, 'recipe_set', handle_set) return True 


рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдирдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ "configuration.yaml" рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ, рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдХрд░: "рдУрд╡рд░рдорд╛рдЗрдВрдб:"ред рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред

рд▓рд╡рд▓реЗрд╕ рдЙрдИ

рдпрд╣ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдлреНрд░рдВрдЯ рдПрдВрдб рд╣рд╛ рдХрд╛ рдирд╛рдо рд╣реИред рдпрд╣ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдкрд╣рд▓рд╛ рдкреГрд╖реНрда рд╣реИред рдПрд▓рдпреВрдЖрдИ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдХрд╛рд░реНрдбреЛрдВ рд╕реЗ рдмрдирддрд╛ рд╣реИ, рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ, рдХреЙрд▓ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмреБрдХрдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдб рдкреГрд╖реНрда (рджреГрд╢реНрдп) рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЗрдЯрдЕрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рд╣реА рдЪрд┐рддреНрд░рдордп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрдо-рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд╕реБрд▓рдн рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рднреА рд╣реИред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдкреГрд╖реНрда https://demo.home-assistant.io/ рдкрд░ рджреЗрдЦреЗрдВ , рдЬрд╣рд╛рдБ LUI рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдФрд░ рдЬрд╣рд╛рдБ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЬреАрдпреВрдЖрдИ рд╕реЗрдЯрдЕрдк рдЙрджрд╛рд╣рд░рдг

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдХрдорд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЦреБрдж рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреА рдХреБрд░реНрд╕рд┐рдпреЛрдВ рдкрд░ рдПрдХ рд╕рд╛рде рдмреИрдардиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИред LUI, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдб рдХреЗ рд╕реНрдерд╛рди рдФрд░ рдЖрдХрд╛рд░ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрднреА-рдХрднреА рдПрдХ рдкреГрд╖реНрда рдХреЛ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореЙрдирд┐рдЯрд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реНрдХреНрд░реАрди рдкрд░ рдЧрдбрд╝рдмрдбрд╝ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХрд╛рд░рдЧрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ, рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рд╣рдореЗрд╢рд╛ рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдпрдо рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рд╣рдорд╛рд░реЗ рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреГрд╖реНрда (рджреГрд╢реНрдп) рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡реЛрдВ рд╕реЗ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реНрдХреНрд░реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХрд╛ рдХрд╛рд░рдг рди рдмрдиреЗред

рдпрд╣рд╛рдВ рд╣рдо рдЙрди рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдпреЗ рдХреНрд╖реИрддрд┐рдЬ-рд╕реНрдЯреИрдХ рдФрд░ рд╡рд░реНрдЯрд┐рдХрд▓-рд╕реНрдЯреИрдХ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЯрд╛рдЗрдк рдПрдВрдЯрд┐рдЯреА-рдмрдЯрди рдФрд░ рд╕реЗрдВрд╕рд░ рдХреЗ рдХрд╛рд░реНрдб рд╕реЗ рд╡рд░реНрдЯрд┐рдХрд▓-рд╕реНрдЯреИрдХ рдмрдирд╛рдПрдВред рдкрд╣рд▓рд╛ рд╣рдорд╛рд░реЗ рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рджреВрд╕рд░рд╛ - рддрд╛рдкрдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
рд╡рд░реНрдЯрд┐рдХрд▓-рдвреЗрд░
 cards: #    - type: entity-button #      entity: sensor.xiaomi_cooker_state # ,     icon: 'mdi:selection' #     icon_height: 100px #   name: Offline #    show_icon: true # show_name: true # tap_action: #    action: call-service #  тАУ   service: script.turn_on #  тАУ   service_data: #    entity_id: script.order_cooker_start #  тАУ   hold_action: #    action: none # - type: sensor #      entity: sensor.xiaomi_cooker_temperature # ,     name: Temper #   type: vertical-stack #   тАУ   


рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдордЯреЗрд░рд┐рдпрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдЖрдЗрдХреЙрди рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЙрдкрдпреБрдХреНрдд рдирд╛рдореЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, mdi: рдЪрдпрди) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдЗрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЬрдЧрд░-, рд▓реЗрдХрд┐рди рдпрдорд▓-), рдЬрд┐рд╕реЗ рд╣рдо рд╕реЗрд╡рд╛ рдХрд╣рддреЗ рдереЗ, рдПрдХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣рд╛ рдЙрдкрдХрд░рдг рд╣реИред

рдЕрдм рд╣рдорд╛рд░реЗ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдХрд╛рд░реНрдб-рд╕реНрдЯреИрдХ рдХреЛ рд╣рдорд╛рд░реЗ рдХреНрд╖реИрддрд┐рдЬ рдХрд╛рд░реНрдб рдХреЗ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрдВред рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рд╣реА рд╕рд░рд▓ рд╣реЛрдЧрд╛:
рдХреНрд╖реИрддрд┐рдЬ рдвреЗрд░
 ards: #    - type: picture #   image: /local/akari_r.jpg #    - #         type: horizontal-stack #   тАУ   


рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рд▓рд╛рдЗрди 'рдЗрдореЗрдЬ:' рдЕрдВрдХрд┐рдд рдХрд░рдиреА рд╣реЛрдЧреАред рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдЬреЛ рд╣рдо '~ / .homeassistant / www' рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рд▓рд┐рдВрдХ http: // localhost / local / filename рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ ред

рдЕрдЧрд▓рд╛ рдХрджрдо рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕реЗрд╡рд╛ рдХреЙрд▓ рдмрдЯрди рдкрд░ рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рдЯреЙрдЧрд▓ рд╕реНрд╡рд┐рдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЪрд╛рд▓реВ / рдмрдВрдж, рдФрд░ рдЕрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╢рд░реНрдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ, рдЬреЛ рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рддрднреА рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЪрд╛рд╡рд▓ рдХреБрдХрд░ рдкрдХрд╡рд╛рди рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реЛ:
рд╕рд╢рд░реНрдд
 card: #    entity: sensor.xiaomi_cooker_state # icon: 'mdi:star-box-outline' # icon_height: 100px # name: Running # tap_action: # action: call-service # service: xiaomi_cooker.stop # type: entity-button # conditions: #   # ,    entity: sensor.xiaomi_cooker_mode #  ,     state: Running type: conditional #   


рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдкрд╛рд╡рд░ рдмрдЯрди рдХреЛрдб рдХреЛ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХрд░рдХреЗ, рд╣рдореЗрдВ рдПрдХ рдмрдЯрди рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рджреЛрдиреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╣рдо рдЕрдкрдиреА рд░реБрдЪрд┐ рдХреЛ рдПрдХ рдФрд░ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ - рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреЗ рдЕрдВрдд рддрдХ (рддрд╛рдкрдорд╛рди рдХрд╛рд░реНрдб рдХреЗ рд╕рдорд╛рди), рдФрд░ рдПрдХ рдФрд░ рдиреБрд╕реНрдЦрд╛ (рдХрд╕реНрдЯрдо: рдиреБрд╕реНрдЦрд╛-рдХрд╛рд░реНрдб) рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рдеред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдб

рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ, рдмрд┐рд▓реНрдЯ-рдЗрди рдХрд╛рд░реНрдб рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕рдореГрджреНрдзрд┐ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкрдиреА рдЦреБрдж рдХреА рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдРрд╕реЗ рдХрд╛рд░реНрдб рдХреЛ рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рджреЛ рд╕рд░рд▓ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдЙрддреНрд╕рд╛рд╣реА рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдбреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЦреБрдж рдХреЛ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдХрд┐ рдирдП рд▓рд┐рдЦрдиреЗ рдкрд░ рдХрд╛рдо рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдЬреЗрдПрд╕-рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдХрдо рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд░реНрддрдорд╛рди рдиреБрд╕реНрдЦрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдб рдХреЛрдб рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рджреВрдВрдЧрд╛ред
www / рдиреБрд╕реНрдЦрд╛- card.js
 import { //     lit-element LitElement, html, css } from "https://unpkg.com/lit-element@latest/lit-element.js?module"; //      class RecipeCard extends LitElement { //     HA static get properties() { return { hass: {}, config: {} }; } //    callServiceEx() { this.hass.callService('persistent_notification', 'create', {message: 'example'}); } //  html-  render() { //    ,     const entityId = this.config.entity; //    const state = this.hass.states[entityId]; //    const titleStr = state ? state.attributes.title : 'unavailable'; const descrStr = state ? state.attributes.description : 'unavailable'; //    return html` <ha-card> <div class="flex" style="margin-top:16px;"> <div class="icon"> <ha-icon icon="mdi:bowl"></ha-icon> </div> <div class="header"> <span class="name">Recipe</span> </div> </div> <div class="flex info" style="margin-bottom:16px;"> <span class="recipe-title">${titleStr}</span> <span class="recipe-descr">${descrStr}</span> </div> </ha-card> `; } //     customElements.define('recipe-card', RecipeCard); 



рдирдП рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ LUI рд╕реЗрдЯрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
рдиреБрд╕реНрдЦрд╛ рдХрд╛рд░реНрдб
 resources: #    - type: module #   тАУ  url: /local/recipe-card.js #   

рдФрд░ рдХрд╛рд░реНрдб рдХреА рд╕реВрдЪреА рдХреЗ рдмреАрдЪ:
  - type: 'custom:recipe-card' #   entity: overmind.current_recipe # ,     



рд╕реВрдЪрдирд╛рдПрдВ

рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд░рд╣рд╛ рд╣реИред рд╣рд╛ рдореЗрдВ, рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реВрдЪрдирд╛рдПрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреЛ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪрдирд╛рдПрдВ рд╣реИрдВред рдкрд╣рд▓рд╛ рд▓рдЧрд╛рддрд╛рд░ рд╕реВрдЪрдирд╛рдПрдВ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реЗрд╡рд╛ "persistent_notification.create" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдШрдВрдЯреА рдЖрдЗрдХрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд╡реЗ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдорд╛рд░реНрдХрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВред

рдПрдХ рдФрд░, рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк, рдЙрдкрдХрд░рдг рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реВрдЪрдирд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдкрдХреЛ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ ред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЯреЛрдХрди рдмреЙрдЯ рдПрдкреАрдЖрдИ рдХреЗ рдЪреИрдЯ_рдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рддреИрдпрд╛рд░ рд╣реИрдВред рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдкрд╣рд▓реЗ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдШрдЯрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ "configuration.yaml" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
configuration.yaml
 telegram_bot: #   telegram platform: polling #   api_key: XXXXXXXXXXXXX # API Token   allowed_chat_ids: XXXXXXX # chat_id   proxy_url: socks5://XXXXXXXXXXXXX #     proxy_params: username: umpiro password: umpiro_password 

рд╕реВрдЪрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд▓рд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕:
 notify: #   notify name: notify_send #   (   тАУ  notify.notify_send) platform: telegram #   chat_id: XXXXXXX # chat_id   



рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЙрдбреНрдпреВрд▓ рд╣рдореЗрдВ рд╕рдВрджреЗрд╢, рдЪрд┐рддреНрд░ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреЗ рдЕрдВрдд рдХреА рд╕реВрдЪрдирд╛ рджреЗрддреЗ рд╣реБрдП, рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рди рдмрдирд╛рдПрдВрдЧреЗред
automations.yaml
  - id: '1571074941908' # ID  alias: EOC #   trigger: #    # ,   - entity_id: sensor.xiaomi_cooker_mode from: Running #    #   тАУ    platform: state to: Waiting #    condition: [] #   action: #    - service: notify.notify_send #  тАУ   data: # ,     title: End of Cooking #  message: "EOC" #  data: #    photo: #   -  #   - file: /home/umpiro/.homeassistant/www/cat.jpg #   caption: тАЬEOCтАЭ 



рдЕрдВрддрднрд╛рд╖рдг

рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдкреА рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдмрдВрдзрди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдореБрджрд╛рдп рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╡рд┐рд╕реНрддреГрдд, рд░реЛрдЪрдХ, рдЦреБрд▓реЗ рддреМрд░ рдкрд░ рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рдЖрдирдиреНрджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ (рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЛрдЧреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ)ред рдорд╛рдЗрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдЕрдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, 10 рдЕрдХреНрдЯреВрдмрд░ рдХреЛ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рд░рд┐рд▓реАрдЬ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 0.99 рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 100 x рддрдХред
рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рд╕реЗ рдЙрджреНрдзрд░рдг:
рдЕрднреА рддрдХ рдПрдХ рдФрд░ рдЕрджреНрднреБрдд рд░рд┐рд▓реАрдЬ рдХреЗ рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рдирд╣реАрдВ, рд╣рдо 1.0 рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо 0.100 рдХрд░ рд░рд╣реЗ рд╣реИрдВ! рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо 1.0 рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рд╣рд░ рджрд┐рди рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдЬрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдПрдХ рдЪрд░рдо рд╢рд┐рдЦрд░ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреЛ рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ 1.0 рдореЗрдВ рд╕рд░рд▓ рдореЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ ред

Source: https://habr.com/ru/post/hi471822/


All Articles