nie , tutaj suwakiem też moge sobie suwać i nic z tego.
Edit:
przesuwam, klikam wywołaj usługę i cisza.
nie , tutaj suwakiem też moge sobie suwać i nic z tego.
Edit:
przesuwam, klikam wywołaj usługę i cisza.
A wybierasz odpowiednią żaluzję ?
Po mqtt ?
Wejdź w Ustawienia → Urządzenia oraz usługi kliknij w MQTT
KONFIGURUJ
topic
nazwą swojej żaluzji, i wpisz tak jak na rysunku
zigbee2mqtt/Ster_z_zaluzje/set
{
"position": 11
}
pozbyłem się spacji w nazwach, wykonałem te kroki w Z2M jak pokazałeś powyżej kliknąłem “opublikuj” i cisza.
Serio, chyba mam te przełączniki jakieś wybrakowane… trochę działają ale nie tak jak deklarują.
dziwne jest to, że nie rzuca jakoś błędem tylko po prostu nie reaguje. dziwne jest, że zawsze trzyma stan “open” nawet kiedy jako ostania akcja było “close”.
To typowe objawy problemów z zasięgiem sieci Zigbee lub jego stabilnością, nie wiem jakiego koordynatora używasz ale poziom sygnału nie należy do “najwyższych”:
To akurat może sugerować, że moduł jest wspierany w Z2M ale jego wsparcie dotyczy “starego sprzetu” (starego hardware/firmware), prawdopodobnie masz nowy moduł z nowymi podzespołami i są różnice co objawia się takimi efektami w działaniu. Tak się zdarza, sam tego doświadczyłem, do tej pory nie udało się rozwiązać wsparcia dla nowych ściemniaczy OTX mimo, że są poprawnie wykrywane w Z2M, o dziwo z bramką TuYa działają poprawnie, w ZHA także poprawnie a w Z2M d…pa , tak niestey to bywa z Zigbee.
koordynator jest dobry i raczej nie ma tu z nim problemu. Żaluzja nie łączy się bezpośrednio do niego tyko skacze przez inne elementy, czasem ma 27 a czasem 80, zależy kto gdzie chodzi po domu, nie wiem… co jest włączone itd.
sam domek też jest większy niż mieszkanie w bloku i ma kondygnacje. Wiem do czego zmierzasz, bo miałem taki graniczny zasieg do jednego z grzejników i czasem działał jak chciał ale doszło kilka switchy w gniazdkach gdzieś po drodze i pięknie sie ustabilizowało.
No nic, jak to z Zigbee bywa czasem trzeba poczekać więc wrócę z prośbą o pomoc w zbudowaniu skryptu NR z pauzą czasową poomiędzy uruchomieniem opuszczania a zatrzymaniem opuszczania. Coś nie mogę tego ułożyć żeby mi zadziałało.
A komendy Open | Close działają w NR?
tak, mogę poprzez NR uruchomić ruch żaluzji w wybranym kierunku ale potem musze wydać kolejną komendę “stop” jeżeli nie chcę aby doszły do krańcówki.
Odczytam w NR position również prawidłowo, jedynie pomimo podpowiedzi kolegów tutaj wariant uruchomienia do zadanej wartości position nie rzucając błędu, teoretycznie wysyłając tą komendę nie ruszy jednak żaluzji.
Jeżeli pozycja nie działa w usługach HA to nie będzie działać też w NR.
Możesz utworzyć sobie pomocników w HA typu input_button.100
pozycja np. 10 20 30 itd.
Karta HA
Reszta w NR
Po wciśnięciu przycisku w HA
Żaluzja zacznie przemieszczać się w wybranym kierunku, następnie zatrzyma się po zadanym czasie w
Kod:
[{"id":"7667a88ea78f5ab6","type":"switch","z":"6d8bd611fc040349","name":"Opening | Closing","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"opening","vt":"str"},{"t":"eq","v":"closing","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1030,"y":240,"wires":[["e79790574d88f8d0","8a28f80f1a472bed"],["5f30aeff9fa73fa0","3c8121b45a4cee42"]]},{"id":"191d95aca9c57b27","type":"server-state-changed","z":"6d8bd611fc040349","name":"","server":"1be24b09.4dad55","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"cover.ster_z_zaluzje","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":760,"y":240,"wires":[["7667a88ea78f5ab6"]]},{"id":"5f30aeff9fa73fa0","type":"delay","z":"6d8bd611fc040349","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1240,"y":280,"wires":[[]]},{"id":"e79790574d88f8d0","type":"delay","z":"6d8bd611fc040349","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1240,"y":180,"wires":[[]]},{"id":"8a28f80f1a472bed","type":"debug","z":"6d8bd611fc040349","name":"debug 34","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1040,"y":100,"wires":[]},{"id":"3c8121b45a4cee42","type":"debug","z":"6d8bd611fc040349","name":"debug 35","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1080,"y":360,"wires":[]},{"id":"4f7939c2cb95084c","type":"server-state-changed","z":"6d8bd611fc040349","name":"","server":"1be24b09.4dad55","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_button.100","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":570,"y":540,"wires":[["dbf538aba77dda79","b4bfde1e626e79fd"]]},{"id":"d827dd8342577131","type":"server-state-changed","z":"6d8bd611fc040349","name":"","server":"1be24b09.4dad55","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_button.50","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":590,"y":620,"wires":[["717c5f3ebbab5188"]]},{"id":"717c5f3ebbab5188","type":"delay","z":"6d8bd611fc040349","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":820,"y":620,"wires":[[]]},{"id":"dbf538aba77dda79","type":"delay","z":"6d8bd611fc040349","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":800,"y":540,"wires":[["49fda9f66552d7c4"]]},{"id":"b4bfde1e626e79fd","type":"api-call-service","z":"6d8bd611fc040349","name":"","server":"1be24b09.4dad55","version":5,"debugenabled":false,"domain":"cover","service":"close_cover","areaId":[],"deviceId":[],"entityId":["cover.ster_z_zaluzje"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":870,"y":480,"wires":[[]]},{"id":"49fda9f66552d7c4","type":"api-call-service","z":"6d8bd611fc040349","name":"","server":"1be24b09.4dad55","version":5,"debugenabled":false,"domain":"cover","service":"stop_cover","areaId":[],"deviceId":[],"entityId":["cover.ster_z_zaluzje"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1070,"y":560,"wires":[[]]},{"id":"1be24b09.4dad55","type":"server","name":"Home Assistant_2022","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]
delay
musisz dopasować do pozycji którą chcesz osiągnąć.
Bez sprawdzania pozycji tej żaluzji, wszystko będzie tylko protezą, ale można użyć zamiast przycisków “100”, “50”, pomocnika input_number i znając czas całego cyklu, zrobić coś na zasadzie suwaka, gdzie każda pozycja odzwierciedla czas pracy, po którym następuje stop.
Zasada jest prosta, ustawienie 5 jest nadpisywane w msg.delay i taki czas w sekundach pracuje silnik.
Przykładowy flow poniżej, ale nie należy go traktować jako gotowca.
no i fajny pomysł!
na razie zrobiłem testowo scenariusze na 10 sekund w górę i 10 sekund w dół.
działają.
Teraz jest jeszcze utrudnienie. WREDNE.
to są żaluzje fasadowe, więc posiadają łopaty ( takie 10 cm szerokości) kiedy żaluzja jedzie do góry zawsze jedzie na łopatkach ustawionych poziomo (czyli pełny prześwit) , kiedy jedzie w dół zawsze jedzie na żaluzjach ustawionych w pion ( czyli zero prześwitu) . Dowcip jest taki, że puszczając żaluzje do góry z pozycji łopat w pionie silnik pierwsze kilka sekund powoli obraca łopatami aż do ustawienia ich w poziom i wówczas dostaje speeda i ciągnie je w górę już szybciej.
Analogicznie kiedy z otwartych łopat jedziemy w dół… kilka pierwszych sekund silnik powoli przestawia je do pionu i rusza z kopyta potem w dół.
muszę porobić warianty, które będą posiadały jakoś informacje o ostatnim ustawieniu czyli czy żaluzja jechała w górę ostatnio czy w dół i czy więcej niż 5 sekund ( tyle mniej więcej trwa obrót łopat) i wówczas miałbym info czy łopaty są otwarte w danej pozycji czy zamknięte.
chyba chaos tu zrobiłem z tym opisem ale może ktoś ogarnie z czym się mierzę
testowo poukładałem to tak.
Powodzenia na polu walki.
Skoro suwak położenia (pozycja) się zmienia to można ją cyklicznie odczytywać (?).
Wtedy start/stopem da się sterować do wyznaczonej pozycji.
Zrób próbę dla Twojej żaluzji - debug ustaw na complete msg object
… następnie uruchom żaluzje i podczas ruchu sprawdź co dostajesz
HA może filtrować i nic możesz nie zobaczyć, lepiej byłoby to sprawdzić w MqttExplorer.
Jeszcze lepiej to w NR zacznij używać
Będzie Ci łatwiej
zrobiłem ten test.
jest tak, że kiedy puszczę co sekundę badanie stanu to wraca mi ciągle ta sama wartość, pomimo, że żaluzja pojechała dalej.
w moich skryptach robie delay i pobieram pozycję i wówczas pojawia się już zaktualizowana.
Ale nie wiem czy to przez delay czy przez to, że wcześniej poszło stop i ruch się zatrzymał.
Nie umiem tego sprawdzić w MqttExplorer bo nigdy tego komponentu nie uzywałem…
Zrobiłem dopisek - gdybyś nie zauważył
tak, juz doinstalowałem, widze dodatkowe nody na liście i teraz kombinuję co z tym dalej robić może mnie olśni
trochę tak na czuja lecę
na codzień w bazach danych siedzę i moim językiem SQL, a to wygląda jak coś co miałem naście lat temu do Lego NTX
tyle, że sie musze naumieć
pytanie, bo tam w nodzie od mqtt musze podać serwer mqtt i nie mam go na liście rozwijanej. Jak toto odszukać i tam dodać?
ok, czyli definiuję.
user i password też tutaj definiuję? czy to sie podaje z ustawień w innym miejscu? bo jechałem kiedyś z jakiegoś kreatora jak stawiałem HA a potem to już zawsze z backupów , nie pamiętam jak to leciało
Jeśli Mqtt masz jako dodatek to IP jest takie same jak HA a dane logowania chyba można odczytać z konfiguracji. To są te same dane jak przy konfiguracji zigbee. Nie mam jak Ci tego pokazać.