Prezentacja stanu b...
 
Powiadomienia
Wyczyść wszystko

Prezentacja stanu baterii

11 Wpisów
4 Użytkownicy
0 Likes
2,589 Wyświetleń
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

Potrzebuje zrobić odczyt stanu naładowania baterii li-ion. Pomiar odbywa się  przez dzielnik na rezystorach 4,2 * (100k / (100k + 330k)). Domoticz odbiera dane , ale pytanie jak wyświetlić je jako wartość napięcia w V?

 
Dodane : 03/02/2020 5:26 pm
(@krzysztofch)
Wpisów: 490
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

Custom sensor lub napiecie

 
Dodane : 04/02/2020 1:35 am
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

@krzysztofch

Ale w ten sposob to chyba zaprezentuje dane nominalne (od 1-1000), a mnie chodzi o prezentacje napięcia rzeczywistego baterii (czyli przy uwzględnieniu dzielnika).

 
Dodane : 04/02/2020 8:00 am
(@krzysztofch)
Wpisów: 490
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

A jaki soft uzywasz

 
Dodane : 04/02/2020 10:51 am
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

Tasmote. Do domoticza raportuje regułą

on analog#a0div10 do publish domoticz/in {"idx":134,"svalue":"%value%"} endon

Działa ale pokazuje wartość nominalną oczytywaną przez wejscie analogowe np. 996 , a ja potrzebuje odczyt rzeczywisty na baterii czyli 4,05V
 
Dodane : 04/02/2020 12:21 pm
(@krzysztofch)
Wpisów: 490
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
 

Nie pomoge w tasmocie. Nigdy nie uzywalem. Moze ktos pomoze. Natomiast w AFE jest mozliwosc ze to przelicza. W espeasy tez. Mysle ze potrzebna tam jest regula ktora to przeliczy. 

 
Dodane : 04/02/2020 2:11 pm
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

@krzysztofch

Niestety AFE nie ma funkcji głębokiego usypiania, a przy pracy na baterii to niezbędne. Może ktoś jeszcze podpowie jak to odpowiednio przedstawić w domoticzu.

 
Dodane : 04/02/2020 3:26 pm
(@mirmil99)
Wpisów: 181
Pomocny
 

to chyba nie takie proste ale mozliwe;)

jezeli Cie dobrze zrozumialem to zalozyles, ze napieciu 4.2V odpowiada m/w 3.3V po dzielniku a to wartosci 1024,  teraz wystarczy to co jest publikowane na wyjsciu analogowym przemnozyc przez 0,00419921 (przy powyzszych zalozeniach) otrzymasz wynik w V. Jezeli chcesz zrobic to w Tasmocie to trzeba sie z ta strona tasmota-matma  zaprzyjaznic i chyba dokonac wlasnej kompilacji softu, przy czym nalezy jeszcze znalezc formule obcinajaca miejsca po przecinku.

btw ja jako len wyrzucilbym te wartosci do grafany i tam w polu select dodalbym math i mial ladny wykres w voltach;)

ewentualnie moze jest kafelek w Domo, ktory pozwala na mnozenie, ktorego zwyczajnie tak normalnie sie nie uzywa, oczywiscie zrobisz to przez bash/Lua/DzV, pewnie sa jakies juz gotowe skrypty.

 
Dodane : 04/02/2020 4:35 pm
(@mirmil99)
Wpisów: 181
Pomocny
 

w sumie natchnales mnie abym w koncu naprawil cisnienie z czujnikow Xiaomi, przy okazji chyba rozwiazalem Twoj problem;)

return {
active = true,
on = {
timer = {'every 10 minutes'}
},
logging = {
level = domoticz.LOG_ERROR
},
execute = function(domoticz)

local voltage = domoticz.devices('Nazwa_czujnika_odbierajacego_dane_bezposrednio_z_analogu').voltage lub custom * 0,00419921

domoticz.devices('Nazwa_nowego_czujnika_custom').update(0, domoticz.round(voltage))

end
}

tworzysz nowy kafelek np. custom labelka Axis jako V

powyzszy kod do DzVents wybierasz skrypt device

po chwili (ustaw do testu timer np 1 min) w nowym kafelku powinienes miec przeliczone na V

wartosc 0,00419921 jest poprawnie policzona ale przy zalozeniu idealnych rezystorow 100/330 kOhm (co niemozliwe), czyli mierzysz i jeszcze raz liczysz;)

 

 

 
 
Dodane : 05/02/2020 10:36 am
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

@mirmil99

Super. Przetestuje i dam znać.

 
Dodane : 05/02/2020 11:21 am
(@krzysiolek)
Wpisów: 10
Bywalec
 
Dodane przez: @jajen

Tasmote. Do domoticza raportuje regułą

on analog#a0div10 do publish domoticz/in {"idx":134,"svalue":"%value%"} endon

Działa ale pokazuje wartość nominalną oczytywaną przez wejscie analogowe np. 996 , a ja potrzebuje odczyt rzeczywisty na baterii czyli 4,05V

 

Takie trzy linijki wpisane w consoli tasmoty załatwiają sprawę

rule1 on tele-analog#A0 do backlog var1 %value%; mult1 0.0041015625; event sendbatt endon
rule1+ on event#sendbatt do publish domoticz/in {"idx":134,"nvalue":0,"svalue":"%var1%"} endon
rule1 1

pierwsza tworzy regułę która przelicza dane (wg. zadanego mnożnika), druga wysyła wynik do domoticza (wpisać odpowiedni "idx"), trzecia uruchamia regułę.

Sprawdzone - działa.

 

 
Dodane : 06/02/2020 10:08 pm
Udostępnij: