Prosba o dokumentacje + inne sprawy
Te typy masz gdzieś przypisane do stałych? Coś w stylu type == 1 == TYPE_SWITCH?
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
A inne typy poza REALAY jak mapujesz z tablicy bajtów na struktury?
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
Doprecyzuj pytanie
Jest np channel type DHT 11. W jakim formacie jest on przesyłany w polu value?
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
Double.
Przykład w Javie jak odczytać.
https://github.com/SUPLA/supla-android/ ... annel.java
getDouble
Przykład w Javie jak odczytać.
https://github.com/SUPLA/supla-android/ ... annel.java
getDouble
Ok tylko pytanie dotyczy ogólnego schematu odczytywania każdego typu kanału. Czy masz coś takiego? Czy trzeba za każdym razem "zgadywć"?
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
Nie mam specyfikacji. Muszę przeglądnąć kod i to spisać. Nie ma wielu kombinacji.
Byłoby super!
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
Urządzenie -> serwer
Dla:
SUPLA_CHANNELTYPE_SENSORNO
SUPLA_CHANNELTYPE_SENSORNC
SUPLA_CHANNELTYPE_RELAYHFD4
SUPLA_CHANNELTYPE_RELAYG5LA1A
SUPLA_CHANNELTYPE_2XRELAYG5LA1A
SUPLA_CHANNELTYPE_RELAY
value[0] = is_hi ? 1 : 0;
W przypadku rolet w value[0] przesyłana jest pozycja w zakresie 0 - 100 (%). -1 to pozycja nieokreślona
Dla:
SUPLA_CHANNELTYPE_THERMOMETERDS18B20
double temp = 22.11;
memcpy(value, &temp, sizeof(double));
wartość -275 uznawana jest za błąd odczytu czujnika lub jego brak lub po prostu jest offline.
Dla:
SUPLA_CHANNELTYPE_DHT11
SUPLA_CHANNELTYPE_DHT22
SUPLA_CHANNELTYPE_DHT21
SUPLA_CHANNELTYPE_AM2302
SUPLA_CHANNELTYPE_AM2301
double temp = 22.112;
double humidity = 30.053;
int t = temp*1000.00;
int h = humidity*1000.00;
memcpy(value, &t, 4);
memcpy(&value[4], &h, 4);
wilgotność o wartości -1 to brak czujnika, błąd lub offline
Dla:
SUPLA_CHANNELTYPE_DIMMER
SUPLA_CHANNELTYPE_RGBLEDCONTROLLER
SUPLA_CHANNELTYPE_DIMMERANDRGBLED
SUPLA_CHANNELTYPE_DISTANCESENSOR
memset(value, 0, SUPLA_CHANNELVALUE_SIZE);
value[0] = brightness;
value[1] = color_brightness;
value[2] = (char)((color & 0x000000FF)); // BLUE
value[3] = (char)((color & 0x0000FF00) >> 8); // GREEN
value[4] = (char)((color & 0x00FF0000) >> 16); // RED
Smartfon -> Serwer -> Urządzenie
Dla:
SUPLA_CHANNELFNC_CONTROLLINGTHEGATEWAYLOCK
SUPLA_CHANNELFNC_CONTROLLINGTHEGATE
SUPLA_CHANNELFNC_CONTROLLINGTHEGARAGEDOOR
SUPLA_CHANNELFNC_CONTROLLINGTHEDOORLOCK
value[0] = 1; Otwórz/Zamknij
Dla:
SUPLA_CHANNELFNC_CONTROLLINGTHEROLLERSHUTTER
value[0] = 0; Zatrzymaj
value[0] = 1; Zasłoń
value[0] = 2; Odsłoń
Wartość powyżej 10 oznacza procentowe otwarcie czyly 10 == 0%, 110 == 100%
Dla:
SUPLA_CHANNELFNC_POWERSWITCH
SUPLA_CHANNELFNC_LIGHTSWITCH
value[0] = 0; Wyłącz
value[0] = 1; Włącz
Dla:
SUPLA_CHANNELFNC_DIMMER
SUPLA_CHANNELFNC_RGBLIGHTING
SUPLA_CHANNELFNC_DIMMERANDRGBLIGHTING
value.value[0] = brightness;
value.value[1] = color_brightness;
value.value[2] = (char)((color & 0x000000FF)); // BLUE
value.value[3] = (char)((color & 0x0000FF00) >> 8); // GREEN
value.value[4] = (char)((color & 0x00FF0000) >> 16); // RED
Dla:
SUPLA_CHANNELTYPE_SENSORNO
SUPLA_CHANNELTYPE_SENSORNC
SUPLA_CHANNELTYPE_RELAYHFD4
SUPLA_CHANNELTYPE_RELAYG5LA1A
SUPLA_CHANNELTYPE_2XRELAYG5LA1A
SUPLA_CHANNELTYPE_RELAY
value[0] = is_hi ? 1 : 0;
W przypadku rolet w value[0] przesyłana jest pozycja w zakresie 0 - 100 (%). -1 to pozycja nieokreślona
Dla:
SUPLA_CHANNELTYPE_THERMOMETERDS18B20
double temp = 22.11;
memcpy(value, &temp, sizeof(double));
wartość -275 uznawana jest za błąd odczytu czujnika lub jego brak lub po prostu jest offline.
Dla:
SUPLA_CHANNELTYPE_DHT11
SUPLA_CHANNELTYPE_DHT22
SUPLA_CHANNELTYPE_DHT21
SUPLA_CHANNELTYPE_AM2302
SUPLA_CHANNELTYPE_AM2301
double temp = 22.112;
double humidity = 30.053;
int t = temp*1000.00;
int h = humidity*1000.00;
memcpy(value, &t, 4);
memcpy(&value[4], &h, 4);
wilgotność o wartości -1 to brak czujnika, błąd lub offline
Dla:
SUPLA_CHANNELTYPE_DIMMER
SUPLA_CHANNELTYPE_RGBLEDCONTROLLER
SUPLA_CHANNELTYPE_DIMMERANDRGBLED
SUPLA_CHANNELTYPE_DISTANCESENSOR
memset(value, 0, SUPLA_CHANNELVALUE_SIZE);
value[0] = brightness;
value[1] = color_brightness;
value[2] = (char)((color & 0x000000FF)); // BLUE
value[3] = (char)((color & 0x0000FF00) >> 8); // GREEN
value[4] = (char)((color & 0x00FF0000) >> 16); // RED
Smartfon -> Serwer -> Urządzenie
Dla:
SUPLA_CHANNELFNC_CONTROLLINGTHEGATEWAYLOCK
SUPLA_CHANNELFNC_CONTROLLINGTHEGATE
SUPLA_CHANNELFNC_CONTROLLINGTHEGARAGEDOOR
SUPLA_CHANNELFNC_CONTROLLINGTHEDOORLOCK
value[0] = 1; Otwórz/Zamknij
Dla:
SUPLA_CHANNELFNC_CONTROLLINGTHEROLLERSHUTTER
value[0] = 0; Zatrzymaj
value[0] = 1; Zasłoń
value[0] = 2; Odsłoń
Wartość powyżej 10 oznacza procentowe otwarcie czyly 10 == 0%, 110 == 100%
Dla:
SUPLA_CHANNELFNC_POWERSWITCH
SUPLA_CHANNELFNC_LIGHTSWITCH
value[0] = 0; Wyłącz
value[0] = 1; Włącz
Dla:
SUPLA_CHANNELFNC_DIMMER
SUPLA_CHANNELFNC_RGBLIGHTING
SUPLA_CHANNELFNC_DIMMERANDRGBLIGHTING
value.value[0] = brightness;
value.value[1] = color_brightness;
value.value[2] = (char)((color & 0x000000FF)); // BLUE
value.value[3] = (char)((color & 0x0000FF00) >> 8); // GREEN
value.value[4] = (char)((color & 0x00FF0000) >> 16); // RED