cześć,
jestem bardzo początkujacy w pisaniu kodu python ale udalo mi sie zrobic cos takiego:
# ustawianie targetu kiedy ladowarka ma sie wylaczyc
# sprawdzenie ile czasu w minutach pozostalo do targetu
# definiowanie podstawowych zmiennych
from datetime import date, time, datetime, timedelta
t_target = time(hour=6, minute=20, second=0)
d_today=date.today()
now=datetime.now().replace(microsecond=0)
#tworzymy target laczac dzis+ustalona godzina
import datetime
target=datetime.datetime.combine(d_today, t_target)
# licze ile minut jest miedzy targetem a teraz
# jezeli wartosc w min jest ujemna tz ze target=target+1dzien
delta = target - now
delta_min=delta.total_seconds() / 60
if delta_min < 0:
target=target + timedelta(1)
delta = target - now
delta_min=delta.total_seconds() / 60
delta_min=round(delta_min,0)
# ==================================
# ===========druga czesc============
# ==================================
# bateria target oraz delta
b_target=84
b_current=40
b_delta=b_target-b_current
# szybkosc ladowania baterii minut na 1%
charger_speed=2.7
t_need = round(b_delta * charger_speed,0)
napisalem to w programie PyScripter
zmienna b_current dalem na sztywno ale tutaj rzecz jasna powinno zaczytywac sie cyklicznie wartosc z telefonu poziom baterii
chcialem osiagnac cos takiego ze
co jakis czas ‘cos’ bedzie sprawdzalo ile jest czasu od teraz do momentu na kiedy chce miec naladowany telefon w tym przypadku 6:20
nastepnie ‘cos’ bedzie sprawdzac jaki jest poziom baterii i ile % baterii brakuje do wymaganych 84% zeby przeliczyc ile potrzebuje minut na osiagniecie tego poziomi przy predkosci 2.7min/1% baterii
i teraz nie wiem jak to zaimplementowac do HA jak w miejsce zmiennej b_current dac odczyt z baterii by na koncu dodac jeszcze cos o tym ze w tym momencie ladowarka ma sie wlaczyc.
Zrobilem sobie w config folder python_scripts
Czy w ogóle ide w dobrym kierunku?
Natknalem sie tutaj Calculation inside automation - #3 by kegra - Configuration - Home Assistant Community ze jest cos takiego jak JINJA i ze to wlasciwy jezyk dla HA