Prosba o dokumentacje + inne sprawy
-
- Posts: 391
- Joined: Wed May 17, 2017 1:27 pm
Cześć wytłumaczysz mi w jakim formacie wysyłany jest TDCS_SuplaPingServer i TSDC_SuplaPingServerResult? Dokładniej timeval. Widzę że tam w importach dzieje się jakaś magia i nie bardzo wiem jak to interpretować. Dzięki!
Supla
Open HAB - https://github.com/magx2/openhab-supla
-
- Posts: 19474
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
W timeval masz dwie zmienne typu long sekundy i mikrosekundy.
Ping-a wysyłasz jeżeli nie miałeś komunikacji z urzadzeniem/klientem przez określony czas inaczej traktujesz sesję jako zombie i ją ubijasz
co jest jednoznaczne z zamknięciem połączenia.
Ping-a wysyłasz jeżeli nie miałeś komunikacji z urzadzeniem/klientem przez określony czas inaczej traktujesz sesję jako zombie i ją ubijasz
co jest jednoznaczne z zamknięciem połączenia.
-
- Posts: 391
- Joined: Wed May 17, 2017 1:27 pm
Dzięki. Widzę że klient też wysyła tego pinga. To jest ten obowiązkowy ping co jakiś timeout żeby serwer go nie ubił?
Supla
Open HAB - https://github.com/magx2/openhab-supla
-
- Posts: 391
- Joined: Wed May 17, 2017 1:27 pm
O co chodzi z sub value? To jest tak samo zakodowane value jak rozmawialiśmy wcześniej?typedef struct {
char value[SUPLA_CHANNELVALUE_SIZE];
char sub_value[SUPLA_CHANNELVALUE_SIZE]; // For example sensor value
}TSuplaChannelValue;
Supla
Open HAB - https://github.com/magx2/openhab-supla
-
- Posts: 19474
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
Format jest taki sam. Trafiają tam dane z kanałów połączonych. Np jak skojarzysz czujnik otwarcia bramy z otwieraniem bramy to w sub_value będzie stan czujnika. Serwer to składa do kupy.
-
- Posts: 708
- Joined: Mon Nov 27, 2017 7:36 am
Jest w supla_esp_devconn.c, na końcu, kawałek kodu odczytujacego temperaturę z DS18b20:
void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);
#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek
void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);
#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
-
- Posts: 19474
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
Gdzie chcesz to odczytywać ? Z poziomu ESP czy z poziomu serwera czy klienta ?djack2017 wrote: Wed Jan 17, 2018 12:44 pm Jest w supla_esp_devconn.c, na końcu, kawałek kodu odczytujacego temperaturę z DS18b20:
void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);
#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek