Asystent AI
Powiadomienia
Wyczyść wszystko

Skrypt dzVents Prognoza opadów i temperatury na podstawie OpenWatherMap

15 Wpisów
4 Użytkownicy
3 Reactions
2,635 Wyświetleń
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#1851]

Od jakiegoś czasu zacząłem używać skryptu dzVents, który aktualizuje prognozy opadów deszczu i temperatury zewnętrznej w Domoticz.

Skrypt pobiera aktualne dane i przewidywane zmiany z serwisu OpenWatherMap i pozwala na uzyskanie danych nawet z małych miast w Polsce.

Żeby móc korzystać z tego serwisu, trzeba założyć darmowe konto i otrzymać API KEY (bezpłatny).

Jak to zrobić można przeczytać tu https://openweathermap.org/guide#how

Kolejne warunki jakie muszą być spełnione to :

Domoticz w wersji ostatniej stabilnej, lub wyższej (beta), wynika to ze zmian w skryptach dzVents po wersji dzVents 2.4.28.

Działa na ostatniej wersji Smarticz do pobrania na http://smarticz.eu/

Ustawiona w Konfiguracji opcja logowania bez hasła w sieci lokalnej ( fotka poniżej).

 

logowanie

Prawidłowe ustawienia swojej lokalizacji w Ustawieniach Domoticz ( długość i szerokość geograficzna). Skrypt na podstawie tych parametrów pobiera dane pogodowe.

Jeżeli macie spełnione te warunki, to po dodaniu skryptu otrzymacie taki zestaw prognozowanych danych jak poniżej

Prognoza

Co trzeba zrobić w samym domoticzu:

Utworzyć zmienną użytkownika, typ „Ciąg znaków” i jako wartość tej zmiennej wstawić otrzymany API KEY. Ma to wyglądać tak jak poniżej

zmienna

Utworzyć dziewięć wirtualnych czujników temperatury i nazwać je zgodnie z fotką przedstawiającą wszystkie czujniki ( powyżej), albo nazwać dowolnie modyfikując te zmiany w skrypcie.

Utworzyć pięć czujników Custom Sensor z etykietami Axis „mm”. Można oczywiście zmienić domyślne ikony na „Deszcz”.

Utworzyć jedno urządzenie typu TEKST i nazwać „Prognoza”.

Na koniec skopiować zawartość poniższego skryptu, jeśli nazwano urządzenia tak jak na moich fotkach to nic nie modyfikujemy.

Wchodzimy w zdarzenia, dodaj nowe zdarzenie dzVents  - All , usuwamy przykłady,  wklejamy zawartość i zapisujemy.

Co warto sobie dostosować:

Skrypt jest uruchamiany co godzinę, jeśli dla kogoś to zbyt często można to zmienić ustawiając inny czas uruchamiania w „timer”, np. wstawienie zamiast 'every hour' ,  'at 06:00' ustawi uruchamianie skryptu codziennie o 6 rano .

Reszta jest opisana w samym skrypcie, zmiana LOG_DEBUG, na LOG_ERROR, wyłącza zapisywane logów i warto ją zrobić po sprawdzeniu czy skrypt działa poprawnie.

Do czego wykorzystać te prognozy, to już indywidualna inwencja, na pewno przyda się zapaleńcom ogrodowym przy planowaniu harmonogramu nawadniania, czy ogrodnikom, a że sezon ogórkowy i na forum i w realu, to polecam wypróbować działanie skryptu.


 
Dodane : 14/08/2020 10:40 am
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

A da się dostosować skrypt tak żeby nie włączyć opcji logowania bez hasła w sieci lokalnej ??


 
Dodane : 22/08/2020 5:50 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Skrypt pobiera dane o lokalizacji z ustawień w domoticz , dzięki temu ma też informacje o aktualnym czasie, wschodach i zachodach słońca . Do tego potrzebuje dostęp do tych ustawień w domoticzu. Nie pobierze tych danych przy zabezpieczeniu hasłem. Nie jestem w stanie tego zmienić.


 
Dodane : 23/08/2020 8:24 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
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

To odpuszczę temat u mnie w domu każdy ma inne uprawnienia 😉


 
Dodane : 23/08/2020 9:03 pm
(@steel_rat)
Wpisów: 646
Ekspert
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Może by tak podać ręcznie dane o lokalizacji. Oczywiście dla tych co mają hasła w Domoticzu.

Dodać do skryptu i do Domoticza jeszcze 2 zmienne typu string

openWeatherLat - tu wpisać szerokość

openWeatherLon - tu wpisać długość

A skrypt  poprawić tak

po

local openWeatherAPIKey = dz.variables('openWeatherAPIKey').value -- Type string var required

dodać

local openWeatherLat = dz.variables('openWeatherLat').value
local openWeatherLon = dz.variables('openWeatherLon').value

oraz na końcu zamienić

dz.openURL({
                url = openWeatherURL  ..
                        '&lat=' .. dz.settings.location.latitude ..
                        '&lon='  .. dz.settings.location.longitude ..
                        '&appid=' .. openWeatherAPIKey,

               callback = scriptVar, -- see httpResponses above.
            })

na dz.openURL({ url = openWeatherURL .. '&lat=' .. openWeatherLat .. '&lon=' .. openWeatherLon .. '&appid=' .. openWeatherAPIKey, callback = scriptVar, -- see httpResponses above. })

 
Dodane : 23/08/2020 10:34 pm
isom i wojtek_gtx zareagowali
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Ja z programowania jestem noga więc jeżeli pod powiadasz że powinno zadziałać to jutro przetestuje.


 
Dodane : 23/08/2020 11:06 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

To co zaproponował @steel_rat , to dobre rozwiązanie.


 
Dodane : 25/08/2020 10:35 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Jeszcze nie miałem czasu do tego usiąść ...


 
Dodane : 26/08/2020 12:05 am
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

utworzyłem wszystko według instrukcji od @isom

 

Dodałem dwie zmienne i oraz zmianę jak zasugerował @steel_rat

Niestety nie zadziałało

W Logach nie mam nic (póki co)


 
Dodane : 28/08/2020 3:41 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@wojtek_gtx wstaw tu ten zmodyfikowany skrypt , możne coś pomieszałeś


 
Dodane : 28/08/2020 6:52 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Teraz się zalogowałem i wszystko już się uaktualniło długo się nie odświeżało


 
Dodane : 28/08/2020 9:00 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

w skrypcie jest aktualizacja co godzinę więc częściej nie będzie bo i po co 


 
Dodane : 28/08/2020 9:03 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Spoko fajnie że zadziałało, dziękuję.


 
Dodane : 28/08/2020 9:16 pm
(@piotras78)
Wpisów: 50
Kontrybutor
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Odgrzeje trochę ten temat - czy nadal działa u Was ten skrypt ? U mnie od jakiś 2 miesięcy brak odczytów.


 
Dodane : 19/10/2024 1:15 am
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Dodane przez: @piotras78

U mnie od jakiś 2 miesięcy brak odczytów

Chyba raczej od lipca, a powodem jest to

Zrzut ekranu 2024 10 19 073858

https://openweathermap.org/one-call-transfer

Uprzedzam, że usługa powyżej 1000 wywołań dziennie jest płatna, więc lepiej nie wołać częściej niż co godzinę i ustawić sobie limit w planie taryfowym

Zrzut ekranu 2024 10 19 074558

 


 
Dodane : 19/10/2024 7:47 am
Udostępnij: