Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
HTTP Client
#1
Mam problem z uruchomieniem HTTP Client.
Chcę wysłać dane do domoticza. Wpisuje testowo:
Server adress: 192.168.0.20
Port: 8080
Time: 10
Remote url: GET /json.htm?type=command&param=udevice&idx=1&nvalue=0&svalue=%060

i nic nie dociera co celu... Cry

sprawdzałem link bezpośredni: http://192.168.0.20:8080/json.htm?type=c...&svalue=12
i działa.

z LK2 wpis: GET /json.htm?type=command&param=udevice&idx=1&nvalue=0&svalue=#11
działa bezproblemowo.

Możecie pomóc ?
<r><I><s></s>----------------<br/>
Pozdrawiam<br/>
Tomek S.<e>
</e></I></r>
Odpowiedz
#2
w LK3 nie wpisujesz GET/
pozdrawiam
tomek
Odpowiedz
#3
Też robiłem próby z wysyłaniem danych tą metodą z czujników podpiętych do LK3 .
Idzie nawet nieźle. Lecz u mnie próby zakończyły się połowicznym sukcesem - umiem obsłużyć tylko jeden (dowolny czujnik). Natomiast zupełnie się zamotałem próbując tak skonstruować wpis w okienku HTTP Client >> Remote URl aby wysyłać dane do Domoticza np z 2 czujników .

Tak więc gdybym wiedział czy można obsłużyć tą metodą więcej czujników (oraz jak powinna wyglądać składnia takiego wpisu w tym okienku) byłoby super .

Pozdrawiam.
<t></t>
Odpowiedz
#4
W tej chwili wysyłam dane z 11 czujników
w Remote url wpisuję:
json.htm?type=command&param=udevices&script=k.lua&1=%010&6=%060&13=%132&14=%141&15=%151&16=%161&17=%171&18=%181&19=%191&20=%201&21=%211&53=%53&54=%54

i oczywiście odpowiedni skrypt k.lua w katalogu /home/pi/domoticz/scripts/lua_parsers (wzorowany na poście napisanym przez levykrak http://tinycontrol.pl/forum/viewtopic.ph...t=domoticz

K.lua:

local Komin = uri['1'];
local Uin = uri['6'];
local T_board = uri['13'];

local DHT_T = uri['14'];
local DHT_H = uri['15'];

local DS1 = uri['16'];
local DS2 = uri['17'];
local DS3 = uri['18'];
local DS4 = uri['19'];
local DS5 = uri['20'];
local DS6 = uri['21'];

DHT_H = tonumber(DHT_H)
if DHT_H < 40 then
hum_stat=2
elseif DHT_H > 60 then
hum_stat=3
else
hum_stat=1
end

domoticz_updateDevice(1,0,Uin)
domoticz_updateDevice(3,0,T_board)
domoticz_updateDevice(2,0,DHT_T..";"..DHT_H..";"..hum_stat)
domoticz_updateDevice(9,0,Komin)

domoticz_updateDevice(10,0,DS1)
domoticz_updateDevice(11,0,DS2)
domoticz_updateDevice(12,0,DS3)
domoticz_updateDevice(13,0,DS4)
domoticz_updateDevice(14,0,DS5)
domoticz_updateDevice(15,0,DS6)


I tu mam pytanie to autorów oprogramowania: jak jest maksymalna długość danych wysłanych przez Remote url?
zaobserwowałem coś dziwnego, jeżeli użyje nazwy skryptu: kotlownia.lua to maksymalny ciąg znaków jaki mogę wpisać to:
json.htm?type=command&param=udevices&script=kotlownia.lua&1=%010&6=%060&13=%132&14=%141&15=%151&16=%161&17=%171&18=%181&19=%191&20=%201&21=
i ucina mi resztę.
Jeżeli natomiast użyję k.lua to zmieści się:
json.htm?type=command&param=udevices&script=k.lua&1=%010&6=%060&13=%132&14=%141&15=%151&16=%161&17=%171&18=%181&19=%191&20=%201&21=%211&53=%53&54=%54

co jest trochę dłuższe....
<r><I><s></s>----------------<br/>
Pozdrawiam<br/>
Tomek S.<e>
</e></I></r>
Odpowiedz
#5
max 191 znakow, z tym że znak & (and) jest zamieniany na 5 znaków (`ampWink, wiec jak masz w stringu dużo andów to mniej znaków zapiszesz.
Mozliwe że w nastepnej wersji wydłużymy ilosc max wpisywanych znaków
pozdrawiam
tomek
Odpowiedz
#6
Fajnie by było dodać jeszcze trochę znaków do wpisania Smile

Pojawił się jeszcze jeden problem (chyba już opisywany przez kogoś), mianowicie zawiesza się dostęp do LK poprzez stronę www. Czasem następuje to po kilku godzinach, a czasem po kilku dniach pracy. Wyświetla stronę, ale wszystkie wartości są puste, kontroler w tym czasie wyrzuca prawidłowe dane po HTTP Client i na OLED. Pomaga (na jakiś czas) odłączenie zasilania i podłączenie ponownie.

Kolejna sprawa czy przewidywana jest funkcja zapisywania stanów liczników energij. Na razie po zaniku zasilania są zerowane. A dodatkowo jak muszę wyłączać zasilanie LK, żeby go odblokować to całkiem nie mają one sensu...
<r><I><s></s>----------------<br/>
Pozdrawiam<br/>
Tomek S.<e>
</e></I></r>
Odpowiedz
#7
tomtos post_id=13665 time=1508667712 user_id=5594 napisał(a):Fajnie by było dodać jeszcze trochę znaków do wpisania Smile

Pojawił się jeszcze jeden problem (chyba już opisywany przez kogoś), mianowicie zawiesza się dostęp do LK poprzez stronę www. Czasem następuje to po kilku godzinach, a czasem po kilku dniach pracy. Wyświetla stronę, ale wszystkie wartości są puste, kontroler w tym czasie wyrzuca prawidłowe dane po HTTP Client i na OLED. Pomaga (na jakiś czas) odłączenie zasilania i podłączenie ponownie.

Kolejna sprawa czy przewidywana jest funkcja zapisywania stanów liczników energij. Na razie po zaniku zasilania są zerowane. A dodatkowo jak muszę wyłączać zasilanie LK, żeby go odblokować to całkiem nie mają one sensu...

Tu jest problem z czujnikami na I2C, nie należy czujnikow i OLEDA dawac na zbyt długich kablach, oraz nie wpinac DSów w gniazda splitera gdzie jest I2C wyprowadzone
pozdrawiam
tomek
Odpowiedz
#8
wilkxt post_id=13674 time=1508741352 user_id=61 napisał(a):Tu jest problem z czujnikami na I2C, nie należy czujnikow i OLEDA dawac na zbyt długich kablach, oraz nie wpinac DSów w gniazda splitera gdzie jest I2C wyprowadzone
Co znaczy długie kable? Wiadomo, że czujniki nie montuje się 1 odległości 1 m od LK . Mam czujnik na 6m
Trochę to dziwny objaw zakłóceń I2C, że wszystko działa oprócz strony WWW...
W wyjściach do DSów mam wycięte I2C przy samym gnieździe.
<r><I><s></s>----------------<br/>
Pozdrawiam<br/>
Tomek S.<e>
</e></I></r>
Odpowiedz
#9
tomtos post_id=13681 time=1508783784 user_id=5594 napisał(a):Trochę to dziwny objaw zakłóceń I2C, że wszystko działa oprócz strony WWW...
A jest możliwość wystawienia takiego LK3 w internecie, żebym mogł sobie na niego wejsc jak www przestaje dziaałać?
pozdrawiam
tomek
Odpowiedz
#10
Tak.
Proszę na priv. Podam namiary.
<r><I><s></s>----------------<br/>
Pozdrawiam<br/>
Tomek S.<e>
</e></I></r>
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości