Asystent AI
Switch case do ster...
 
Powiadomienia
Wyczyść wszystko

Switch case do sterowania scenami

4 Wpisów
3 Użytkownicy
0 Reactions
1,672 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
 
[#790]

Cześć wszystkim. Mój ESP-12E i cały zestaw zamówiony na Alliexpress na próby jest coraz bliżej, ja trochę, zwiększyłem zasób swojej wiedzy i małymi krokami zbliżam się do rozpoczęcia przygody ze sterowaniem wszelkimi urządzeniami w domu. 

Pierwszym projektem który chciałbym osiągnąć jest to aby za pomocą przycisku dzwonkowego (monostabilnego) sterować odpowiednimi scenami w OH. 

Domyślnie dla każdego z pomieszczeń chciałbym zrealizować odpowiednio sceny: OFF, Światło główne, światło główne + dekoracyjne, światło główne + dekoracyjne + światło poboczne, światło dekoracyjne+poboczne, światło dekoracyjne

Moje pytanie jest takie, czy ktoś z was realizował coś podobnego i chciałby podzielić się kodem funkcji która: za pomocą funkcji switch case zmienia wybór sceny, a dłuższe np. 2 sek naciśnięcie przycisku spowoduje powrót do sceny OFF. 

Czyli 0 - OFF, 1 - światło główne, 2 - światło główne + dekoracyjne itd.... długie przytrzymanie przycisku = OFF przy każdej konfiguracji.


 
Dodane : 23/02/2019 11:58 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
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
 

Wyjeżdżam na 4 dni - jak nikt nie odpowie to podsunę Ci pare pomysłów jak wrócę. 

Wnioskuje ze openhab ?


 
Dodane : 24/02/2019 12:56 am
(@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
 

Witam. Dziękuję za zainteresowanie i odpowiedź. Tak jest. Wybór padł na openhab'a 2. 


 
Dodane : 24/02/2019 9:41 am
(@g_adrian)
Wpisów: 34
Praktykant
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
 

Moja propozycja. Przytrzymanie przycisku scene_switch poniżej 2s przełącza źródło światła, przytrzymanie przycisku powyżej 2s spowoduje wyłączenie wszystkich świateł.

.rules
rule "scene pressed"
when
Item scene_switch changed from OFF to ON
then
whenStarted=now.millis
end

rule "scene released"
when
Item scene_switch changed to OFF
then
val whenStopped = now.millis
val timeTaken = whenStopped-whenStarted

if (timeTaken < 2000) {
if (dekor.state==OFF && main.state==OFF && side_light.state==OFF) {
main.sendCommand(ON)
}
else if (dekor.state==OFF && main.state==ON && side_light.state==OFF){
dekor.sendCommand(ON)
}
else if (dekor.state==ON && main.state==ON && side_light.state==OFF) {
side_light.sendCommand(ON)
}
else if (dekor.state==ON && main.state==ON && side_light.state==ON) {
main.sendCommand(OFF)
}
else if (dekor.state==ON && main.state==OFF && side_light.state==ON) {
dekor.sendCommand(OFF)
}
else if (dekor.state==OFF && main.state==OFF && side_light.state==ON) {
side_light.sendCommand(OFF)
}
}
else if (timeTaken > 2000) {
dekor.sendCommand(OFF)
main.sendCommand(OFF)
side_light.sendCommand(OFF)
}
end

 
Dodane : 26/02/2019 3:22 pm
Udostępnij: