Quantcast
Channel: Kodinerds.net - Deutschsprachiges Forum zum Kodi Entertainment Center
Viewing all articles
Browse latest Browse all 87137

Alarm - Lampe blinken lassen wenn Fenster/Tür (zu lange auf)

$
0
0
hier mal eine rule die @romibaer benötigt. der grund für die veröffentlichung hier ist die komplexität der rules. ich bin also für verbesserungsvorschläge offen.

die rules können natürlich auch als normales optisches feedback bei einbruch (fenster gehen auf bei aktivem alarm o.ä.) genutzt werden.
dafür muss nur der "fenster ist offen timer" entfernt werden und bspw mit "member of" als rule trigger gearbeitet werden....bei Interesse ggf hier nachfragen

das ganze macht also folgendes:
- lassen frau/hund/kind/mann das fenster/die tür unbesichtigt auf fängt lampe x nach 1min für 2min an zu blinken
- wird das fenster geschlossen wird die farbe der lampe wieder auf den vorherigen wert gesetzt


folgende items werden verwendet:
HueStripe_Farbe -> (zeile 5,10, 33, 44) muss auf den itemnamen geändert werden der den colorchannel der hue lampe nutzt
HueStripe -> (zeile 15,16, 19 2x) muss auf den itemnamen geändert werden der den dimmerchannel der hue lampe nutzt
Fenster -> (zeile 3,9,29) muss auf den itemnamen geändert werden der das/die zu überwachende fenster/tür darstellt
Switch Fenster_Ueberwachung muss als Dummy in der itemsdatei angelegt werden
Switch Fenster_Ueberwachung_Farbe muss als Dummy in der itemsdatei angelegt werden

Quellcode

  1. rule "Fenster Überwachung aktivieren"
  2. when
  3. Item Fenster changed from CLOSED to OPEN
  4. then
  5. val ausgangswert = HueStripe_Farbe.state.toString
  6. Fenster_Ueberwachung_Farbe.sendCommand(ausgangswert)
  7. createTimer(now.plusMinutes(1), [|
  8. if (Fenster.state == OPEN){
  9. HueStripe_Farbe.sendCommand("354,100,100")
  10. Fenster_Ueberwachung.sendCommand(ON)
  11. createTimer(now.plusSeconds(1), [|
  12. while (Fenster_Ueberwachung.state == ON){
  13. Thread::sleep(700)
  14. if (HueStripe.state == 0){
  15. HueStripe.sendCommand(100)
  16. }
  17. else {
  18. HueStripe.sendCommand((HueStripe.state as Number) - 25)
  19. }
  20. }
  21. ])
  22. }
  23. ])
  24. end
  25. rule "Fenster Überwachung deaktivieren"
  26. when
  27. Item Fenster changed from OPEN to CLOSED
  28. then
  29. Fenster_Ueberwachung.sendCommand(OFF)
  30. createTimer(now.plusSeconds(2), [|
  31. HueStripe_Farbe.sendCommand(Fenster_Ueberwachung_Farbe.state.toString)
  32. ])
  33. end
  34. rule "Fenster Überwachung deaktivieren"
  35. when
  36. Item Fenster_Ueberwachung changed from OFF to ON
  37. then
  38. createTimer(now.plusMinutes(2), [|
  39. Fenster_Ueberwachung.sendCommand(OFF)
  40. createTimer(now.plusSeconds(2), [|
  41. HueStripe_Farbe.sendCommand(Fenster_Ueberwachung_Farbe.state.toString)
  42. ])
  43. ])
  44. end
Alles anzeigen
ein paar grundlegende infos:
- nicht wundern über die mini-timer, die sind notwendig um kleine lags der datenübermittlung auszugleichen, ausserdem ist es möglich so thread::sleep zu umgehen
- in zeile 7 schicken wir den aktuellen wert der hues zu unserem dummy, so dass nach dem optischen alarm die hue wieder in den ursprünglichen wert zu versetzen
- in zeile 8 wird festgelegt nach welcher zeit die lampe blinkt
- zeile 10 legt den hsb wert der alarmfarbe fest....in dem beispiel rot
- zeile 15-20...könnte man auch simpel mit on/off machen...das fade-out sieht bei den hues aber schon recht nett aus
- zeile 41 legt fest, nach welcher zeit das blinken aufhört

Viewing all articles
Browse latest Browse all 87137


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>