Powiadomienia
Wyczyść wszystko

Pogodynka i trzy kolory świecenia LED

57 Wpisów
5 Użytkownicy
7 Likes
3,679 Wyświetleń
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

Witam
Zbudowałem pogodynkę z DTH22 oraz BMP280 2xLED dwu kolorowy (Czerwono-Zielony) dodatkowo z czujnikiem PMS5003 no i o ten czujnik troszkę mi chodzi .

Zbudowałem blockly pod LED które zapala mi przy danym poziomie kolor pod normę CAQI
Wszystko działa tylko nie udaje mi się ustawić żeby diody nie świeciły się w godzinach 23 do 6:00.

Może ktoś podpowie, bo tworzyłem różne opcje ale zawsze coś nie grało

 

Bez tytulu

 
 
Dodane : 12/12/2020 11:37 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@wojtek_gtx może żeby nie komplikować tych bloków dodaj sobie zmienną , którą zmienisz w nocy na 1 a w dzień na 0 

 
Dodane : 13/12/2020 3:24 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@isom

Kurde nie za bardzo wiem jak ogarnąć 

 
Dodane : 13/12/2020 7:16 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@wojtek_gtx na początku twojego blockly wstaw taki zestaw , oczywiście tworząc w domoticz zmienną "pogodynka" , potem już dodaj w swoich warunkach tą zmienna z zaznaczeniem że jeśli zmienna = 0 to włączaj ledy , a jak zmienna 1 to ledy OFF

 1
 
Dodane : 13/12/2020 9:07 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

@wojtek_gtx, ja na Twoim miejscu bym się nawet nie podjął układania tego w blockly, bo ilekroć widzę ile trzeba klocków poukładać, żeby coś zadziałało to pytam się "po co sobie tak utrudniać?", ale oczywiście każda metoda jest dobra byle skuteczna i szacunek za to dla wszystkich 😉

Chodzi mi tylko o to, że W DzVents napisałbyś jeden warunek "if domoticz.time.isDayTime" albo w ogóle cały skrypt realizował tylko "at 06:00-23:00" i po temacie.

 
Dodane : 13/12/2020 9:57 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

@bartolomeo

Trzeba się znać 😉 a ja dobrze ogarniam składanie modułów, lutowanie itp. ale już z ich programowaniem mam problemy.

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

Zmienna działa jak najbardziej.

Jak już dodam zależność w składzie że ma wystąpić zmienna z pogodynka "0" and wartość z zakresu pomiaru to nie włącza jej wcale no i też tak jak patrzę to musiał bym stworzyć drugi zestaw że po 23 ma ustawić led czerwony i zielony na "off" w każdym z zakresów pomiarowych ??

 
Dodane : 14/12/2020 1:50 pm
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

Z tego co widzę zmienna pogodynka przybiera wartość '0' od 6 do 23 i wartość 1 w nocy (chociaż ja bym to odwrócił, bo dla mnie 0 to wyłączone, ale nie ważne).

Zatem najprościej (jeśli możesz, bo nie znam ograniczeń blockly) wszystkie te klocki z Twojego pierwszego posta wstawić razem w jeden nadrzędny "if" to zbuduj formułę:

if pogodynka = 0 do--> realizuj swój skrypt

else if --> zgaś lampki

 
Dodane : 14/12/2020 5:38 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@bartolomeo blockly to nie dzVents , nie możesz tak po prostu jeśli pogodynka 0 to zrób a jeśli nie to zgaś lampki.

Tu trzeba sprecyzować że jeśli pogodynka = 1 to led =OFF  a jeśli pogodynka = 0 i jakość powietrza dobra to led = On

 
Dodane : 14/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
 

Zrobiłem tak ale nie działa - znaczy nie wyłącza.

 ledka
 
Dodane : 14/12/2020 11:10 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

Nie może działać. Blocky obsługuje tylko jeden warunek z niebieską śnieżką 🙂 Nie możesz mieć tak jak teraz dwóch. Dlatego jednak wole skrypty DzVents.

 
Dodane : 14/12/2020 11:18 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

Jeszcze tak robiłem  i też nie działa

 ledka 2
 
Dodane : 14/12/2020 11:30 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

Dużo tych and i or. Dla mnie to dziwnie wygląda. Pewnie źle jest zrobione.

Na moje oko to tak powinno być zagnieżdżone.

blocky111
 
Chociaż zdało by się wiedzieć czy na pewno liczby z którymi porównujesz są prawidłowe. A nie ma tam np. 60PPM
 
Dodane : 14/12/2020 11:45 pm
wojtek_gtx
(@wojtek_gtx)
Wpisów: 538
Ekspert Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K22, Donator 2K24
Autor tematu
 

Nie działa ... znaczy działa ale 24h nie wyłącza na noc. Już mi się pomysły kończą .
Odczyty są podzielone według skali CAQI  co prawda tam są jeszcze odcienie ale wybrałem trzy kolory.

 
Dodane : 15/12/2020 11:04 am
(@steel_rat)
Wpisów: 603
Ekspert
 

A jak masz teraz ten shemat blocky?

 
Dodane : 15/12/2020 11:16 am
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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
 
Dodane : 15/12/2020 11:41 am
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

Cześć,

napisałem Ci to w DzVents. Przetestowałem bardzo zgrubnie u mnie i działa. Wartości czujników mam w urządzeniu typu "Air quality". Jak masz inaczej, to jeszcze trzeba dopasować, by pobierało odpowiednią wartość. Oczywiście jako samouk zastrzegam sobie prawo do błędów 😉

 
Dodatkowo w przełącznikach od diody ustaw sobie zdarzenie czasowe po zachodzie słońca, żeby lampki gasły na noc. Rano jak się uruchomi skrypt to zapali ponownie tę odpowiednią.
 
Dodane : 15/12/2020 12:34 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@bartolomeo świetnie że chcesz pomóc, ale nie uwzględniłeś trzeciego stanu gdzie dwie diody są ON czyli średnie powietrze , a druga rzecz to dla której ja nie napisałem tego w dzVents to jeżeli czujniki to CustomSensor i jednostki mikrometry/m3 , to Twój skrypt nie zadziała.

Ale chwała za chęć pomocy 

 
Dodane : 15/12/2020 1:09 pm
wojtek_gtx reacted
(@bartolomeo)
Wpisów: 210
Pomocny Donator 2K22
 

@isom, faktycznie uprościłem sobie logikę, ale po prostu chciałem to (a może siebie) sprawdzić na szybko, na kolanie. Dopisać kolejne warunki to nie problem.

Co do typu czujników, to opisałem dla jakiego typu zadziała, a z tymi custom sensorami to by trzeba bylo spróbować (znając życie pewnie masz rację i nie zadziała). Teoretycznie poprzez "sensorValue" powinno coś pójść, ale to @wojtek_gtx może powiedzieć jak ma zrobione czujniki, czy chce, potrzebuje i jaki sposób oprogramowania tego wybierze.

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

@bartolomeo

Przerobiłem na szybko pod moje czujniki co podesłałeś dla samego sprawdzenia ale nic się nie zmienia jest błąd:

2020-12-15 14:55:00.225 Error: dzVents: Error: (3.0.2) An error occurred when calling event handler Script #1
2020-12-15 14:55:00.225 Error: dzVents: Error: (3.0.2) ...domoticz/scripts/dzVents/generated_scripts/Script #1.lua:16: attempt to compare nil with number

 

Wolał bym póki co rozwikłać problem z blokami jak już tamten działa przez 24h ale na pewno pobawię się też twoim jak coś podeślesz 😉

 
Dodane : 15/12/2020 2:57 pm
Strona 1 / 3
Udostępnij: