Nie wiem czy komuś się przyda, ja też nie jestem maklerem giełdowym, ale czasem przed wyjazdem, albo przy zakupach on-line szybko potrzebujemy aktualny kurs euro , dolara , czy franka, chociaż franka już chyba mniej 🙂
Mając działający serwer Domoticz 24/7 możemy mieć takie kursy zawsze pod ręką, wystarczą proste skrypty dzVents , utworzone Custom sensory i ewentualnie dodane własne ikony.
Skupie się na kursie EURO . Tworzymy sobie wirtualny custom sensor w polu Etykieta Axis wpisujemy „zł” , nadajemy mu nazwę Kurs EUR ( dopasowana do skryptu ) ale można nazwać dowolnie tylko wtedy w skrypcie trzeba sobie to zmienić .
Przechodzimy do Zdarzeń i dodajemy nowe zdarzenie dzVents https://prntscr.com/pgy9up
W wierszu timer możemy zmienić częstotliwość odpytywania czyli aktualizacji naszego czujnika
Ja ustawiłem 10 minut bo nie wiem kiedy NBP aktualizuje kursy, a taki interwał praktycznie nie wpływa na obciążenie serwera.
Reszta może zostać bez zmian , chyba że nazwaliście czujnik inaczej to należy to zmienić w tym wierszu
domoticz.devices('Kurs EUR').updateCustomSensor(item.json.rates[1]['mid'])
zapisujemy skrypt pamiętając żeby zaznaczyć okno WŁ.
Jeżeli chcecie dodać sobie inne waluty z tabeli A NBP to w skrypcie wszędzie gdzie występuje EUR zmieniamy na symbol waluty , która nas interesuje.
Nie zapomnijcie o adresie url (url = 'http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json) w nim też należy to zmienić.
Sam skrypt
Mi się podoba jutro w wolnej chwili odpalę 😉
A mnie nie działa wszystko skopiowane kilka razy może jest jakiś błąd w skrypcie ?
@donald73 nie wiem dlaczego próbujesz dodać ten skrypt jako skrypt pisany w pythonie , kilka razy w opisie zwracam uwagę że jest to skrypt dzVents i jako taki będzie działał na 100% 🙂
Według instrukcji @isom działa - u mnie zatrybiło od pierwszego
Niemota jestem 😊 (faktycznie wybrałem Phyton) Dzięki pięknie wszystko hula
Tu też należy poprawić na inną walutę:
httpResponses = { 'NBPUSD' }
oraz tu
callback = 'NBPEUR'
Pozdrawiam.
Tak tak wiem z reszta nie ma problemów - dzięki
Dzień dobry,
Czy może mnie ktoś oświecić i wyjaśnić skąd wiadomo że w httpResponses należy użyć NBPUSD - przecież w zwrotce nie wstępuje taka fraza oraz tu: callback = 'NBPEUR'.
Staram się pobrać dane z: https://api.coindesk.com/v1/bpi/currentprice/USD.json - Co mam wstawić zamiast NBPUSD ??
Siedzę, wymyślam czytam ale pomysłów i prób już brakuje. Ten przykład z NBP odpaliłem i chodzi.
Dzięki
Krzemo
Taki kod:
return { on = { timer = { 'every 1 minutes' }, httpResponses = { 'bpiUSD' } # - nie wiem co tu }, execute = function(domoticz, item) if (item.isTimer) then domoticz.openURL({ url = 'https://api.coindesk.com/v1/bpi/currentprice/USD.json', method = 'GET', callback = 'bpiUSD' # i tu }) end if (item.isHTTPResponse and item.ok) then domoticz.devices('Kurs BTC').updateCustomSensor(item.json.rates[1]['rate_float']) end end }
Obszedłem problem trochę inaczej ale działa tak jak chciałem.
Może komuś się przyda.
skrypt ./sh - bez dzvent, lua.
Pozdro