Asystent AI
Powiadomienia
Wyczyść wszystko

Blockly funkcjonalność w Domu

14 Wpisów
3 Użytkownicy
3 Reactions
1,766 Wyświetleń
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
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
 
[#2746]

Witam

Potrzebuję pomocy w zrobieniu blockly w zadanym czasie :
Jeżeli w dniach od poniedziałku do piątku w zakresie czasowym od 08:05 do 15:55 pojawi się jakiś telefon domownika w sieci i domoticz po dodatku alive go wyszuka to zadziała blockly, sprawdzi sobie żeby załączyć w tym czasie pompę obiegową do ciepłej wody jeżeli natomiast w tym czasie któryś z telefonów zniknie wyłączy pompę .
Już kiedyś coś takiego robiłem ale nie mogę sobie przypomnieć bo chyba rozwiązałem temat jakimś innym sposobem .

Stworzyłem coś takiego ale nie działa .

pompa obiegowa

 
Dodane : 24/01/2022 10:59 pm
pawell32
(@pawell32)
Wpisów: 1476
Guru Moderator
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: @wojtek_gtx

ja bym to rozdzielił 

- telefony osobno, tel1 lub tel2 = var1 (zmienna użytkownika)

- warunek czasowy i var1 = pompa (wł / wył)

np.

var1

zamiast "roboczy" użyj funkcji on  / off


 
Dodane : 24/01/2022 11:40 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
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
 

@pawell32 

teraz tak myślę czy zamiast takiego blockly odnośnie dnia tyg i godzin (Roboczego) to nie lepiej to zrobić tak żeby stworzyć przełącznik, zrobić w nim harmonogram godzinno dniowy i Powiązać z nim blockly ?


 
Dodane : 25/01/2022 12:34 am
pawell32
(@pawell32)
Wpisów: 1476
Guru Moderator
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 też tak możesz


 
Dodane : 25/01/2022 1:08 am
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
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
 

@pawell32 

To zrobiłem tak jak napisałem na przełączniku i śmiga załącza i rozłącza tylko jak dodać większą ilość telefonów bo chcę doklepać wszystkich użytkowników w domu, czy pod każdego użytkownika oddzielny blockly - kurde dawno nic nie dłubałem i wszystko zapomniałem a teraz kwarantanna i omicron i trzeba trochę popoprawiać 😉


 
Dodane : 25/01/2022 2:01 am
pawell32
(@pawell32)
Wpisów: 1476
Guru Moderator
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 powodzenia 🙂


 
Dodane : 25/01/2022 2:02 am
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
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
 

 

pompa2

Niby wczoraj na wymuszeniu funkcji zadziałało a jednak dziś rano byłem w domu, telefon połączony, czasówka się załączyła a pompa nie działała. Po wyłączeniu na 3 minuty wifi i włączeniu w telefonie pompa ruszyła.


 
Dodane : 25/01/2022 3:43 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
 

@wojtek_gtx może lepiej tak

return 
{
on = 
{
timer = { 'between 8:05 and 15:55 on mon,tue,wed,thu,fri'},
devices = {'Tel 1','Tel 2', 'Tel 3'} -- nazwy przelacznikow telefony
 
}, 

logging = {
level = domoticz.LOG_DEBUG, -- zmien na domoticz.LOG_ERROR, gdy skrypt bedzie Ok
  marker = "Pompa Cyrkulacja"
}, 
execute = function(dz, item)
local t1 = dz.devices('Tel 1')
local t2 = dz.devices('Tel 2')
local t3 = dz.devices('Tel 3')
local p = dz.devices('Pompa')
if dz.time.matchesRule('between 8:05 and 15:55 on mon,tue,wed,thu,fri') and (t1.state == 'On' or t2.state == 'On' or t3.state == 'On') then
     p.switchOn().checkFirst()
 else
       p.switchOff()
   end
end
}

Telefonów możesz dodać więcej , tylko wpisz poprawne nazwy przełączników , pompy i telefonów . Skrypt to dzvents oczywiście 


 
Dodane : 25/01/2022 9:37 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
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
 

@isom 

Bardzo dziękuję .
Skrypt wklejony, nazwy pozmieniane, błędami nie sadzi więc poczekam do jutra i sprawdzę czy zadziała .

 

Co trzeba by zmienić w tym skrypcie żeby załączał jakieś przełączniki po wykryciu telefonu ale z wykluczeniem opcji godzinowej i dni po prostu zawsze gdy widzi telefon ?

 


 
Dodane : 26/01/2022 1:53 am
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
 

@wojtek_gtx usuwasz wszystko co dotyczy timera czyli będzie jeszcze prościej

return 
{
on = 
{
devices = {'Tel 1','Tel 2', 'Tel 3'} -- nazwy przelacznikow telefony
}, 

logging = {
level = domoticz.LOG_DEBUG, -- zmien na domoticz.LOG_ERROR, gdy skrypt bedzie Ok
  marker = "Pompa Cyrkulacja"
}, 
execute = function(dz, item)
local t1 = dz.devices('Tel 1')
local t2 = dz.devices('Tel 2')
local t3 = dz.devices('Tel 3')
local p = dz.devices('Pompa')
if t1.state == 'On' or t2.state == 'On' or t3.state == 'On' then
     p.switchOn().checkFirst()
 else
       p.switchOff()
   end
end
}

 


 
Dodane : 26/01/2022 12:09 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
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
 

@isom 

skrypt zadziałał wyśmienicie, bardzo dziękuję .


 
Dodane : 26/01/2022 12: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
 

Przy tym drugim skrypcie jak ktoś wyłączy pompę , przy obecnych telefonach w domu to dopiero zmiana statusu dowolnego telefonu zmieni stan pompy, żeby temu zapobiec można sprawdzać stan co minutę i aktualizować , czyli nawet jak wyłączysz pompę to po max minucie włączy się znowu gdy nawet jeden telefon będzie On

return 
{
on = 
{
timer = {'every minute'},    
    
devices = {'Tel 1','Tel 2', 'Tel 3'} -- nazwy przelacznikow telefony
}, 

logging = {
level = domoticz.LOG_DEBUG, -- zmien na domoticz.LOG_ERROR, gdy skrypt bedzie Ok
  marker = "Pompa Cyrkulacja"
}, 
execute = function(dz, item)
local t1 = dz.devices('Tel 1')
local t2 = dz.devices('Tel 2')
local t3 = dz.devices('Tel 3')
local p = dz.devices('Pompa')
if item.isTimer or item.isDevice then
if t1.state == 'On' or t2.state == 'On' or t3.state == 'On' then
     p.switchOn().checkFirst()
 else
       p.switchOff()
   end
end
end
}

 
Dodane : 26/01/2022 12:27 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 542
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24, Donator 2K25
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
 

@isom 

Taka sytuacja że skrypt pięknie się załączył w zakresie czasowym ustawionym w skrypcie. 

Pompa cały czas załączona aż do 21 gdy rozłączyłem tel od wifi pompa się wyłączyła i po podłączeniu ponownym nie załączyła a mam ustawiony timer już nie zależny od telefnów na przełączniku od 16 do 23:30 cały czas załączona w tygodniu a w weekend od 08:00 do 23:30

 


 
Dodane : 26/01/2022 11:14 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
 

@wojtek_gtx ok skoro masz timery w samym przełączniku pompy to zmień to na tak jak poniżej , wtedy skrypt będzie reagował na przełącznik pompy tylko w zakresie czasowym

return 
{
on = 
{
timer = { 'between 8:05 and 15:55 on mon,tue,wed,thu,fri'},
devices = {'Tel 1','Tel 2', 'Tel 3'} -- nazwy przelacznikow telefony
 
}, 

logging = {
level = domoticz.LOG_DEBUG, -- zmien na domoticz.LOG_ERROR, gdy skrypt bedzie Ok
  marker = "Pompa Cyrkulacja"
}, 
execute = function(dz, item)
local t1 = dz.devices('Tel 1')
local t2 = dz.devices('Tel 2')
local t3 = dz.devices('Tel 3')
local p = dz.devices('Pompa')
if dz.time.matchesRule('between 8:05 and 15:55 on mon,tue,wed,thu,fri') and (t1.state == 'On' or t2.state == 'On' or t3.state == 'On') then
     p.switchOn().checkFirst()
 elseif dz.time.matchesRule('between 8:05 and 15:55 on mon,tue,wed,thu,fri') and (t1.state == 'Off' and t2.state == 'Off' and t3.state == 'Off') then
       p.switchOff()
   end
end
}

 
Dodane : 27/01/2022 12:04 am
wojtek_gtx zareagował
Udostępnij: