Powiadomienia
Wyczyść wszystko

Domoticz sterowanie pompą obiegową CWU

17 Wpisów
4 Użytkownicy
0 Likes
348 Wyświetleń
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 
Zrzut ekranu z 2023 09 04 19 27 52

Zacząłem od blockly, ale już na początku mam schody - błąd w logach

EventSystem: Lua script error (Blockly), Name: obieg-test_1 => [string "result = 0; weekday = os.date('*t')['wday']; ..."]:1: 'then' expected near 'comparevariable'

i nie bardzo wiem o co chodzi ... (błąd z definicją czasu ?).

 

Jest to jeden obieg, uruchamiany przełącznikami sonoff touch (lazienka0 - 30s, lazienka1 - 60s), które włączają pompę (Gn CWU - gniazdo w listwie smart).

Przełączniki i listwa na Tasmocie, komunikacja wifi - mqtt.

Warunki dla skryptu (blockly, lua, dzvents):

- czas działania 5 - 23 godz. (nie wiem jak to ogarnąć w blockly, jak zablokować uruchamianie pompy  w nocy - urządzenie uruchomia urządzenie),

- włączenie nie częściej niż co 15 min. lub zależność od temperatury (pomiar temp. obiegu przed zasobnikiem),

z góry dziękuję za pomoc 🙂

 
Dodane : 04/09/2023 8:13 pm
Mariusz
(@mariusz-2)
Wpisów: 228
Weteran Donator 2K23
 

Poszukaj na forum, temat był opisywany i jest kilka różnych gotowych skryptów. Ja używałem poniższego 

https://www.smartnydom.pl/forum/domoticz/cyrkulacja-dzvents-z-serii-ktotkie-scripty/#post-23757

Wymaga dodania wirtualnego "selectora" gdzie ustawiasz tryb pracy (wymuszona, stop, auto) i wirtualnego termostatu (gdzie ustawiasz jaka ma być temperatura w określonych godzinach i kiedy ma chodzić a kiedy nie).

 
Dodane : 04/09/2023 9:57 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@jusik wszystko to można ustawić w samej Tasmocie, polecam filmy na moim kanale, można pójść drogą, którą pokazał @mariusz-2

albo próbować prawidłowo poskładać bloczki, masz tu przykład rozbudowany o zakres czasowy

Zrzut ekranu

 

 
Dodane : 04/09/2023 10:04 pm
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 

@mariusz-2, @isom dziękuję za pomoc.

Uruchomiłem skrypt cyrkulacji i wydaje się że działa. Nie mam podłączonego czujnika temp. cyrkulacji, posiłkuję się innym czujnikiem temp., ale tryby działają.

Pociągnąłem też dalej blockly, ale nie działa mi drugi warunek...

Zrzut ekranu z 2023 09 05 20 52 19

czasy są tylko do testów,

jakieś pomysły ? 🙂 

 
Dodane : 05/09/2023 9:11 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@jusik pomysł a raczej rozwiązanie jest jedno, w pierwszym IF ustawiasz zmienną licznik na ciąg znaków i tym znakiem jest 1 , a w drugim warunku sprawdzasz czy ta zmienna ma wartość liczbową = 1 , nigdy jej nie będzie miała i dlatego druga część nie działa.

Zmień ustaw zmienną na 1 tak samo jak masz sprawdz zmienną , bez tych ciapek , zwykły zapis liczbowy

 
Dodane : 05/09/2023 9:45 pm
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 

@isom 

Niestety działa tylko pierwszy if, drugi ma wyłączyć pompę - Gn CWU na dłuższy czas, ale nie działa...

Za "wysokie progi na moje nogi"... 😊 

Zrzut ekranu z 2023 09 05 22 21 50

edit

jeśli są ciapki w logach jest zmiana zmiennej, bez nich nie ma nic w logu.

 
Dodane : 05/09/2023 10:22 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@jusik co do zmiennej to musiałeś ją źle dodać, zobacz sobie skrypt i logi

