рдмрдбрд╝рд╛ рднрд╛рдИ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ ... рдЦреБрдж рдпрд╛ рд╣реЛрдордПрд╕реНрдЯрд┐рд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдирдХреНрд╢рд╛

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдЕрдкрдиреЗ рд╣реЛрдо рдСрдЯреЛрдореЗрд╢рди рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ HomeAssistant рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдПрдХ рдмрд╛рд░ рдПрдХ рдорд┐рддреНрд░ рдиреЗ рдореБрдЭрд╕реЗ рдкреВрдЫрд╛, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд╣реЛрдордПрд╕реНрдЯрд┐рд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдирдХреНрд╢реЗ рдкрд░ рдХреЗрд╡рд▓ рдЯреНрд░реИрдХрд░ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреВрд░реЗ рдорд╛рд░реНрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ? рддрдм рд╕реЗ, рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдиреЗ рдореБрдЭреЗ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рд╣реИред рдФрд░ рдПрдХ рдмрд╛рд░ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЕрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд░ рдХреЛрдИ рдЬреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдпрд╛ рд╣реИ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рдмрд┐рд▓реНрд▓реА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВ ...

рдЕрдиреНрд╡реЗрд╖рдг


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

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

рд╕рд╣реА рд╣реИ рдЕрдЧрд░ рдореИрдВрдиреЗ Google рдФрд░ / рдпрд╛ рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣реАрдВ рдЧрд▓рддреА рдХреА рд╣реИред

рдмреА OpenRouteService рдФрд░ OpenRouteService рдирдХреНрд╢реЗ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреНрд╖рдорддрд╛рдПрдВ Google рдпрд╛ рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИрдВ (рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛)ред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдХреНрдд (рдкреНрд░рддрд┐ рджрд┐рди рдФрд░ рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ, рдпрджрд┐ рдЕрдзрд┐рдХ рд╣реЛ, рддреЛ рд╕рдорд░реНрдерди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ ... рдХрд┐рд╕реА рднреА рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдЯреИрд░рд┐рдл рдХрд╛ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, OpenRouteService рдореИрдкреНрд╕ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдмрд╛рдИрдВ рдУрд░ рдХрд╖реНрдЯрдкреНрд░рдж рдЪреМрдбрд╝рд╛ рдореЗрдиреВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦреБрд▓рддрд╛ рд╣реИ рдФрд░ API рджреНрд╡рд╛рд░рд╛ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕реЗрд╡рд╛ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдЦреБрд▓рддреА рд╣реИ)ред рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, OpenRouteService рдирдХреНрд╢реЗ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдбрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрдВред Mapbbcode ред рдореИрдВ рдПрдХ рд╕рд░рд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдб рдХреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рдореИрдВрдиреЗ рдХреИрдЯрдмрд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреА рдУрд░ рдореБрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЕрдВрдд рдореЗрдВ, рд╡рд╣ рдЙрд╕ рдкрд░ рд░реБрдХ рдЧрдпрд╛ ...

рдЖрд░ рдкрддреНрд░рдХред рдирдХреНрд╢реЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдУрдкрди-рд╕реЛрд░реНрд╕ рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рддред рдЪрд┐рдкреНрд╕ рд╕реЗ: рдЖрдк рдХрдИ рд╕реЗрд╡рд╛рдУрдВ (рдУрдкрдирд╕реНрдЯреНрд░реАрдЯрдореИрдкреНрд╕, рдпреИрдВрдбреЗрдХреНрд╕, рдЧреВрдЧрд▓, рдореИрдкрдмреЙрдХреНрд╕, рдорд╛рдЗрдХреНрд░реЛрд╕рд╛рдлреНрдЯ, рдЖрджрд┐) рд╕реЗ рдЯрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореИрдВрдиреЗ рдореИрдк рдкрд░ рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реАрдлрд▓реЗрдЯ.рдкреЙрд▓реАрд▓рд╛рдЗрдирдбреЗрдХрдЯреЛрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

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

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


REST-API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ (рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЛрдб рд╣реЛрдордПрд╕реНрдЯрд┐рд╕реНрдЯреЗрдВрдЯ рднрд╛рд╖рд╛ рдореЗрдВ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рддреН рдЕрдЬрдЧрд░) рдФрд░ рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭрдиреЗ рд╡рд╛рд▓реЗ JSON рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

response = requests.get(self._haddr + '/api/history/period/' + dayBegin + '?filter_entity_id=' + self._myid, headers={'Authorization': 'Bearer ' + self._token, 'content-type': 'application/json'}) data = response.json()[0] 

рдпрд╣рд╛рдБ self._haddr рдЖрдкрдХреЗ рд╣рд╛ рдХреЗ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдлреНрд░рдВрдЯрдПрдВрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, self._myid рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдХрд░рдг id рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорд╛рд░реНрдЧ рд╣рдо рдмрдирд╛рдПрдВрдЧреЗ, dayBegin рдорд╛рд░реНрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рд╣реИ, рдореИрдВрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рджрд┐рди рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реИред self._token рдПрдкрд┐ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рдЬреАрд╡рди рдЯреЛрдХрди рд╣реИ, рдЬрд┐рд╕реЗ рд╣реЛрдордПрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

  def getDistance(self, latA, lonA, latB, lonB): dst = 0 latRadA = math.radians(latA) lonRadA = math.radians(lonA) latRadB = math.radians(latB) lonRadB = math.radians(lonB) x = latRadB - latRadA y = (lonRadB-lonRadA)*math.cos((latRadB+latRadA)*0.5) dst = 6371*math.sqrt(x*x+y*y) return dst 

рдпрд╣рд╛рдБ dst рдХрд┐рдореА рдореЗрдВ рджреВрд░реА рд╣реИред

рдпрд╣рд╛рдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреИрдЯрд▓реЙрдЧ рдПрдкреАрдЖрдИ рдХреЛ рдмрд┐рдВрджреБ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ ред рдореЙрдбреНрдпреВрд▓ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рдПрди рд╕реЗрдХрдВрдб (рдореИрдВрдиреЗ рдЗрд╕реЗ 300 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ) рдореЗрд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреА рд╡рд╕реНрддреБ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдкрд░рд┐рдгрд╛рдореА рд╕рд░рдгреА рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реБрдП, рджреВрд░реА рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, www рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ HomeAssistant рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, 2 рдлрд╛рдЗрд▓реЗрдВ рдмрдирддреА рд╣реИрдВ: index.html рдФрд░ path.htmlред рдорд╛рд░реНрдЧред Html рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рддрд░реНрдХ рд╣реИрдВред рдФрд░ index.html рдлрд╝рд╛рдЗрд▓ рдкреЗрдЬ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрд╡рди рд╣реИрдХ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, HomeAssistant рд╣рд░ рд╕рдВрднрд╡ рдЪреАрдЬрд╝ рдХреЛ рдХреИрд╢ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдХреИрд╢ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред Index.html рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд░реВрдЯ.html рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдореЗрд╢рд╛ рд░реВрдЯ.html рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

 src = 'route.html?datetime=' + (new Date()).getTime() + Math.floor(Math.random() * 1000000) 

рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛


HomeAssistant рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ www рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛрдВ, рдпрд╛рдиреА www рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рднреА рдлрд╝рд╛рдЗрд▓ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдЦреЛрд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдкреНрд░рддреНрдпрдХреНрд╖ рд▓рд┐рдВрдХ рдХреЛ рдЬрд╛рдирдХрд░ред рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд▓рд┐рдВрдХ рдпрд╣ рд╣реИ: your_address_homeassistant / local / path / index.html ред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдЧрдпрд╛ рдФрд░ рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рдЖрдк рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕рдкреЛрд░реНрдЯ рд╡рд╛рд▓рд╛ рджреВрд╕рд░рд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ)ред HomeAssistant рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ ред рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдСрдкрд░реЗрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 location /local/route/route.html { proxy_pass http://localhost:8123/local/route/route.html; proxy_set_header Host $host; proxy_redirect http:// https://; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; auth_basic "Unauthorized"; auth_basic_user_file /etc/nginx/.htpasswd; } 

рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ "/etc/nginx/.htpasswd" рдмрдирд╛рдПрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd" sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd" 

рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ - рд╡рд╛рдВрдЫрд┐рдд рд▓реЙрдЧрд┐рди рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред

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

рдирд┐рд╖реНрдХрд░реНрд╖


рд╢рд╛рдпрдж рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреМрди рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдХ рдХрдбрд╝реА рд╣реИред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрде рдХреЗ рд╕рд╛рде рд░рдЦреЗрдВ: config_folder_homeassistant / custom_compords / рдорд╛рд░реНрдЧ / Sens.py, рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред

рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ config_folder_homeassistant / www рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдЙрдЪрд┐рдд рдЕрдзрд┐рдХрд╛рд░ рджреЗрдВред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди .yaml рдореЗрдВ, рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓рд┐рдЦреЗрдВ:

 sensor: - platform: route name: route entityid: your_device_tracker_entity_id haddr: your_address_homeassistant token: your_long_life_token 

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

рдЙрд╕рдХреЗ рдмрд╛рдж, HomeAssistant рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЖрдирдВрдж рд▓реЗрдВред рдорд╛рдирдЪрд┐рддреНрд░ рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛: your_address_homeassistant / рд╕реНрдерд╛рдиреАрдп / рдорд╛рд░реНрдЧ / index.html ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдкреИрдирд▓ рдореЗрдиреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреИрдирд▓ рдореЗ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ_ рдкреИрдирд▓ рдпрд╛ рдХрд┐рд╕реА рднреА рдПрдЪрдП рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП "рдЖрдЗрдлреНрд░реЗрдо" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
рдпрд╣ рд╕рдм, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпреБрдкреАрдбреА:
GitHub рдХрд╛ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЗрдбрд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ config_dir рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдореЗрд░реЗ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛)

рдФрд░ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ? рд╕рд╛рд╡рдзрд╛рдиреА, Bluer!
рдЫрд╡рд┐

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


All Articles