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

Kursy Walut w Domoticz

11 Wpisów
5 Użytkownicy
2 Reactions
3,336 Wyświetleń
isom
 isom
(@isom)
Wpisów: 5324
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
 
[#1178]

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 „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 


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

Mi się podoba jutro w wolnej chwili odpalę 😉


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

Ś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: 5324
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: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
 

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


 
Dodane : 01/11/2019 9:29 pm
Krzysztofch zareagował
(@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: 646
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: