Witam
Bardzo proszę o weryfikacje skryptu blockly. Próbuje zmusić Domoticz do włączania grzałki elektryczne w bojlerze CO, kiedy inne źródła nie podołają. Nie widzę w logach nawet inf. o uruchomieniu. Jedyny problem to błędy odczytu z czujnika DS18b20 (problemy z magistralą 1wire), który odpowiada za pomiar temperatury w "bolierze" (chodzi o bojler ;), odczyt dostępny średnio przy trzecim ponowieniu polecenia w terminalu) ;). Czy to błąd skryptu, czy ewentualnie chwilowy brak dostępu do wartości "temperatura bolier" może blokować jego uruchomienie ??
Z góry wielkie dzięki za sugestie
@dhorz zapewne masz problem z wstawieniem tego skryptu , ale to dlatego że nowy użytkownik musi napisać przynajmniej dwa posty żeby wkleić fotkę .
Co do działania skryptu na podstawie czujnika to brak odczytu spowoduje że skrypt się nie wykona - brak wyzwalacza , ale wstaw w drugim poście to ocenimy
Walczyłem z plikiem... i wstawiłem link, pewnie widzę go tylko ja... 🙂
@dhorz ok wszystko jasne, tak skonstruowany skrypt nie zadziała nigdy a to dlatego że nie możesz użyć w jednym układzie bloków dwóch funkcji z kołem zębatym i pewnie system Cię o tym informował . Jak nie wiesz jak rozbudować skrypt o elseif to wstawiam instrukcję obrazkową
Klikasz w trybik, przenosisz else pod if i masz możliwość rozpisania dwóch warunków
Właśnie system się nie przy burzył. Wstawiam poprawiony kod.
Teraz jeszcze powalczę z czujnikiem temp.
Mam jeszcze prośbę o rzut fachowym okiem na skrypt, przez który słońce załączy mi grzałkę wykorzystując dane (moc) z falownika PV. Poprawiłem go bo w wersji pierwotnej zagnieździłem w if-ie if-a, jak doczytałem podobno to nie działa...
@isom Dzięki wielkie. Powalczę jeszcze w weekend z czujnikiem temperatury i dam znać jak i czy wszystko działa.
Pozdrawiam
Ostatecznie mam dwa skrypty. Jeden włącza grzałkę na podstawie mocy produkowanej w instalacji PV (moc na fazie L1 > niż 1000W- on, < 970W -off ). Drugi między godz. 17:00 a 20:00 włącza grzałkę pod warunkiem że temp wody spadła poniżej 40stopni. To na wypadek pochmurnego dnia. Żeby obydwa skryty nie zadziałały równocześnie (dużo słońca po 17 w lecie) stworzyłem dwie zmienne zależne od zadziałania jednego i drugiego skryptu.
Skrypt załączania "przez słońce" działa OK. Na razie raz zadziałał skrypt "g. 17-20, temp < 40stopni" i.... nie wyłączył się po g.20:00. Nie wiem co się stało. Będę testował. Załączam obydwa skrypty, może ktoś skorzysta. Doświadczonych kolegów proszę o sprawdzenie poprawności skryptów
@dhorz Bardzo dobrze, że kombinujesz ze zmiennymi bo są bardzo przydatne szczególnie przy blockly, tylko trochę niepotrzebnie sobie to komplikujesz , dodatkowo warto zrobić chociaż krótkie opóźnienia załączeń/wyłączeń grzałki żeby słońce nią nie szarpało gdy będą lekko pochmurne dni ( raz słońce a za chwilę cień).
Przeanalizuj poniższy skrypt, który robi wszystko co Twoje dwa, tylko włączenie grzałki od słońca następuje dopiero gdy moc paneli utrzymuje się powyżej 2 minut i to samo z wyłączeniem gdy moc spadnie na dłużej niż 2 minuty to dopiero wyłączy się grzałka.
Opóźnienie wynika z tego że skrypty blockly wykonują się co minutę więc zmienna robi robotę żeby załączenie/wyłączenie nie nastąpiło odrazu po wzroście czy spadku mocy
@isome Super skrypcik !. Nie wspomniałem że nad całością wisi ograniczenie. Mój falownik niestety po interfejsie API wysyła dane co 5min. Brałem poprawkę na efekt "klekotania" stycznika, bo to mogło by go szybko wykończyć , (gdyby dane z falownika schodziły np. co 1s), ale wyszło całkiem nieźle jak widać na wykresie poniżej. Zakupiłem stycznik Schne....ra 5,5 kW - do grzałki 4,5kW. Z doświadczenia zawodowego wiem że styczniki tego producenta "awaryjnie" 😉 latami pracowały dwukrotnie przeciążone. Spróbuje zaadaptować ten skrypt zamiast dwóch, jest zdecydowanie bardziej optymalny. Póki co posyłam zrzut wykresu z falownika.
W godzinach szczytowej produkcji nikogo nie było w domu. Te podwyższone pobory pomiędzy godz. 11:30 a 16:00 pod zieloną "produkcją" to jest grzałka. Jak widać działa to całkiem nieźle z tym wymuszonym interwałem 5min. Niestety to co widać jest wyśrednione przez platformę w chmurce producenta falownika z interwałem czasowym co 15min ....Wartości chwilowe mocy "produkcji" w rzeczywistości przekraczały 3kW co powodowało załączenie grzałki. Wykres jest bardzo uśredniony, ale lepsze to niż nic ;).
@dhorz dopiero się wdrażam w Domoticza - jak powinna być w powyższym przypadku ustawiona zmienna, tzn typ zmiennej i wartość ?
Na bazie powyższego skryptu przygotowalem swoj, który ma zapewnić komfortową temperaturę również rano i wieczorem. Być może to kwestia zmiennej, ale nie działa:)
Witam,
ja u siebie trochę inaczej rozwiązałem sterowanie załączaniem grzałki CWU tj od wzrostu napięcia powyżej 253V-na razie wystarczała jedna faza z grzałką 2kW.
Jakiś czas to działało-zauważyłem ,że domoticz włączył wczoraj grzałkę o 15.24 ,ale wyłączył dopiero dzisiaj o 11.56...
Zasadniczo w pierwszym warunku powinno działać obciążenie przez 10min i się wyłączyć. Dołożyłem jeszcze dodatkowe wyłączenie po 10min (600s)-tu chodziło bardziej o jakieś przypadkowe włączenie z telefonu.
Proszę o info co jest nie tak i jak usprawnić system.
Poniżej zrzuty z logami i zapisem blocky
Pzdr
Dodam tylko ,że zmieniłem jeszcze wyłączenie w drugim warunku na 605s-może problem był ,że w tym samym czasie to działało ?
Zmieniłem trochę zapis w blocky-opóźnienie załączenia grzałki 2min (aby nie było impulsowania) i czas pracy grzałki 10min.
W moim inwerterze w ciągu 10min jeśli jest średnia powyżej 253V , to się wyłączy na parę minut.
Jeśli masz urządzenie sterujące grzałka, które potrafi odczytać wartość napięcia to można to zrobić bezpośrednio w urządzeniu. Poczytaj ten wątek https://www.smartnydom.pl/forum/tasmota/sterowanie-czasowe-i-wlaczanie-za-wysokim-napieciem/
Tasmota musi być wgrana taka jak jest w wątku.
Jeśli masz urządzenie sterujące grzałka, które potrafi odczytać wartość napięcia to można to zrobić bezpośrednio w urządzeniu. Poczytaj ten wątek https://www.smartnydom.pl/forum/tasmota/sterowanie-czasowe-i-wlaczanie-za-wysokim-napieciem/
Tasmota musi być wgrana taka jak jest w wątku.
Mam odczyt z podlicznika w domoticzu.
Inne zapisy w blocky raczej działają ok-tu chyba błąd był w zapętleniu wyłączenia (raz na kilka dni…).
A może inaczej- czy jeśli zapis w blocky jest poprawny ,to zawsze instrukcja działa poprawnie ? Czy może blocky tak ma i czasem bez powodu działa wadliwie ?
W takich układach bloczków powinno się sprawdzać jak najwięcej warunków , czyli jak coś włączamy na podstawie temp czy napięcia to jest fajnie bo to się zmienia w czasie , bez sprawdzania stanu przekaźnika może być różnie patrz ostatni warunek w skrypcie , który wstawiłem kilka postów wyżej.
Oprócz warunków czasowych i temperatury sprawdzam stan przełącznika , a niby patrząc na skrypty kolegów nie trzeba , bo niby działają . Ja jednak uważam , że lepiej jak jest na pewno a nie niby.
Maszyny wykonują to co im zlecimy , wiec jak zrobi się "włącz grzałkę bo jest zimna woda " bez sprawdzenia czy aby już nie jest włączona to maszyna wyśle polecenie włącz . W przypadku blockly będzie to co minutę , raz że to jest bez sensu, dwa obciążą system, więc lepiej powiedzieć tej maszynie " włącz grzałkę bo jest zimna woda , jeśli nie jest włączona"