User profile

majkels

 

Michal

Registration: 2011-12-26 16:41

Login: 2018-10-17 08:29

Devices: 1

Topics: 0

Posts: 4

user posts 
2015-01-06 19:55 Topic: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  majkels Posts: 4
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ł
2015-01-06 00:08 Topic: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  majkels Posts: 4
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ł
2015-01-05 13:58 Topic: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  majkels Posts: 4
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?