Kursy Walut w Domot...
 
Powiadomienia
Wyczyść wszystko

Kursy Walut w Domoticz

11 Wpisów
5 Użytkownicy
2 Likes
2,482 Wyświetleń
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

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.

  https://prntscr.com/pgxwlq

https://prntscr.com/pgxwuj

Skupie się na kursie EURO . Tworzymy sobie wirtualny custom sensor w polu Etykieta Axis wpisujemy „” , 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 .

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 

 
Dodane : 09/10/2019 4:00 pm
wojtek_gtx reacted
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
 

Mi się podoba jutro w wolnej chwili odpalę 😉

 
Dodane : 09/10/2019 10:18 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
 

Śmiga dzięki. 😉

 Screenshot 2019 10 10 09 01 03
 
Dodane : 10/10/2019 9:02 am
(@donald73)
Wpisów: 3
Świeżak Donator 2K22
 

A mnie nie działa wszystko skopiowane kilka razy może jest jakiś błąd w skrypcie ?

2019-10-31 23:56:52.355 Error: EventSystem: Failed to execute python event script "Kurs EUR"
2019-10-31 23:56:52.355 Error: EventSystem: File "<string>", line 2
2019-10-31 23:56:52.355 Error: EventSystem: on = {
2019-10-31 23:56:52.355 Error: EventSystem: ^
2019-10-31 23:56:52.355 Error: EventSystem: SyntaxError: invalid syntax
Prośba o pomoc w rozwiązaniu problemu 
 
Dodane : 01/11/2019 12:59 am
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 

@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% 🙂

 
Dodane : 01/11/2019 8:56 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
 

Według instrukcji @isom działa - u mnie zatrybiło od pierwszego

 
Dodane : 01/11/2019 9:29 pm
Krzysztofch reacted
(@donald73)
Wpisów: 3
Świeżak Donator 2K22
 

Niemota jestem 😊  (faktycznie wybrałem Phyton)  Dzięki pięknie wszystko hula 

 
Dodane : 02/11/2019 9:48 am
(@steel_rat)
Wpisów: 603
Ekspert
 

Tu też należy poprawić na inną walutę:

httpResponses = { 'NBPUSD' }

oraz tu

callback = 'NBPEUR'

Pozdrawiam.

 
Dodane : 02/11/2019 3:56 pm
(@donald73)
Wpisów: 3
Świeżak Donator 2K22
 

Tak tak wiem z reszta nie ma problemów - dzięki 

 

 
Dodane : 02/11/2019 9:50 pm
(@krzemo)
Wpisów: 2
Świeżak
 

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
}
 
Dodane : 01/06/2021 10:01 am
(@krzemo)
Wpisów: 2
Świeżak
 

Obszedłem problem trochę inaczej ale działa tak jak chciałem.

Może komuś się przyda. 

skrypt ./sh - bez dzvent, lua.

Pozdro

 
Dodane : 01/06/2021 4:51 pm
Udostępnij: