Powiadomienia
Wyczyść wszystko

Pogodynka i trzy kolory świecenia LED

57 Wpisów
5 Użytkownicy
7 Likes
3,806 Wyświetleń
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

@wojtek_gtx, powiedz jaki masz typ tego czujnika (widoczne w zakładce urządzenia):

 

 

 obraz 2020 12 15 154553
 
Dodane : 15/12/2020 4:46 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@bartolomeo

Przełącznik typu custom sensor

 
Dodane : 15/12/2020 4:55 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 
Dodane przez: @isom

@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  

blok
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 5:04 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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 5:29 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@bartolomeo

podsyłam print

 czujniki
 
Dodane : 15/12/2020 5:50 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

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 5:53 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

 

@isom

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.

 

@bartolomeo

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 9:32 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

@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 9:46 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

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 9:48 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 
Dodane przez: @isom

@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  

blok
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 9:49 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 
Dodane przez: @bartolomeo

@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 9:58 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@bartolomeo

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 10:12 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

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ć.

 obraz 2020 12 15 211829
 
Dodane : 15/12/2020 10:20 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@bartolomeo

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 10:33 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

Timer działania trzeba tak ??  

'at 05:30-21:30',
 
Dodane : 15/12/2020 10:51 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

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 11:13 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
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 11:43 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
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 11:45 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

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 : 16/12/2020 12:22 am
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@bartolomeo

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 : 16/12/2020 12:30 am
Strona 2 / 3
Udostępnij: