[Domoticz] Przełącz...
 
Powiadomienia
Wyczyść wszystko

[Domoticz] Przełącznik wyboru do wyboru sceny.

6 Wpisów
2 Użytkownicy
0 Reactions
4,825 Wyświetleń
(@fb_-janmatuszak)
Wpisów: 12
Praktykant
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
 
[#839]

Cześć wszystkim! No nareszcie już trochę sprzętu mam, czas go rozgryźć! 

Mój zestaw, Raspbery Pi 3B+, Domoticz, Mosquito, NodeMCU + 4 przekaźniki (na tą chwilę) 

Stworzyłem sobie wirtualne przełączniki do każdego z osobna. Mam przełącznik p1, p2, p3, p4 który wyzwala odpowiedni stan na przekaźniku 1,2,3,4. Logiczne 🙂 

Chciałbym jednak osiągnąć 2 zamiary bezpośrednie. 

Pierwszy zamiar jest taki. Aby móc sterować odpowiednio przełącznikiem wyboru i odpowiednio:

dla Level0 => p1,p2,p3,p4 = OFF,

dla Level1 => p1=ON & p2,p3,p4 = OFF,

dla Level2 => p2,p3 = ON & p1, p4 = OFF

dla Level3 => p1,p4 = ON & p2, p3 = OFF

Jak mam to zrobić, naprawdę nie wiem. 

 

Drugim zamiarem bezpośrednim jest dodanie fizycznego przycisku (monostabilnego), który będzie przełączał się odpowiednio: 

z Level 0 na Level1, z Level1 na Level2, z Level2 na Level3 itd... ale również, dłuższe przyciśnięcie w dowolnym momencie powoduje Level0 czyli wszystko na 0


 
Dodane : 15/03/2019 6:02 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
 

@fb_-janmatuszak ambitny plan jak na początki 🙂 ale ok jak to zrobić ? Można to zrobić na kilka sposobów ale chyba najprostszy i dość uniwersalny bo można go wykorzystać do przełączników wirtualnych opartych na GPIO samej maliny, będzie skrypt  bash.

Podam przykład dla trzech przełączników gdzie dwa są włączane a jeden wył , przełączniki o IDX 50, 51, 52 

Logujesz się przez ssh i edytujesz swój skrypt czyli 

sudo nano scena1.sh

"scena1" to dowolna nazwa skryptu , która nie ma nic wspólnego z przełącznikami możesz nazwać jak chcesz  do pustego okna wklejasz to co poniżej 

#!/bin/bash
curl "http://192.168.x.xxx:8084/json.htm?type=command&param=switchlight&idx=50&switchcmd=On"
curl "http://192.168.x.xxx:8084/json.htm?type=command&param=switchlight&idx=51&switchcmd=On"
curl "http://192.168.x.xxx:8084/json.htm?type=command&param=switchlight&idx=52&switchcmd=Off"

Oczywiście adres IP to adres Twojej maliny i port taki jak masz ustawiony , IDX musisz odczytać ze swoich przełączników

Zapisujesz wciskając Ctrl + X  i  ENTER

Nadajesz prawa wykonalności 

sudo chmod +x scena1.sh

i sprawdzasz 

./scena1.sh

Jak dostaniesz status OK dla wszystkich komend to jesteś w domu

Potem do przełącznika wyboru w miejscu "Akcje wyboru" np dla poziomu 10 wstawiasz 

script:///home/pi/scena1.sh

I masz dla poziomu 10 przełącznika załączenie dwóch i wyłączenie jednego przełącznika 

 

Drugi  twój zamiar mogę opisać w temacie zdarzeń domoticza Blockly 

 


 
Dodane : 15/03/2019 10:13 pm
(@fb_-janmatuszak)
Wpisów: 12
Praktykant
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
 

Hm.... bardzo fajne rozwiązanie, ale..... co jeśli przekaźniki podpięte są do ESP? (NodeMCU na wersji ESP-12F)

Czy skrypt można przerobić na: 

#!/bin/bash

curl "http://ip_esp/contorl?cmd=GIPIO,NUMER_PINU,Stan_Pinu"

curl "http://ip_esp/contorl?cmd=GIPIO,NUMER_PINU,Stan_Pinu"

curl "http://ip_esp/contorl?cmd=GIPIO,NUMER_PINU,Stan_Pinu"

Do obsługi ESP -> wrzuciłem esp-easy mega, dzięki czemu raportuje on do Domoticza stan aktualnego pinu. 


 
Dodane : 16/03/2019 2:06 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
 

Przy tym rozwiązaniu które zaproponowałem nie ważne do czego są podpięte przekaźniki , ponieważ skrypt wykorzystuje IDX urządzenia więc czy to będzie GPIO 2 czy 12 nie ma znaczenia . Jeżeli użyjesz w skrypcie komend dla softu espeasy czyli 

http://192.168.x..xxx/control?cmd=GPIO,x,1

http://192.168.x..xxx/control?cmd=GPIO,x,0

to też oczywiście będzie działać , ale nie zadziała już dla GPIO wykorzystanego bezpośrednio z RBPi , lub z softem AFE wgranym do tego samego modułu .

Teraz pomyśl jak rozbudujesz system i nagle zapragniesz zmienić soft a skrypty tego softu nie obsłużą , to musisz oprócz zmiany oprogramowania edytować wszystkie skrypty . Sposób który zaproponowałem zadziała z każdym softem 


 
Dodane : 16/03/2019 6:04 pm
(@fb_-janmatuszak)
Wpisów: 12
Praktykant
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
 

Hm.... mamy to już za sobą, bardzo prosto tworzy się zdarzenia w Domoticz. Wybór odpowiedniego poziomu na przycisku już rozwiązałem. Pacz screen poniżej. Pozostaje teraz temat, wykrycia stanu pinu do którego przypniemy włącznik mono stabilny. Może jakieś podpowiedzi?  

54255280 10211047940353519 4284666207782567936 n

 
Dodane : 16/03/2019 9:11 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
 

@fb_-janmatuszak skoro tak dobrze sobie radzisz to masz tu trzecią możliwość , sceny tworzy się równie prosto jak zdarzenia a można dodatkowo zarządzać czasem załączenia poszczególnych przekaźników. 

Sceny
A co do podpowiedzi o którą prosisz 
W domoticzu można tworzyć sobie zmienne użytkownika, taka zmienna może być liczbą całkowitą , datą , ciągiem znaków itd...
tworząc zmienną z liczbą całkowitą można utworzyć zdarzenie , które będzie tą zmienną zwiększać o 1 po załączeniu przycisku.
Czyli tworzymy zmienną z wartością 0 i zdarzenie
"Jeżeli przycisk = ON i zmienna = 0
 Włącz Poziom 1 i ustaw zmienną na 1
Jeżeli przycisk = ON i zmienna =1
Włącz Poziom 2 i ustaw zmienną na 2 "  itd...

 
Dodane : 16/03/2019 11:58 pm
Udostępnij: