extensions.conf 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. ; extensions.conf - the Asterisk dial plan
  2. ;
  3. [myHCE]
  4. ; houseautomation
  5. exten => 5000,1(myhce),Answer()
  6. exten => 5000,n,Set(TIMEOUT(digit)=5)
  7. exten => 5000,n,Set(TIMEOUT(response)=10)
  8. ; skip authentication for known numbers
  9. exten => 5000,n,GotoIf($["${CALLERID(num)}" = "01601234567"]?5000,main)
  10. exten => 5000,n,GotoIf($["${CALLERID(num)}" = "01701234567"]?5000,main)
  11. ; authentication
  12. exten => 5000,n,Authenticate(1137)
  13. exten => 5000,n,Wait(1)
  14. ; main menu
  15. exten => 5000,n(main),NoOp(Main Menu)
  16. exten => 5000,n,Set(GLOBAL(myHCE_ext)=${EXTEN})
  17. exten => 5000,n,Set(GLOBAL(myHCE_pExt)=5000)
  18. exten => 5000,n,Set(GLOBAL(myHCE_pCon)=myHCE)
  19. include => myHCE-default
  20. exten => 5000,n(menu),AGI(fhem-speech.agi,t,"Hauptmenü")
  21. exten => 5000,n(choice),AGI(fhem-speech.agi,t,"Bitte wählen Sie")
  22. exten => 5000,n,AGI(fhem-speech.agi,t,"1 für Statusabfrage")
  23. exten => 5000,n,AGI(fhem-speech.agi,t,"2 für Steuerung")
  24. exten => 5000,n,AGI(fhem-speech.agi,t,"5 für Hilfe")
  25. exten => 5000,n,Background(silence/3)
  26. exten => 5000,n,Goto(choice)
  27. ; help
  28. exten => 5000,n(help),AGI(fhem-speech.agi,t,"Menüsteuerung für alle Menüs")
  29. exten => 5000,n,AGI(fhem-speech.agi,t,"8 zurück zum letzten Menü")
  30. exten => 5000,n,AGI(fhem-speech.agi,t,"9 zurück zum Hauptmenü")
  31. exten => 5000,n,AGI(fhem-speech.agi,t,"0 zum Beenden")
  32. exten => 5000,n,Background(silence/3)
  33. exten => 5000,n,Goto(menu)
  34. ; selection
  35. exten => 1,1,Goto(myHCE-status,5100,status)
  36. exten => 2,1,Goto(myHCE-control,5200,control)
  37. exten => 5,1,Goto(5000,help)
  38. [myHCE-default]
  39. ; global menu navigation
  40. exten => 8,1,Goto(${myHCE_pCon},${myHCE_pExt},menu)
  41. exten => 9,1,Goto(myHCE,5000,main)
  42. exten => 0,1,Goto(myHCE-exit,5099,exit)
  43. ; wrong input
  44. exten => i,1,AGI(fhem-speech.agi,t,"Falsche Eingabe.")
  45. exten => i,2,Goto(${myHCE_ext},menu)
  46. [myHCE-exit]
  47. ; exit
  48. exten => 5099,n(exit),AGI(fhem-speech.agi,t,"Verbindung wird getrennt. Vielen Dank!")
  49. exten => 5099,n,Hangup()
  50. [myHCE-status]
  51. exten => 5100,1(status),NoOp(Status Menu)
  52. exten => 5100,n,Set(GLOBAL(myHCE_ext)=${EXTEN})
  53. exten => 5100,n,Set(GLOBAL(myHCE_pExt)=5000)
  54. exten => 5100,n,Set(GLOBAL(myHCE_pCon)=myHCE)
  55. include => myHCE-default
  56. ; submenu device status
  57. exten => 5100,n(menu),AGI(fhem-speech.agi,t,"Menü Statusabfrage")
  58. exten => 5100,n(choice),AGI(fhem-speech.agi,t,"Bitte wählen Sie")
  59. exten => 5100,n,AGI(fhem-speech.agi,t,"1 für Wetterstation")
  60. exten => 5100,n,AGI(fhem-speech.agi,t,"2 für Rauchmelder")
  61. exten => 5100,n,AGI(fhem-speech.agi,t,"5 für Raumthermostate")
  62. exten => 5100,n,Background(silence/3)
  63. exten => 5100,n,Goto(choice)
  64. ; selection
  65. exten => 1,1,Playback(beep)
  66. exten => 1,n,AGI(fhem-speech.agi,d,GH.ga.WE.01)
  67. exten => 1,n,Playback(beep)
  68. exten => 1,n,Goto(5100,status)
  69. exten => 2,1,Playback(beep)
  70. exten => 2,n,AGI(fhem-speech.agi,d,NN.xx.RM.01)
  71. exten => 2,n,Playback(beep)
  72. exten => 2,n,Goto(5100,status)
  73. exten => 5,1,Goto(myHCE-status_fht,5110,menu)
  74. [myHCE-status_fht]
  75. exten => 5110,1(status),NoOp(Status Menu)
  76. exten => 5110,n,Set(GLOBAL(myHCE_ext)=${EXTEN})
  77. exten => 5110,n,Set(GLOBAL(myHCE_pExt)=5100)
  78. exten => 5110,n,Set(GLOBAL(myHCE_pCon)=myHCE-status)
  79. include => myHCE-default
  80. ; submenu fht devices
  81. exten => 5110,n(menu),AGI(fhem-speech.agi,t,"Menü Raumthermostate")
  82. exten => 5110,n(choice),AGI(fhem-speech.agi,t,"Bitte wählen Sie")
  83. exten => 5110,n,AGI(fhem-speech.agi,t,"1 für Wohnzimmer")
  84. exten => 5110,n,AGI(fhem-speech.agi,t,"2 für Schlafzimmer")
  85. exten => 5110,n,AGI(fhem-speech.agi,t,"3 für Büro")
  86. exten => 5110,n,AGI(fhem-speech.agi,t,"4 für Badezimmer")
  87. exten => 5110,n,Background(silence/3)
  88. exten => 5110,n,Goto(choice)
  89. ; selection
  90. exten => 1,1,Playback(beep)
  91. exten => 1,n,AGI(fhem-speech.agi,d,EG.wz.HZ)
  92. exten => 1,n,Playback(beep)
  93. exten => 1,n,Goto(5110,status)
  94. exten => 2,1,Playback(beep)
  95. exten => 2,n,AGI(fhem-speech.agi,d,EG.sz.HZ)
  96. exten => 2,n,Playback(beep)
  97. exten => 2,n,Goto(5110,status)
  98. exten => 3,1,Playback(beep)
  99. exten => 3,n,AGI(fhem-speech.agi,d,EG.bu.HZ)
  100. exten => 3,n,Playback(beep)
  101. exten => 3,n,Goto(5110,status)
  102. exten => 4,1,Playback(beep)
  103. exten => 4,n,AGI(fhem-speech.agi,d,EG.bz.HZ)
  104. exten => 4,n,Playback(beep)
  105. exten => 4,n,Goto(5110,status)
  106. [myHCE-control]
  107. include => myHCE-default
  108. exten => 5200,1(control),AGI(fhem-speech.agi,t,"Menü Steuerung")
  109. exten => 5200,n(menu),AGI(fhem-speech.agi,t,"Bitte wählen Sie")
  110. exten => 5200,n,AGI(fhem-speech.agi,t,"1 für Wohnzimmer")
  111. exten => 5200,n,AGI(fhem-speech.agi,t,"2 für Schlafzimmer")
  112. exten => 5200,n,AGI(fhem-speech.agi,t,"3 für Büro")
  113. exten => 5200,n,AGI(fhem-speech.agi,t,"4 für Badezimmer")
  114. exten => 5200,n,Background(silence/3)
  115. exten => 5200,n,Goto(menu)
  116. exten => 1,1,Goto(myHCE-control_wohnen,5210,menu)
  117. exten => i,1,AGI(fhem-speech.agi,t,"Falsche Eingabe.")
  118. exten => i,2,Goto(5200,menu)
  119. [myHCE-control_wohnen]
  120. include => myHCE-default
  121. exten => 5210,1(control),AGI(fhem-speech.agi,t,"Menü Steuerung")
  122. exten => 5210,n,AGI(fhem-speech.agi,t,"Wohnzimmer")
  123. exten => 5210,n(menu),AGI(fhem-speech.agi,t,"Bitte wählen Sie")
  124. exten => 5210,n,AGI(fhem-speech.agi,t,"1 für Lampen")
  125. exten => 5210,n,Background(silence/3)
  126. exten => 5210,n,Goto(menu)
  127. exten => 1,1,Goto(myHCE-control_wohnen-lampen,5211,set)
  128. exten => 8,1,Goto(myHCE-control,5200,menu)
  129. exten => i,1,AGI(fhem-speech.agi,t,"Falsche Eingabe.")
  130. exten => i,2,Goto(5200,menu)
  131. [myHCE-control_wohnen-lampen]
  132. include => myHCE-default
  133. exten => 5211,1(set),AGI(fhem-speech.agi,t,"Steuerung Lampen")
  134. exten => 5211,n,AGI(fhem-speech.agi,d,EG.wz.SD.Licht.grp)
  135. exten => 5211,n(menu),AGI(fhem-speech.agi,t,"1 für an")
  136. exten => 5211,n,AGI(fhem-speech.agi,t,"2 für aus")
  137. exten => 5211,n,Background(silence/3)
  138. exten => 5211,n,Goto(menu)
  139. exten => 1,1,AGI(fhem-speech.agi,s,EG.wz.SD.Licht.grp,on)
  140. exten => 1,n,Goto(5211,set)
  141. exten => 2,1,AGI(fhem-speech.agi,s,EG.wz.SD.Licht.grp,off)
  142. exten => 2,n,Goto(5211,set)
  143. exten => 8,1,Goto(myHCE-control_wohnen,5210,menu)
  144. exten => i,1,AGI(fhem-speech.agi,t,"Falsche Eingabe.")
  145. exten => i,2,Goto(5211,menu)