Powiadomienia
Wyczyść wszystko
UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
Reguły w Domoticz / Blockly
57
Wpisów
5
Użytkownicy
7
Reactions
4,598
Wyświetleń
Dodane : 15/12/2020 3:46 pm
Autor tematu
@wojtek_gtx może to po prostu moja wina , bo podałem przykład blockly bez sprawdzania a nie uzywam blockly od dłuższego czasu. Zmień blockly pogodynki na taki
Miałeś działający block i tego bym się trzymał dodając tylko warunki pogodynki
Poprawiłem i teraz jak powyłączałem ledy z palca następnie uruchomiłem skrypt to sie nic nie dzieje, nie zapala żadnego LED-a. Dodałem przed każdą z zależnością punkt odnośnie user variables
Dodane : 15/12/2020 4:04 pm
@wojtek_gtx ustaw w bloku pogodynki aktualne czasy tak żebyś widział zmiany i zobacz czy aktualizuje się zmienna , potem do bloku pogodynki dodaj sobie jednego led i sprawdz czy jak zmienna jest 1 to włącza led a jak zero to wyłącza , jak to zadziała to dopiero rozbuduj o całość klocków.
A koledze @bartolomeo potrzebny jest cały opis -widok ( taki jak wstawił ) twojego czujnika , bo samo custom sensor to za mało i zawsze w skrypcie dzVents wyjdzie bład, że próbujesz porównać liczbę z zerem
Dodane : 15/12/2020 4:29 pm
Aż takich rozbieżności być nie powinno. Generalnie wartośc którą masz w custom sensor jest tekstowa. Należy ją najpierw w ogóle wydobyć parametrem state, a później przerobić na liczbę za pomocą tonumber - o ile udaje jakąś całkowitą. Innymi słowy: popraw dwa te wiersze z definicją zmiennych z czujnika w skrypcie na to co poniżej. U mnie działa ( w załączniku całość z warunkiem uruchamiania co minutę, bo już po zmroku i nie potestujesz 😀 :
--tutaj wstaw swoje nazwy
local PM10=tonumber(domoticz.devices('nazwa czujnika PM10').state)
local PM25=tonumber(domoticz.devices('nazwa czujnika PM2,5').state)
Dodane : 15/12/2020 4:53 pm
Autor tematu
Dzięki za pomoc ale odpuszczam temat bo już brak mi sił i czasu na dłubanie .
Zestaw wyjściowy działa dodaję tylko zmienną w każdej z trzech zależności pomiarowych i brak reakcji dodaję na końcu że jak jest zmienna z "1" to przestaw oba LED na "off" no bo w nocy ma nie świecić ...
Sama zmienna działa bo zmienia stan nawet na poprzedniej opcji w nocy zmieniła się ale samo blockly coś nie gra.
Dzięki za pomoc ale ja w tym skrypcie w ogóle nic nie widzę ona cały czas wali błędami a nie chcę ciebie zamęczać wiecznymi pytaniami.
Póki co jak odpaliłem skrypt od ciebie wywalił jakiś błąd, co prawda jest po czasie ale nie wyłączył diod na na "off" więc też coś nie tak
Po prostu chyba nie potrzebnie lutowałem diody do GPIO i dłubałem ten zestaw bo nie za bardzo mi się uśmiecha żeby w nocy się świeciły i interesowały sąsiadów oraz przechodniów .
Dodane : 15/12/2020 8:32 pm
@wojtek_gtx chętnie pomogę. Możesz pokazać co za błędy. U mnie przetestowałem i działało. Teraz po zmierzchu do testów ustaw trigger np. co minutę.
Dodane : 15/12/2020 8:46 pm
Skrypt działa w dzień. Ale by się przydał skrypt, który działa i gasi diody w nocy. Tu tego brakuje.
Dodane : 15/12/2020 8:48 pm
Autor tematu
@wojtek_gtx może to po prostu moja wina , bo podałem przykład blockly bez sprawdzania a nie uzywam blockly od dłuższego czasu. Zmień blockly pogodynki na taki
Miałeś działający block i tego bym się trzymał dodając tylko warunki pogodynki
Ta zmienna u mnie nie działa a tamta poprzednia działała
Dodane : 15/12/2020 8:49 pm
Autor tematu
@wojtek_gtx chętnie pomogę. Możesz pokazać co za błędy. U mnie przetestowałem i działało. Teraz po zmierzchu do testów ustaw trigger np. co minutę.
Robiłem restart Domoticza jakieś 10 min temu i póki co cisza, brak błędów ale też nic się nie zmienia, zmienię trigger i popatrzę.
Dodane : 15/12/2020 8:58 pm
Autor tematu
z wyłączonych diod uruchomiłem skrypt, ustawiłem trigger na 3 min i załączył diodę czerwoną zgodnie ze skryptem
więc tu jest OK tylko żeby wyłączył no i jeszcze jedna zmienna 😉
Dodane : 15/12/2020 9:12 pm
Super. Jeśli nie dasz rady, to mogę jutro tą trzecią zmienną Ci dorzucić. Daj znać tylko jeszcze jak chcesz aby to działało czy po prostu za dnia jak czy 6:00-23:00 bo tak pisałeś pierwotnie...
A co do gaszenia diód na noc to proponowałem po prostu w przełączniku ustawić (patrz załącznik), ale to też można bezpośrednio do skryptu dorzucić.
Dodane : 15/12/2020 9:20 pm
Autor tematu
Ja nie ogarniam tych składni, choć popatrzę jeszcze dziś i dam znać jutro rano.
A co do czasu pracy to od 05:30 do 21:30, było by super jak by sam skrypt to wszystko gasił .
Dodane : 15/12/2020 9:33 pm
Autor tematu
Timer działania trzeba tak ??
'at 05:30-21:30',
Dodane : 15/12/2020 9:51 pm
Hm... nie jestem pewien. Samo 'at' czyni chyba tylko skrypt aktywnym i nie jestem pewien czy go wyzwala. To raczej w powiązaniu z jakimś przełącznikiem - np. twoimi sensorami by trzeba było łączyć i wtedy zamiast interwału wyzwalałoby się na każdą zmianę urządzenia w podanym zakresie czasu. Niech mnie ktoś poprawi jeśli się mylę co do tego.
Ja bym dał raczej:
timer = { 'every xx minutes and between 05:30 and 21:29', 'at 21:30' },
zamiast xx wstaw sobie interwał czasu który będzie się wykonywał we wskazanych godzinach. Dodatkowo będzie jeden extra job o 21:30 i tam zaprogramuje się wyłączenie lampek coś na zasadzie:
if domoticz.time.matchesRule('21:30') then wyłącz obie lampki
Ale tego też nigdy nie używałem i musiałbym przetestować.
Dodane : 15/12/2020 10:13 pm
Autor tematu
@bartolomeo
Próbowałem zmontować tą 3 zależność ale nie chce być tak prosto 😉
return {
on = {
devices = {},
timer = {'every 3 minutes'}, --skrypt uruchomi sie co 3 min miedzy wschodem a zachodem slonca
},
execute = function(domoticz, triggeredItem)
--tutaj wstaw swoje nazwy
local PM10=tonumber(domoticz.devices('pm10').state)
local PM25=tonumber(domoticz.devices('pm2.5').state)
local czerwona=domoticz.devices('Czerwony')
local zielona=domoticz.devices('Zielony')
-- warunki i trzy zakresy pomiarowe
if (PM10<=60 and PM25<=36) then
czerwona.switchOff()
zielona.switchOn()
end
if (PM10>60 and 140<= and PM25>36 and 84<=) then
czerwona.switchOn()
zielona.switchOn()
end
if (PM10=>141 or PM25=>85) then
czerwona.switchOn()
zielona.switchOff()
end
end
}
Dodane : 15/12/2020 10:43 pm
Autor tematu
Wali takim błędem :
2020-12-15 22:45:28.250 Error: dzVents: Error: (3.0.2) error loading module 'Script #1' from file '/home/zaber/domoticz/scripts/dzVents/generated_scripts/Script #1.lua':2020-12-15 22:45:28.250 ...domoticz/scripts/dzVents/generated_scripts/Script #1.lua:21: unexpected symbol near 'and'
Dodane : 15/12/2020 10:45 pm
Pokićkałeś kolejność znaków w porównaniu....
Wrzuć to i potestuj na spokojnie. Sprawdź czy działa i czy logika jest zgodna z założeniami.
Dodane : 15/12/2020 11:22 pm
Autor tematu
if (PM10>60-140 or PM25>36-84) then
czerwona.switchOn()
zielona.switchOn()
end
tak zrobiłem i zadziałało zaraz sprawdzę twój sposób
Dodane : 15/12/2020 11:30 pm