2
1

 Podkreśliłem zmany zmiennej "lipa"

a tu jak została dodana

3

 

Co Twojego układu, to nie ma on sensu, bo w pierwszym IF wyłączasz Gn CWU po 5 sekundach, w drugim IF sprawdzasz czy jest OFF i jeśli jest OFF to chcesz go ustawić na OFF. Przecież już jest OFF 🙂 To co ma się stać ?

 
Dodane : 05/09/2023 11:14 pm
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 

@isom 

Dodane przez: @jusik

Niestety działa tylko pierwszy if, drugi ma wyłączyć pompę - Gn CWU na dłuższy czas, ale nie działa...

Po 1 if pompa ma się nie włączać przez 15 min. - taki jest zamysł.

Tak masz rację - zmienna miała wartość 1, ale poprawiłem to i nadal  przy 1 if niema nic o zmianie zmiennej.

Trigger'em jest device.

 
Dodane : 05/09/2023 11:44 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @jusik

Po 1 if pompa ma się nie włączać przez 15 min. - taki jest zamysł.

Jak jest taki zamysł i dodatkowym warunkiem jest czas i temperatura tej wody, to nic nie stoi na przeszkodzie, żeby to zrobić blokując załączenie pompy wartością zmiennej licznik.

Na początek sprawdzamy czy temp wody jest ok i czy czas pozwala załączyć pompę, można to zrobić na kilka sposobów, np dodajemy sobie przełącznik wyboru Ciepła / Zimna i ustawiamy go w zależności od temp i czasu.

Pozwoli to uniknąć sprawdzania tych warunków w każdym następnym IF , jak już czas i termometr zmienia nam stan tego przełącznika, zostaje w drugim IF użyć tego przełącznika ( u mnie "Woda").

Sprawdzamy czy oświetlenie jest ON , czy pompa jest OFF, czy woda jest Ciepła i czy zmienna ma wartość =0

Jeśli te warunki są spełnione, włączamy pompę na ustawiony czas, zmieniamy stan zmiennej i ustawiamy jej czas blokady.

Kolejne załączenie pompy będzie możliwe gdy zmienna osiągnie wartość = 0

To chyba tyle, poniżej zrzut jak może to wyglądać

1

 Woda, to przełącznik wyboru z dwoma poziomami 

Zmienna dodana jako liczba całkowita z początkową wartością 0

 

 
Dodane : 06/09/2023 10:10 am
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 

@isom 

Mam Domoticz 2022.1

Doszedłem do tego że zmienna "SET- VAR  = 1 after 1 seconds" nie działa, zmienna się nie zmienia... 😆 ,

czyli 2 ostatnie polecenia nie działają.

Jeśli użyję "SET - VAR = 1" to jest ok.

A jak użyć "SET - VAR = 0" ze zmianą po czasie ?

 

ps. jak tak dalej pójdzie to będzie wpis : "Jak pożegnałem Domoticza" 😜 

 
Dodane : 06/09/2023 4:17 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @jusik

Doszedłem do tego że zmienna "SET- VAR  = 1 after 1 seconds" nie działa, zmienna się nie zmienia... 😆 ,

czyli 2 ostatnie polecenia nie działają.

Jeśli użyję "SET - VAR = 1" to jest ok.

Różnica między tymi poleceniami jest tylko taka, że w pierwszym przypadku zmiana ma nastąpić sekundę później niż w wersji drugiej.

Jest to zalecane z różnych względów, o których tu nie będę pisał. Natomiast wiem, że wersja Domoticz nie ma tu nic do rzeczy, ponieważ takie zależności robiłem kilka lat temu, kiedy wersje były dużo starsze niż 2022.1

Na forum są przykłady np Przycisk wielofunkcyjny i tam stosowałem takie ustawienia zmiennych. Dlaczego to u Ciebie nie działa nie mam pojęcia, bo nie mam szklanej kuli, żeby podejrzeć. Ostaniego zdania nie będę komentował, bo skoro zniechęcają Cię takie drobne niepowodzenia, to widocznie automatyka i smart dom nie są dla Ciebie. Domoticz i blockly to chyba najprostsza metoda tworzenia automatyzacji, w innych platformach może być tylko trudniej.

Może zacznij od prostej zmiany zmiennej po zmianie stanu dowolnego przełącznika i jak to się uda z ustawieniem opóźniena zmiany tej zmiennej to dokładaj kolejne warunki. 

 
Dodane : 06/09/2023 5:11 pm
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 

No nic, jak się pisze program po wyglądzie , a nie po funkcjach... na zrzutach tego nie widać... eh szkoda gadać... 😊  nawet w logach jest co powinno...

@isom 

Wielkie dzięki za pomoc 👍 🍺 🍺 

linuxa używam jak jeszcze internet był po modemach, po telefonie... a klocki by mnie mało nie położyły... 😀 

jak to mówią uczysz się całe życie... itd...

Ten wpis powinien być podpięty jako sztandarowy przykład dla poczatkujących w blockly.

 
Dodane : 06/09/2023 7:10 pm
(@josifkami)
Wpisów: 6
Bywalec
 

Zmienne użytkownika w domoticzu  nie działają. Coś tam brakuje.

 
Dodane : 08/09/2023 8:09 pm
(@jusik)
Wpisów: 69
Kontrybutor
Autor tematu
 

@josifkami 

Dziwne, bo mi działają:

2023-09-08 21:21:18.395 Status: Set UserVariable licznik = 1
2023-09-08 21:35:19.377 Status: Set UserVariable licznik = 0

i chodzi dokładnie o przypadek w którego temacie piszesz.

W poście nad twoim napisałem takie zdanie:

Dodane przez: @jusik

No nic, jak się pisze program po wyglądzie , a nie po funkcjach... na zrzutach tego nie widać... eh szkoda gadać... 😊  nawet w logach jest co powinno...

Ten wpis powinien być podpięty jako sztandarowy przykład dla poczatkujących w blockly.

Przeczytaj temat jeszcze raz i  zwróć uwagę ile informacji przekazałem w  postach, a potem rozwiń swoje "złote myśli"...

W tym o czujnikach i rs485 też...

 
Dodane : 08/09/2023 9:55 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @jusik

W tym o czujnikach i rs485 też...

Może o tych czujnikach, to nie w tym wątku, bo się zrobi bałagan, natomiast co do zmiennych zawsze działały i nadal działają. Nie wiem skąd kolego @josifkami  masz takie informacje ? Chyba , że z własnych niepowodzeń w ich wykorzystywaniu.

 
Dodane : 08/09/2023 10:20 pm
(@josifkami)
Wpisów: 6
Bywalec
 

Bloczki są super i działają. Wymagają tylko podejścia. Zmienne użytkownika nie działają, nie przekazują swojej wartości do zmiennych domoticza. Ktoś nazwał je zmiennymi pomocniczymi. Potwierdzone na elektrodzie i youtube. Co mam udostępnić domoticza aby to zaprezentować?

 
Dodane : 08/09/2023 11:36 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @josifkami

Co mam udostępnić domoticza aby to zaprezentować?

Wystarczy krótki opis, najlepiej z wyjaśnieniem co to są zmienne domoticza. Zmienne użytkownika można nazwać pomocniczymi, bo można z nich korzystać żeby uprościć sobie życie, np aktualizując zmienną "Pora dnia" w jednym skrypcie na podstawie aktualnego czasu, można taką zmienną wykorzystać w wielu innych skryptach, do aktywowania zdarzeń. O zmiennych domoticza nie słyszałem i chętnie się dowiem co to. Zmienne użytkownika ( UserVariables), tworzymy w samym domoticz i ich wartości są zapisywane w bazie danych, a jak to wygląda z tymi zmiennymi domoticza, o których nie słyszałem ?

 
Dodane : 09/09/2023 9:01 am
Udostępnij: