Asystent AI
Powiadomienia
Wyczyść wszystko

Flow switch czujnik przepływu

50 Wpisów
2 Użytkownicy
9 Reactions
2,470 Wyświetleń
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#5801]
fs1
fs2

Witam. Prośba o pomoc. Próbuję stworzyć w domoticzu skrypt pozwalający awaryjnie wyłączyć agregat pompy w sytuacji braku przepływu. Stworzyłem do tego przycisk "switch". Polega on na włączeniu guzika micro switch na jedną sekundę i "puszczenie" go. No i problem. Bo program wykonuje w kółko to zdarzenie, a ja chcę, żeby zrobił to tylko raz. Jak to zrobić ?


 
Dodane : 18/01/2024 1:47 am
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@geoterm proponuję dodać sobie w domoticz takiego pomocnika, który się nazywa zmienna użytkownika, ustawiasz sobie dowolną nazwę, typ liczba całkowita i ustawiasz ją na 0.

W bloczkach robisz IF V1 < 5 and Pel > 100 and zmienna = 0 

SET zmienna = 1 po 20 sek 

ELSEIF V1 < 5 and Pel > 100 and zmienna = 1

SET  micro switch ON

ELSEIF V1 > 5 and Pel > 100 

SET zmienna = 0

Dzięki temu uzyskasz 20 sekundowe opóźnienie wyłączenia, na wypadek krótkotrwałego braku przepływu


 
Dodane : 18/01/2024 11:01 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
flow switch

Zrobiłem -  dzięki za konkretną odpowiedź. 

Jednak coś nie hula jeszcze. Coś nie działa. 

W logach :

EventSystem: Event triggered: Flow Switch_3
 

 
Dodane : 19/01/2024 1:51 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Pierwszy odczyt przepływu ustawia zmienną licznik na 1 po 10 sek , drugi odczyt włącza on/off i ustawia zmienną na 2 , odczyt przepływu większy niż 5 ustawia zmienną na 0. Sprawdzone na zwykłym przełączniku ON/OFF z opóźnieniem wyłączenia 1 sek .

1

 Nie wiem co to jest "pel" , ale to nie ma znaczenia, po jego dodaniu też powinno działać


 
Dodane : 19/01/2024 8:40 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

"P el" to jest moc elektryczna w Watach rzeczywista chwilowa jaką pobiera pompa ciepła w danej chwili. Widzę, że jest bez przecinków " " może u mnie też ma być bez przecinków.  


 
Dodane : 19/01/2024 8:44 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Taka myśl mi przyszła, żeby zmienić jedną z wartości na >= aby wartość 5 była też brana pod uwagę. 


 
Dodane : 19/01/2024 10:22 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Dodane przez: @geoterm

Taka myśl mi przyszła, żeby zmienić jedną z wartości na >=

Masz to w moim przykładzie przecież 


 
Dodane : 19/01/2024 10:30 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Już wiem o co chodzi. ALe to jest głupie :).Brakowało mu w 3 linijce warunku z wyłącznikiem off. Jeśli daję mu warunek w 2 linijce z on to muszę  dać warunek i na off. Działa :)!!

Zrzut ekranu 2024 01 20 001518

 


 
Dodane : 20/01/2024 1:17 am
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
działa

 To skumałem już w końcu.

1 linijka : Czyli jeżeli temperatura spadnie poniżej lub =  20 * i zmienna =0 to zmień zmienną na 1.

2 linijka : jeżeli temperatura spadła poniżej 20 *C i zmienną zmieniłeś na 1 to włącz przekaźnik, który wyłączy agregat.

3 linijka jeżeli temperatura wróci do normy czyli >20*C i zmieniłeś zmienną na 1 to wyłącz przekaźnik, wyłączający pompę. 

I do tego momentu jest spoko. Natomiast problem się pojawia taki:

Ustawiłem sobie włącznik z wyłączaniem czasowym 1s. Czyli druga linijka ciągle mi załącza przekaźnik i jest choinka, a ja chcę, żeby zrobił to tylko raz, a on jest uparty bo mu kazałem włączyć, no to włącza. Ta funkcja jest mi potrzebna bo to jest reset pompy ciepła. Czyli przycisk musi być  wciśnięty nie ciągle, ale tylko na 1 sekundę i puszczony- jak dzwonek. W przypadku powrotu warunku normalnego też ma ten przycisk wcisnąć na 1 sekundę. Może muszę zastosować jakiś pośredni przekaźnik, który z jednej strony będzie zapięty na stałe a z drugiej po takmi zapięciu albo rozpięciu da jeden impuls (tylko, że dobrze by było, żeby ten impuls trwał z jedną sekundę). A może jakiś inny rodzaj włącznika muszę wybrać ?

Zrozumiałem, że ten system opcję off wykonuje raz, natomiast on jest uparty i do skutku, ciągle. Jesli bym odwrócił logikę, to włączy mi raz, ale będzie wyłączał ciągle. 


 
Dodane : 20/01/2024 1:36 am
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@geoterm tak szczerze, to niewiele zrozumiałeś i nic nie jest głupie, tylko właściciel systemu ma problem ze skopiowaniem gotowego przykładu. Co się dzieje ze zmienną w drugiej linii kodu w moim przykładzie? Czy nie przyjmuje czasem wartości 2 tak żeby już nic się nie włączało w pętli ?

Po drugie, skoro chcesz przycisk to ustaw w samym esp PulseTime dla tego przekaźnika, albo w samym blockly taki układ

1

wtedy w obu przypadkach włączy tylko na sekundę.

Po trzecie przy warunku temp > 20 , też trzeba pomyśleć co zrobić z wartością zmiennej żeby nie klepało przy każdym odczycie temperatury, ale to już zostawię do skumania 🙂 Dodam tylko że rozwiązanie jest dość proste.


 
Dodane : 20/01/2024 8:30 am
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
image

Zrobiłem tak i działa . Dziękuję za wskazówki . Zmodyfikuje  jeszcze ten układ  o ten puls time w esp . 


 
Dodane : 20/01/2024 12:19 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
FS11

Tak wygląda moja aktualna wersja skryptu FS już dla PC. Mam pytanie i mały problem. Problem się pojawia w 1 linijce gdy urządzenie zostało włączone powtórnie (ręcznie-bo takie jest założenie-domoticz odstawia agregat, a ja musze pójść zobaczyć co się dzieje i go od nowa włączyć). Zatem włączam i realizuje się 3 linijka czyli pojawia się przepływ >3l/min  ^ Pel>100W ^ zmienna FS=2 => zmienia zmienną FS na "0" i lądujemy w 1 linijce. I tu jest problem bo nie przęłącza zmiennej z "0" na "1". I to jest dla mnie nielogiczne. Nie rozumiem go o co mu chodzi. 

Kiedy zrobię następującą operację dopiero zmieni zmienna FS z 0 na 1 czyli : zamknę zawór za pompą obiegową PC raz, otworzę i drugi raz zamknę i wtedy odstawia agregat. Ale powinien zrobić to już za 1 -szym razem zamknięcia zaworu,  a nie dopiero za 2. Innymi słowy. Odstawia agregat nie po 10 sekundach ale od razu. Jak zamknę zawór liczę 10 sekund i dopiero wtedy powinien odstawić agregat. Proszę o pomoc. 


 
Dodane : 21/01/2024 12:12 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Dodane przez: @geoterm

I tu jest problem bo nie przęłącza zmiennej z "0" na "1". I to jest dla mnie nielogiczne.

A dlaczego ma zmienić wartość zmiennej na 1 skoro przepływ jest > 3 , zmieni dopiero gdy przepływ będzie mniejszy lub równy 3 + moc będzie powyżej 100W + minie 10 sek


 
Dodane : 21/01/2024 1:07 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

No ma zmienić zmienną z 0 na 1 bo zadałem mu to czyli:

zamknąłem zawór na dłużej niż 10 sekund (czyli V<3 l/min ^moc>100W^ t>10s)  <=> zmień zmienną z 0 na 1. 


 
Dodane : 21/01/2024 1:11 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

żeby to działało musi być zrobione tak:

1. trzeba zamknąć zawór za pompą obiegową  na dłużej niż 10 sekund -  i to zmienia zmienną z 0 na 1,

i teraz mamy układ aktywny

teraz jeśli zamkniemy zawór na choćby jedną sekundę - odstawia agregat natychmiast, czyli źle.

On ma odstawiać agregat po każdorazowym zamknięciu zaworu na dłużej niż 10 sekund. 


 
Dodane : 21/01/2024 1:24 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Chyba już powoli kapuje 🙂


 
Dodane : 21/01/2024 1:43 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@geoterm  generalnie nie wiem po co ten trzeci elseif, skoro i tak musisz pójść sprawdzić i włączyć. Po wyłączeniu przez skrypt w drugim else dodaj zmianę zmiennej na 0 po 10 sek i już.

Teraz gdy system sam wyłączy zostawia zmienną na 2 , ty włączasz ręcznie i po spełnieniu V>3 itd , w pierwszej kolejności następuje zmiana zmiennej na 0 i dopiero przy następnym cyklu zmiana na 1.

 


 
Dodane : 21/01/2024 1:58 pm
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
fs3

działa, dziękuję. 


 
Dodane : 22/01/2024 2:20 am
geoterm
(@geoterm)
Wpisów: 200
Pomocny
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
fs dodajmy opoznienie

Czy da się zrobić tak, żeby druga linijka była realizowana dopiero wtedy i tylko wtedy gdy V1<3 l/min ale gdy taki stan będzie trwał dłużej niż 10 sekund ?


 
Dodane : 22/01/2024 12:07 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Ta druga linijka jest realizowana po spełnieniu pierwszej, która jest identyczna a w tej pierwszej regulujesz czas zmiany FS.

10 minut, o których piszesz nijak się ma do tego skryptu, chyba że po zamknięciu zaworu nie wszystkie warunki zostają spełnione.

Ja jak miałem problemy z tak prostymi skryptami, to zaczynałem je rozkładać na czynniki i dopiero jak działała jedna część dokładałem kolejne. Ja bym zrobił sobie wirtualny włącznik nazwany test, wywalił sprawdzanie mocy i ustawił włączanie tego test gdy V1<3 a wyłączanie gdy V1>3. Jak to będzie działać dodajemy zmienną i czas , znów sprawdzamy i jak działa z opóźnieniem dodajemy moc.

Za pomocą tego przełącznika test wyeliminujesz błędy, które mogą wynikać np z nie wysłania polecenia do przycisku w esp itd.

 


 
Dodane : 22/01/2024 1:12 pm
Strona 1 / 3
Udostępnij: