Powiadomienia
Wyczyść wszystko

Xiaomi xiaomi aqara cube tap_twice w domoticz - co robię nie tak problem ze skryptem Domoticz / Blockly

gregaicha
(@gregaicha)
Stażysta

Czy ktoś mi może powiedzieć co robię nie tak.

Chwiałbym sterować podwójnym kliknięciem kostką tak żeby jak światło w salonie jest włączone to się wyłączyło i na odwrót jak jest wyłączone to się włączyło

 

Teraz jest taki objaw jak stuknę dwa razy to wpada w pętle i z niej nie wychodzi.

blockly
Cytuj
Autor tematu Dodane : 15/01/2020 10:54 pm
Tagi tematu
bartolomeo
(@bartolomeo)
Brygadzista

Spójrz na ostatni przykład na tej stronie https://www.domoticz.com/wiki/Blockly gdzie masz przykład skryptu toggle w blockly. Wydaje mi się, że musisz wkomponowac sobie jakąś zmienną, która będzie przechowywała zmieniony w poprzedniej iteracji status przełącznika, tak aby skrypt się nie zapętlał. ... Pewnie da się to też na kilka innych sposobów rozwiązać.

OdpowiedzCytuj
Dodane : 16/01/2020 7:19 am
mirmil99
(@mirmil99)
Brygadzista
Dodane przez: @gregaicha

 

Teraz jest taki objaw jak stuknę dwa razy to wpada w pętle i z niej nie wychodzi.

 
sprobuj moze dodac do kazdego "do" dodac jeszcze jeden set, np:
 
(set "aqara cube" = "level%" "0" after "1" ) , oczywiscie level% 0 definiuje off
 
i moze jednak wykorzystaj dwa rozne ruchy kostki, wtedy uprosci sie calosc

 

OdpowiedzCytuj
Dodane : 16/01/2020 2:24 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@gregaicha to co zasugerował @bartolomeo to bardzo dobre rozwiązanie , skrypt wpada w pętlę bo za każdym razem zostają spełnione warunki do zmiany stanu przełącznika. Wystarczy jedna zmienna i będzie ok. 

OdpowiedzCytuj
Dodane : 16/01/2020 7:42 pm
gregaicha
(@gregaicha)
Stażysta

@bartolomeo

@isom twierdzi że to dobry pomysł tylko nie za bardzo wiem co mam zrobić czy mam wprowadzić jakąś zmienną i ja wyzerować na końcu. No i czy w tedy w warunku sprawdzać cy ta zmienna nie jest równa 0.

Rozumiem chyba dlaczego on się zapętla bo zmienna

ma kilka właściwości i tap_twice zostaje do momentu kiedy nie wykonam czego innego  

nie wiem jak ograniczyć skrypt żeby wykonał się tylko raz na zmianę właściwości 

 

 

cube
OdpowiedzCytuj
Autor tematu Dodane : 16/01/2020 10:18 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

To że  tap_twice zostaje nie ma znaczenia , utwórz w domoticz zmienną nazwa dowolna , typ liczba całkowita i na podstawie tego co wstawiam przerób sobie swój skrypt 

kostka
 
OdpowiedzCytuj
Dodane : 16/01/2020 10:32 pm
gregaicha
(@gregaicha)
Stażysta

@isom

rozumiem prawi wszystko oprócz 

"set flip =1 after 1 sec"

domyślam się że ustawiam flip na wartość 1 po 1 sekundzie (chyba)?? 

ale dlaczego po 1 sekundzie 

 

 

OdpowiedzCytuj
Autor tematu Dodane : 16/01/2020 10:39 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

flip to nazwa zmiennej , która ma się zmienić po 1 sekundzie od stuknięcia u Ciebie ta zmienna może się nazywać jak chcesz , do pełni szczęścia ustaw sobie selektor tak żeby po dwóch sek zawsze  wracał na OFF tak jak zaznaczyłem na czerwono 

kostka 1
 
opóźnienie jest po to żeby wyeliminować w 100% możliwość zapętlenia 
OdpowiedzCytuj
Dodane : 16/01/2020 10:46 pm
gregaicha
(@gregaicha)
Stażysta

działa 

kostka dziala
 
dziękuję za pomoc
 
OdpowiedzCytuj
Autor tematu Dodane : 16/01/2020 11:03 pm
Udostępnij: