Asystent AI
Automatyczny reset ...
 
Powiadomienia
Wyczyść wszystko

Domoticz Automatyczny reset routera przy braku internetu

112 Wpisów
4 Użytkownicy
0 Reactions
10.4 K Wyświetleń
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

@bobrow faktycznie rozczarowałeś mnie , a jest mi tym bardziej przykro że telefonów było sporo , nic nie zostało z mojego gadania :))

Może zrekompensujesz mi to wklejonym kodem, który będzie działal ?


 
Dodane : 22/07/2022 2:44 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Pewnie nie przyswajam na raz za dużo informacji , albo SKS...

A teraz tak czysto teoretycznie-czy ten zapis jest prawidłowy ?

return {
    on = {
        timer = { 'every 3 minutes' },
        httpResponses = { 'NBPEUR' }
    },
    execute = function(domoticz, item)
        if (item.isTimer) then
            domoticz.openURL({
                url = 'http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json',
                method = 'GET',
                callback = 'NBPEUR'
            })
        end

        if (item.isHTTPResponse and item.ok) then
            domoticz.devices('Kurs EUR').updateCustomSensor(item.json.rates[1]['mid'])
            
        elseif domoticz.devices('Kurs EUR').lastUpdate.minutesAgo >= 10 then
           domoticz.devices('Reset router').switchOn().forSec(60)
           domoticz.log('Reset router',domoticz.LOG_INFO)
           end
    end
}

 

Co 3 min sprawdza NBP , co 10 min czy było łącze i 1 min switch-chyba powinno się zapinać ? 

 

PS

Jednak potrafię wklejać kod... 😎 


 
Dodane : 22/07/2022 2:56 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

@bobrow tak to ma prawo działać, ale zbyt często chcesz pytać NBP o kurs , To obciąża twoją maszynę bo za każdym razem czeka na odpowiedz i robi się za gęsto , nie umiem tego inaczej wytłumaczyć 

Twoje zapytanie do NBP musi zostać przetworzone i konkretna odpowiedz musi zostać wysłana jest to zapisane w 

domoticz.devices('Kurs EUR').updateCustomSensor(item.json.rates[1]['mid'])

 
Dodane : 22/07/2022 3:02 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

No widzisz-dla mnie to jasne ,że może być problem tylko z odpytaniem. Wtedy powinienem mieć tylko cykliczne resety (teoretycznie jeśli  nie będzie odpowiedzi z NBP).

Fajnie , tylko jest jedno ALE-załącza się po 1 cyklu ten reset (po ok 1,5min) i zostaje na ON...

Nie rozumiem dlaczego ,jeśli powinno się to spinać czasowo -nawet z negatywnymi wynikami zapytań ?

Zapytanie to jedno , a funkcja set for to drugie ? 😯  


 
Dodane : 22/07/2022 3:16 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

Takie coś będzie pewnie działać bez błędów

return {
    on = {
        timer = { 'every 20 minutes' },
        httpResponses = { 'NBPEUR' }
    },
    execute = function(dz, item)
         local reset = dz.devices('Reset')
         local kurs = dz.devices('Kurs EURO')
        if (item.isTimer) then
            dz.openURL({
                url = 'http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json',
                method = 'GET',
                callback = 'NBPEUR'
            })
        end

        if (item.isHTTPResponse and item.ok) then
            kurs.updateCustomSensor(item.json.rates[1]['mid']) 
			dz.log('Kurs ok', dz.LOG_INFO)
        
    elseif kurs.lastUpdate.minutesAgo >= 40 then
           reset.switchOn()
           dz.log('Problem z połączeniem',dz.LOG_ERROR)
           end
end
}

 
Dodane : 22/07/2022 3:17 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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 wyłączenie możesz sobie ustawić w samym przełączniku 


 
Dodane : 22/07/2022 3:22 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Oczywiście-tylko dlaczego to nie działa na tej funkcji set for ?

Mam coś źle zapisane ?


 
Dodane : 22/07/2022 3:25 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Pytam ,bo jak zacznę coś płodzić -to żebym się nie kręcił jak Mały Kazio...


 
Dodane : 22/07/2022 3:26 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

Nie wiem u mnie działa 

Oczywiście nie 80 sek ! 


 
Dodane : 22/07/2022 3:27 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Ale właściwie to nie do końca rozwiąże się ten problem-jeden cykl tj po 10min set for 60s -i ok , załączyło się i po 60s wyłączyło...ale po ok 90s wyjście załączyło się na stałe...dlaczego po takim kulawym czasie ?


 
Dodane : 22/07/2022 3:29 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Zapis jest trochę inny od poprzedniego.

np tu 

dz.log('Kurs ok', dz.LOG_INFO)

i podobnie tu 

dz.log('Problem z połączeniem',dz.LOG_ERROR)

Opisałeś sobie tylko inną nazwą logi ? Dlaczego ?


 
Dodane : 22/07/2022 4:11 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

wpisałem sobie logi takie żeby wiedzieć co sie dzieje a jak nie rozumiesz zasad czasowych to ustaw w przełączniku wyłącz po 20 sek i będzie spokój 


 
Dodane : 22/07/2022 4:19 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

No dobrze-zakręciłem się , myślałem że te logi dotyczą samych fizycznych tj istniejących w domoticzu funkcji.

A to po prostu nazwa tego co się wydarzyło linijkę wyżej.

Kiedy wyciąłem tylko set for , niestety dalej wariuje reset...

Zrobiłem więc przeróbkę do testów Twój ostatni zapis

    on = {
        timer = { 'every 3 minutes' },
        httpResponses = { 'NBPEUR' }
    },
    execute = function(dz, item)
         local reset = dz.devices('Reset router')
         local kurs = dz.devices('Kurs EUR')
        if (item.isTimer) then
            dz.openURL({
                url = 'http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json',
                method = 'GET',
                callback = 'NBPEUR'
            })
        end

        if (item.isHTTPResponse and item.ok) then
            kurs.updateCustomSensor(item.json.rates[1]['mid']) 
			dz.log('Kurs ok', dz.LOG_INFO)
        
    elseif kurs.lastUpdate.minutesAgo >= 10 then
           reset.switchOn()
           dz.log('Problem z połączeniem',dz.LOG_ERROR)
           end
end
}

 Dostosowałem oczywiści moje nazewnictwo funkcji. Testuje się


 
Dodane : 22/07/2022 4:37 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Nie chce być upierdliwym, ale dalej jest tak samo ...poniżej błędy

2022-07-22 16:39:10.659 Error: Error opening url: http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json
2022-07-22 16:39:10.812 Error: dzVents: Error: (3.1.7) HTTP/1.1 response: 28 ==>> Timeout was reached
2022-07-22 16:45:10.276 Error: Error opening url: http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json
2022-07-22 16:45:10.423 Error: dzVents: Error: (3.1.7) HTTP/1.1 response: 28 ==>> Timeout was reached
2022-07-22 16:48:00.361 Error: Error opening url: http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json
2022-07-22 16:48:00.579 Error: dzVents: Error: (3.1.7) HTTP/1.1 response: 6 ==>> Couldn't resolve host name
2022-07-22 16:51:01.120 Error: dzVents: Error: (3.1.7) An error occurred when calling event handler Test internetu wg kursu €
2022-07-22 16:51:01.120 Error: dzVents: Error: (3.1.7) ...zVents/generated_scripts/Test internetu wg kursu €.lua:18: attempt to index a nil value (field 'json')
2022-07-22 16:54:00.397 Error: dzVents: Error: (3.1.7) Problem z połączeniem
2022-07-22 16:55:30.608 Error: Error opening url: http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json
2022-07-22 16:55:30.763 Error: dzVents: Error: (3.1.7) HTTP/1.1 response: 28 ==>> Timeout was reached
2022-07-22 16:55:30.781 Error: dzVents: Error: (3.1.7) Problem z połączeniem
2022-07-22 16:57:00.444 Error: dzVents: Error: (3.1.7) Problem z połączeniem
2022-07-22 16:57:10.488 Error: Error opening url: http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json
2022-07-22 16:57:10.643 Error: dzVents: Error: (3.1.7) HTTP/1.1 response: 28 ==>> Timeout was reached
2022-07-22 16:57:10.661 Error: dzVents: Error: (3.1.7) Problem z połączeniem
2022-07-22 17:00:00.544 Error: dzVents: Error: (3.1.7) Problem z połączeniem
2022-07-22 17:00:00.588 Error: Error opening url: http://api.nbp.pl/api/exchangerates/rates/a/eur?format=json
 
Po każdym zadziałaniu tego resetu router wstaje ok 1,5 minuty-nie rozumiem dlaczego po jego zadziałaniu nie liczy czasu testu 2 min i kontroli 10 min , tylko ok 90s 
Żyje to swoim nędznym życiem...

 
Dodane : 22/07/2022 5:05 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Switch wyłączam po 20s 


 
Dodane : 22/07/2022 5:06 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

odpaliłem to na potrzeby tego tematu ale za trzy godziny mogę wstawić kolejne logi 

1

 
Dodane : 22/07/2022 6:06 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Ale chyba nie masz resetu- u mnie wszystko jest ok do momentu kiedy wyciągnę wtyczkę ze ściany do routera.Potem też jest ok tj działa reset i wyłącza się router.Po odliczeniu czasu działania wraca zasilanie i wtedy zaczyna się cyrk…w tym czasie livebox się uruchamia (ale nie zdąży,przed synchronizacją działa reset choć nie było warunków).Cała sieć wifi postawiona na drugim rouetrze-ta sieć jest przez chwilę bez internetu…


 
Dodane : 22/07/2022 7:10 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

Wtyczka wyciągana z RJ z przyłącza


 
Dodane : 22/07/2022 7:12 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
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
 

Jutro wstawię logi z resetem bo muszę go sztucznie wywołać. A ta sieć na pewno działa bez tego Liveboxa?


 
Dodane : 22/07/2022 9:39 pm
(@bobrow)
Wpisów: 386
Weteran
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
 

A…u mnie trawa skoszona…taras,wino i śpiew…Że livebox…tia-niestety w obecnym stanie świadomości potwierdzam ,że livebox daje tylko internet do domoticza….

Jedziemy dalej…teraz hity naszego rocka…

pozdrawiamy


 
Dodane : 22/07/2022 11:28 pm
Strona 4 / 6
Udostępnij: