Asystent AI
Powiadomienia
Wyczyść wszystko

openHAB [Rozwiązany] Sterowanie oświetleniem przez czujnik ruchu i czasówkę

5 Wpisów
3 Użytkownicy
1 Reactions
1,613 Wyświetleń
(@szpila86)
Wpisów: 367
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
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
 
[#4916]

Hej

czy to powinno działać?

Założenia są takie że jeśli wykryje ruch, a światło jest zgaszone ma je zaświecić na 60s.

Po odliczeniu czasu ma je wyłączyć chyba że w tym czasie wykryje kolejny ruch to ma anulować timer i uruchomić nowy.

 

Wynik jest taki że światło się świeci i gaśnie po 60s ale jak wykryje ruch to chyba nie zaczyna liczyć na nowo.

 

rule "Motion Sensor Light Control"
when
  Item C_Kuchnia changed from OFF to ON
then
  var Timer timer = null
  if (OswKuch.state == OFF) {
    sendCommand(OswKuch, ON)
    logInfo("Motion Sensor Light Control","Start timer 60s")
    timer = createTimer(now.plusSeconds(60)) [|
      sendCommand(OswKuch, OFF)
    ]
  } else {
    if (timer !== null) {
      timer.cancel()
      timer = null
      logInfo("Motion Sensor Light Control","Timer anulowany")
    }
    logInfo("Motion Sensor Light Control","Start nowego timera 60s")
    timer = createTimer(now.plusSeconds(60)) [|
      sendCommand(OswKuch, OFF)
    ]
  }
end 

W logach pojawia się  "start timer 60s" oraz "start nowego timera 60s" ale nigdy "timer anulowany"


 
Dodane : 08/01/2023 5:35 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
 
var Timer timer = null

rule "Motion Sensor Light Control"
when
  Item C_Kuchnia changed from OFF to ON
then 
    if (OswKuch.state == OFF) {
       sendCommand(OswKuch, ON)
       logInfo("Motion Sensor Light Control","Start timer 60s")
       if (timer===null) {
         timer = createTimer(now.plusSeconds(60)) [|
           sendCommand(OswKuch, OFF)
           timer = null
         ]
       }     
    } else {
        logInfo("Motion Sensor Light Control","PIR triggered one more time, light already ON")
        if (timer !== null) {
            logInfo("Motion Sensor Light Control","Timer counts")
            timer.reschedule(now.plusSeconds(60))
            logInfo("Motion Sensor Light Control","Timer reschedued for the next 60sec to midnight ;)")
        }
    }    
end 

 
Dodane : 08/01/2023 7:46 pm
(@szpila86)
Wpisów: 367
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
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
 

@adrian 

Dzięki

Czas z OH mija a ja dalej błądzę 😭 

OH4 może będzie gotowe na moje błędy 🤣 


 
Dodane : 08/01/2023 7:59 pm
adrian zareagował
(@edass)
Wpisów: 225
Weteran
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
 

Sorry za mały off... ale zapytam czy próbowałeś programować reguły w Blockly? Ja jestem cienki z programowania a w Blockly jestem w stanie wyklikać reguły.


 
Dodane : 10/01/2023 10:56 pm
(@szpila86)
Wpisów: 367
Weteran Patron Strony Donator 2K22, Donator 2K23, Donator 2K24
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
 

@edass 

Ja osobiście "graficznie" niczego nie programowałem więc nie pomogę ale jeśli zadasz w odpowiednim dziale pytanie to zazwyczaj ktoś chętnie pomoże


 
Dodane : 11/01/2023 7:36 pm
Udostępnij: