Witam wszystkich Suplowiczów.
To mój pierwszy wpis.
Chciałby zrobić stronę internetową na której za pomocą pomocą linków bezpośrednich będzie można sterować przełącznikami i monitorować temperatury.
Jeśli chodzi o sterowanie to nie ma problemu znalazłem dużo na forum, ale jeśli chodzi o pobranie wartości za pomocą json nie mogę nic znaleźć, czytam na ten temat od paru godzin i nie udaje mi się tego zrobić.
Czy może ktoś dać jakiś przykład.
Dodam, że chciałbym, aby strona działała po stronie użytkownika, czyli w JavaSrypcie, a nie w PHP-ie.
Javascript - sterowanie za pomocą linków bezpośrednich
-
pzygmunt
- Posts: 20302
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
- Been thanked: 59 times
Code: Select all
curl -s -H "Content-Type: application/json" -H "Accept: application/json" -X PATCH -d '{"code":"32YMz34YAzTNEiVM","action":"read"}' https://svr1.supla.org/direct/788SUPLA.... Nareszcie w domu.
-
Pablo1
- Posts: 9
- Joined: Wed Nov 27, 2019 12:54 pm
Dzięki za odpowiedź, ale nadal nie wiem jak to ugryźć.
curl działa w terminalu, w PHP, ale w JS nie wiem jak tego użyć.
curl działa w terminalu, w PHP, ale w JS nie wiem jak tego użyć.
-
corso
- Posts: 31
- Joined: Fri Nov 17, 2017 7:38 am
- Location: Ruda Śląska
Nie używam JS, niemniej musisz poszukać jak się z jego poziomu wywołuje web api i parsuje JSONa.
Tutaj pierwszy z brzegu link do stakoverflow
https://stackoverflow.com/questions/369 ... javascript
Tutaj pierwszy z brzegu link do stakoverflow
https://stackoverflow.com/questions/369 ... javascript
-
akszyn
- Posts: 203
- Joined: Wed May 22, 2019 2:40 pm
- Location: Szczecin
podpinam sie do tematu gdyż na stronie z linkiem bezposrednim po kliknięci znaku zapytania pojawia się info ze można użyć tego gdzie indziej
Edit: sory jeśli pod złym postem poruszam ta tematykę więc jakby co proszę o wskazanie lub przeniesienie moich wpisów do odpowiedniego działu
ale to mi nic nie mówi do dalej z tym począć edit:(curl nie działa na moim hostingu)dodaj odpowiedni nagłówek żądania by otrzymać odpowiedź łatwiejszą w przetworzeniu. Accept: application/json
wiec fajnie jakby był gdzie odnośnik co można z tym dalej począćpzygmunt wrote: Wed Dec 18, 2019 1:30 pmCode: Select all
curl -s -H "Content-Type: application/json" -H "Accept: application/json" -X PATCH -d '{"code":"32YMz34YAzTNEiVM","action":"read"}' https://svr1.supla.org/direct/788
Edit: sory jeśli pod złym postem poruszam ta tematykę więc jakby co proszę o wskazanie lub przeniesienie moich wpisów do odpowiedniego działu
Last edited by akszyn on Thu Jan 16, 2020 9:55 pm, edited 3 times in total.
Supla na pokładzie wemosa D1 mini z relay shield (gate Zybiego)z DS18B20 + sonoff basic (domyślny soft) + broadlink RM mini 3 + Philips hue white z bridge v1 + LoraTap (RF 433) z kinetycznym przełącznikiem + ai-speaker Dev1 i Dev3
-
akszyn
- Posts: 203
- Joined: Wed May 22, 2019 2:40 pm
- Location: Szczecin
Konkretnie to zastanawiam się czy dało by się przy pomocy Jason dodać na stronę bardziej personalizowany widok temperatury z linku bezpośrednio choć nie wiem czy się da bo u was w opisie jest że json jest jakby się chciało użyć innego oprogramowania bo na razie mam w iframe dodany owy link i chciałbym abym mógł bardziej dostosować aby bardziej pasował do klimatu strony
Edited : przed chwilą znalazłem wpis który mnie zainteresował na forum viewtopic.php?f=20&t=4158&start=70 oraz zainspirował mnie aby zrobić coś podobnego u siebie na stronce www (ale bez zabawy w domoticze itp.) jak użytkownik djack2017 choć może nie koniecznie w grafanie / kibanie / zabiksie czy innym tego typu narzędzi lub frameworków gdyż na początku bym zaczął od czegoś prostszego do tworzenia dashboard swojego Smart home i nie tylko
Edited : przed chwilą znalazłem wpis który mnie zainteresował na forum viewtopic.php?f=20&t=4158&start=70 oraz zainspirował mnie aby zrobić coś podobnego u siebie na stronce www (ale bez zabawy w domoticze itp.) jak użytkownik djack2017 choć może nie koniecznie w grafanie / kibanie / zabiksie czy innym tego typu narzędzi lub frameworków gdyż na początku bym zaczął od czegoś prostszego do tworzenia dashboard swojego Smart home i nie tylko
Supla na pokładzie wemosa D1 mini z relay shield (gate Zybiego)z DS18B20 + sonoff basic (domyślny soft) + broadlink RM mini 3 + Philips hue white z bridge v1 + LoraTap (RF 433) z kinetycznym przełącznikiem + ai-speaker Dev1 i Dev3
-
fracz
- Posts: 2342
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
- Has thanked: 4 times
- Been thanked: 6 times
Nadal nie wiem co i w jakiej technologii chcesz zrobić i z czym jest problem. Jak chcesz tylko zmienić wygląd strony odpowiedzi linku bezpośredniego to zainstaluj sobie w przeglądarce Stylus albo Tampermonkey i dostosuj jak chcesz.
Linków bezpośrednich AJAXem nie da się wywołać ze względu na CORS.
Żeby to działało, po naszej stronie można by dodać jeszcze jeden format odpowiedzi JSONP (obok instniejących HTML i JSON), co pozwala obejść powyższe ograniczenie, ale na etapie implementacji nie widziałem sensu jego wprowadzania (taki trochę old school).
Stąd, jeśli chcesz koniecznie stworzyć sobie swój panel w oparciu o linki bezpośrednie to konieczne jest dodanie na swoim serwerze skryptu w PHP/Python/whatever, który pobierze dane z linku bezpośredniego i przedstawi je w Twojej domenie tak, że CORS nie będzie problemem.
Ale wtedy to w ogóle nie widzę sensu opierania takiej funkcjonalności na linkach, bo możesz spokojnie skorzystać z API.
Co sprowadza mnie do punktu wyjścia - nadal nie rozumiem co chcesz zrobić i dlaczego za pomocą linków.
Linków bezpośrednich AJAXem nie da się wywołać ze względu na CORS.
Żeby to działało, po naszej stronie można by dodać jeszcze jeden format odpowiedzi JSONP (obok instniejących HTML i JSON), co pozwala obejść powyższe ograniczenie, ale na etapie implementacji nie widziałem sensu jego wprowadzania (taki trochę old school).
Stąd, jeśli chcesz koniecznie stworzyć sobie swój panel w oparciu o linki bezpośrednie to konieczne jest dodanie na swoim serwerze skryptu w PHP/Python/whatever, który pobierze dane z linku bezpośredniego i przedstawi je w Twojej domenie tak, że CORS nie będzie problemem.
Ale wtedy to w ogóle nie widzę sensu opierania takiej funkcjonalności na linkach, bo możesz spokojnie skorzystać z API.
Co sprowadza mnie do punktu wyjścia - nadal nie rozumiem co chcesz zrobić i dlaczego za pomocą linków.
-
akszyn
- Posts: 203
- Joined: Wed May 22, 2019 2:40 pm
- Location: Szczecin
Mam zainstalowany Tampermonkey (do innych celów) ale on by wprowadził mi zmiany tylko lokalnie a nie na serwerze raczej a chciałbym na dowolnym urządzeniu mieć taki sam wygląd.
Co i w jakim sensie jest old school a nie posiadam własnego serwera Supli jeśli o to chodzi ,a poza tym nie wiem jak się za to (skrypt) bym miał zababrać "tak, że CORS nie będzie problemem".
Skoro wspomniałeś o API to jak mógłbym wykorzystać aby zrobić swój własny wygląd prezentowania wyników z Supli i nie tylko?
W skrócie chciałbym zrobić np.: gradient lub inne wymyślne tło i opcjonalnie własne ikony prezentujące wyniki aby były zgodne z motywem na mojej stronie www, nie musi to być za pomocą linków bezpośrednich.
Na forum przeglądając o owych linkach natrafiłem na fajną prezentację w Grafenie wiec chciałbym zrobić coś podobnego u siebie tylko w prostszy sposób (np.:html) i aby było możliwość personalizacji prezentowanych wyników i pomijam fakt że chce aby moja strona była rensponsywna więc mogę prosić o jakiś link do tutoriala czy coś ?
Co i w jakim sensie jest old school a nie posiadam własnego serwera Supli jeśli o to chodzi ,a poza tym nie wiem jak się za to (skrypt) bym miał zababrać "tak, że CORS nie będzie problemem".
Skoro wspomniałeś o API to jak mógłbym wykorzystać aby zrobić swój własny wygląd prezentowania wyników z Supli i nie tylko?
W skrócie chciałbym zrobić np.: gradient lub inne wymyślne tło i opcjonalnie własne ikony prezentujące wyniki aby były zgodne z motywem na mojej stronie www, nie musi to być za pomocą linków bezpośrednich.
Na forum przeglądając o owych linkach natrafiłem na fajną prezentację w Grafenie wiec chciałbym zrobić coś podobnego u siebie tylko w prostszy sposób (np.:html) i aby było możliwość personalizacji prezentowanych wyników i pomijam fakt że chce aby moja strona była rensponsywna więc mogę prosić o jakiś link do tutoriala czy coś ?
Supla na pokładzie wemosa D1 mini z relay shield (gate Zybiego)z DS18B20 + sonoff basic (domyślny soft) + broadlink RM mini 3 + Philips hue white z bridge v1 + LoraTap (RF 433) z kinetycznym przełącznikiem + ai-speaker Dev1 i Dev3
-
fracz
- Posts: 2342
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
- Has thanked: 4 times
- Been thanked: 6 times
Odgrzebuję temat, bo znalazłem śmiechowe rozwiązanie
https://github.com/Rob--W/cors-anywhere
Dzięki tej aplikacji można ominąć ograniczenia CORS... oczywiście w dobrej wierze
I tak można w JS odczytać link bezpośredni:
Wykonanie tak samo 
Natomiast rozmawiam z @pzygmunt na temat zniesienia CORSów dla linków bezpośrednich.
https://github.com/Rob--W/cors-anywhere
Dzięki tej aplikacji można ominąć ograniczenia CORS... oczywiście w dobrej wierze
I tak można w JS odczytać link bezpośredni:
Code: Select all
fetch("https://cors-anywhere.herokuapp.com/https://svr3.supla.org/direct/701/jzzDNZMMNNNwGg/read")
.then(r => r.json())
.then(json => console.log(json))
Natomiast rozmawiam z @pzygmunt na temat zniesienia CORSów dla linków bezpośrednich.
