Forum eSterownik.pl Biblioteka w Pythonie do obsługi sterownika Subskrybuj | ||||
Pierwsza stronaPoprzednia strona12 / 18Następna stronaOstatnia strona | ||||
|
||||
mark3k
|
I tego się trzymaj.
Nie mam serca do programowania, ale jeśli będę umiał to pomogę. |
|||
|
||||
Stan
|
Posty dotyczące TRK zostały przeniesione do jego wątku.
|
|||
|
||||
uzi18
|
Miło. usun tez skrypt z 1 postu w TRK. wystarczy ze jest na serwerze, jeszcze ktos gotow uzywac starej wersji ;D
|
|||
|
||||
Stan
|
Racja, ponieważ w zasadzie jest po testach Twoich modyfikacji to można już to zrobić.
|
|||
|
||||
mark3k
|
Nie pokazuj nam tych wykresów. Kociołek na algorytmie pracuje super . Nic dodać, nic ująć.
Szkoda, że możemy sobie tylko taki algorytm życzyć w sterowniku ecoal. Naprawdę szkoda. Jesteś tym szczęśliwcem, który dostał od Verb-a skrypt. Gratuluję. |
|||
|
||||
uzi18
|
energotop: tylko nie daje to nam wartosci dodanej, ot mozemy sobie popatrzec
dodane 2014-10-29 00:37Do ES: kiedy doczekamy sie aktualizacji z tym zabezpieczeniem, które obiecaliscie? |
|||
|
||||
waski4
|
Panowie czy dobrze sobie wymyśliłem, że moc chwilowa jest proporcjonalna do różnicy temp co i powrotu przy działającej pompie CO ? Jak tak to jak odczytać te temperatury z archiwum
|
|||
|
||||
krzy
|
Q = m * cw * ( tz - tp )
Czyli masa, ciepło właściwe (4189,9J/kgK), temperatura zasilania i powrotu. Obliczasz ciepło czyli energię odnosząc ją do czasu w którym przepływa dana masa wody masz moc. |
|||
|
||||
waski4
|
Dokładnej mocy nie potrzebuję chcę tylko mieć porównanie, że kocioł teraz produkuje moc ileś tam razy większą/mniejszą niż poprzednio, proszę więc o info jak mogę odczytać temperatury z archiwum
|
|||
|
||||
Stan
|
To nie takie proste, jeśli nie masz termostatów i pompa pracuje ze stałą wydajnością to są to wartości proporcjonalne, ale termostaty i pompa typu alpha pracująca w trybie auto uniemożliwi jakiekolwiek sensowne porównania, musiałbyś zainstalować ciepłomierz.
|
|||
|
||||
uzi18
|
Aby cokolwiek liczyc musisz miec licznik wody np. wracajacej do kotła i temp. zasilania i powrotu.
|
|||
|
||||
waski4
|
U mnie jest stały przepływ wody przez kocioł, więc będzie proporcjonalnie tylko jak odczytać te temperatury z archiwum?
|
|||
|
||||
uzi18
|
||||
|
||||
waski4
|
uzi18 napisał » 2014-10-31 18:46 No tak, dzięki.
|
|||
|
||||
uzi18
|
ven: czy mozemy liczyc na dodanie zapytan pozwalajacych na uruchomienie dmuchawy i podajnika na okreslony czas? Niestestety ale python wytwarza pewne opoznienia.
Czy mozemy liczyc na dodanie zapytania ktore bedzie watchdogiem dla sterownika? - jesli w okreslonym czasie od jego wywolania nie zostanie ono ponownie wywolane to sterownik przejdzie w automat. dodane 2014-12-11 23:33Prosze o odpowiedz, temat wisi już prawie rok. |
|||
|
||||
majkels
|
DarekB napisał » 2014-02-28 16:17 mateuszm napisał » 2014-02-27 11:51 A co z możliwością połączenia przez esterownik? Nie wiem czy można takie rzeczy robić ale dodałem do tej biblioteki parę linii kodu i zrobiłem możliwość łączenia się ze sterownikiem przez platformę esterownik. Można też skrypt wywołać z linii komend podając id sterownika, opcjonalnie można podać login i hasło żeby połączyć się w trybie do odczyt - zapis. skrypt do pobrania z https://drive.google.com/file/d/0B1rjRhAXEGUoN3hTV2xHWXFpaGs/edit?usp=sharing cześć, próbuję zrobić port tej biblioteki do C# i nie mogę rozgryźć logowania do platformy e-sterownik. Dla urządzeń publicznych - ładnie pobiera mi się status. Dla mojego kotła, dostaję error 400 - bad request - wynikający z braku zalogowania. Grzebię w tym kodzie już parę godzin i nie kumam w jaki sposób przekazac login i hasło. Czy ktoś może mi to trochę przybliżyć? pozdrawiam, Michał ------------------------------------- aktualizacja: 14:30 w końcu skumałem gdyby ktoś potrzebował wiedzieć: żeby dostać się do urządzenia przez esterownik.pl trzeba 1. zalogować się do platformy post na https://esterownik.pl/?p=get_modal z 4 parametrami: values["cmd"] = "do_login"; values["login"] = sUser; values["password"] = sPassword; values["redirect"] = ""; 2. z powstałej odpowiedzi pobrać cookie o nazwie PHPSESSID 3. przekazać to session id w parametrze POST o nazwie sessid na adres https://device.esterownik.pl/device/{device_id}/ zwrotnie powinien ustawić się cookie z id sesji dla tego połączenia 4. i wtedy można odczytać status urządzenia https://device.esterownik.pl/device/{device_id}/?com=02010006000000006103 p.s. czy jest dostępna dokumentacja poszczególnych liczb zwracanych w statusie? |
|||
|
||||
adkwapniewski
|
rozgrzeb sobie updater masz tam ecoalbase.dll ze wszystkim ...
|
|||
|
||||
majkels
|
adkwapniewski napisał » 2015-01-05 15:59 rozgrzeb sobie updater masz tam ecoalbase.dll ze wszystkim ... grzebię, grzebię i nigdzie nie widzę ani DLLa, ani opisu komunikacji. Jeśli możesz wrzuć gdzieś na sieć. dzięki, Michał |
|||
|
||||
janusz
|
majkels napisał » 2015-01-05 12:58 p.s. czy jest dostępna dokumentacja poszczególnych liczb zwracanych w statusie? Nic mi nie wiadomo o dokumentacji Jeżeli będziesz potrafił zaadoptować kod Visual Basic do C# to podam ci jak to odczytuję w VB Te "poszczególne liczby" przypisujesz do tablicy "arr" (86 elementów) licząc 1-szy element jako zerowy i teraz odczytujesz TempPodlogowa = Format(CDbl(((arr(16) + 256 * arr(17)) / 10)), "0.0") TempWew = Format(CDbl(((arr(18) + 256 * arr(19)) / 10)), "0.0") TempCWU = Format(CDbl(((arr(22) + 256 * arr(23)) / 10)), "0.0") TempPowrotu = Format(CDbl(((arr(24) + 256 * arr(25)) / 10)), "0.0") TempPodajnika = Format(CDbl((arr(26) + 256 * arr(27)) / 10), "0.0") TempSpalin = CDbl((arr(30) + ((arr(31) * 256))) / 10) TempCo = Format(CDbl((arr(28) + 256 * arr(29)) / 10), "0.0") Można jeszcze odczytać datę zasypu , datę następnego zasypu lecz to jest bardziej zawiłe Janusz |
|||
|
||||
majkels
|
wrzucam to co mi się udało na razie poskładać:
public double GetTempPodloga() { return (Int16)(aStatus[17] << 8 | aStatus[16]) / 10.0; } public double GetTempWew() { return (Int16)(aStatus[19] << 8 | aStatus[18]) / 10.0; } public double GetTempZadanaWew() { return (Int16)(aStatus[58] << 8 | aStatus[57]) / 10.0; } public double GetTempObnizonaWew() { return (Int16)(aStatus[56] << 8 | aStatus[55]) / 10.0; } public double GetTempZew() { return (Int16)(aStatus[21] << 8 | aStatus[20]) / 10.0; } public double GetTempCWU() { return (Int16)(aStatus[23] << 8 | aStatus[22]) / 10.0; } public int GetZadanaCWU() { return aStatus[38]; } public int GetObnizonaCWU() { return aStatus[60]; } public double GetTempPowrot() { return (Int16)(aStatus[25] << 8 | aStatus[24]) / 10.0; } public double GetTempPodajnik() { return (Int16)(aStatus[27] << 8 | aStatus[26]) / 10.0; } public double GetTempCO() { return (Int16)(aStatus[29] << 8 | aStatus[28]) / 10.0; } public int GetZadanaCO() { return aStatus[37]; } public int GetObnizonaCO() { return aStatus[59]; } public double GetTempSpaliny() { return (Int16)(aStatus[31] << 8 | aStatus[30]) / 10.0; } public int GetDmuchawa() { return ((aStatus[32] & (1 << 0)) >> 0); } public int GetMocDmuchawy() { return aStatus[39]; } //zakres 0-100 % public int GetPodajnik() { return ((aStatus[32] & (1 << 1)) >> 1); } public int GetPompaCO() { return ((aStatus[32] & (1 << 2)) >> 2); } public int GetPompaCWU() { return ((aStatus[32] & (1 << 3)) >> 3); } public int GetPompaMieszajaca() { return ((aStatus[32] & (1 << 4)) >> 4); } public int GetTrybAuto() { return ((aStatus[34] & (1 << 0)) >> 0); } public int GetCzasPodajnika() { return (Int16)(aStatus[65] << 8 | aStatus[64]); } //czas w sekundach public double GetTempPodlogowkaDzien() { return (Int16)(aStatus[79] << 8 | aStatus[78]) / 10.0; } public double GetTempPodlogowkaNoc() { return (Int16)(aStatus[81] << 8 | aStatus[80]) / 10.0; } Jeśli macie coś więcej - wrzucajcie. pozdrawiam, Michał |
|||
Pierwsza stronaPoprzednia strona12 / 18Następna stronaOstatnia strona | ||||