pyhausbus 1.0.1__py2.py3-none-any.whl → 1.0.3__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. pyhausbus/ABusFeature.py +22 -22
  2. pyhausbus/BusDataMessage.py +23 -23
  3. pyhausbus/BusHandler.py +110 -110
  4. pyhausbus/HausBusCommand.py +83 -83
  5. pyhausbus/HausBusUtils.py +203 -203
  6. pyhausbus/HomeServer.py +86 -68
  7. pyhausbus/IBusDataListener.py +6 -6
  8. pyhausbus/Main.py +100 -100
  9. pyhausbus/ObjectId.py +22 -22
  10. pyhausbus/ResultWorker.py +53 -53
  11. pyhausbus/Templates.py +140 -0
  12. pyhausbus/UdpReceiveWorker.py +73 -73
  13. pyhausbus/WeekTime.py +55 -55
  14. pyhausbus/de/hausbus/homeassistant/proxy/AnalogEingang.py +139 -0
  15. pyhausbus/de/hausbus/homeassistant/proxy/Controller.py +357 -342
  16. pyhausbus/de/hausbus/homeassistant/proxy/Counter.py +65 -65
  17. pyhausbus/de/hausbus/homeassistant/proxy/CurrentReader.py +133 -121
  18. pyhausbus/de/hausbus/homeassistant/proxy/DaliLine.py +63 -63
  19. pyhausbus/de/hausbus/homeassistant/proxy/DigitalPort.py +40 -40
  20. pyhausbus/de/hausbus/homeassistant/proxy/Dimmer.py +91 -91
  21. pyhausbus/de/hausbus/homeassistant/proxy/Drucksensor.py +141 -0
  22. pyhausbus/de/hausbus/homeassistant/proxy/Ethernet.py +61 -61
  23. pyhausbus/de/hausbus/homeassistant/proxy/Feuchtesensor.py +77 -77
  24. pyhausbus/de/hausbus/homeassistant/proxy/Gateway.py +108 -97
  25. pyhausbus/de/hausbus/homeassistant/proxy/Helligkeitssensor.py +77 -77
  26. pyhausbus/de/hausbus/homeassistant/proxy/IRSensor.py +55 -55
  27. pyhausbus/de/hausbus/homeassistant/proxy/Led.py +117 -116
  28. pyhausbus/de/hausbus/homeassistant/proxy/LogicalButton.py +116 -116
  29. pyhausbus/de/hausbus/homeassistant/proxy/ModBusMaster.py +34 -34
  30. pyhausbus/de/hausbus/homeassistant/proxy/ModbusSlave.py +13 -13
  31. pyhausbus/de/hausbus/homeassistant/proxy/PCA9555.py +29 -0
  32. pyhausbus/de/hausbus/homeassistant/proxy/PCServer.py +67 -67
  33. pyhausbus/de/hausbus/homeassistant/proxy/PIDController.py +69 -64
  34. pyhausbus/de/hausbus/homeassistant/proxy/PT1000.py +153 -0
  35. pyhausbus/de/hausbus/homeassistant/proxy/PowerMeter.py +77 -77
  36. pyhausbus/de/hausbus/homeassistant/proxy/ProxyFactory.py +86 -12
  37. pyhausbus/de/hausbus/homeassistant/proxy/RFIDReader.py +78 -78
  38. pyhausbus/de/hausbus/homeassistant/proxy/RGBDimmer.py +63 -63
  39. pyhausbus/de/hausbus/homeassistant/proxy/Rollladen.py +110 -110
  40. pyhausbus/de/hausbus/homeassistant/proxy/Schalter.py +127 -104
  41. pyhausbus/de/hausbus/homeassistant/proxy/SnmpAgent.py +13 -13
  42. pyhausbus/de/hausbus/homeassistant/proxy/SystemTime.py +42 -42
  43. pyhausbus/de/hausbus/homeassistant/proxy/Taster.py +128 -118
  44. pyhausbus/de/hausbus/homeassistant/proxy/Taupunkt.py +77 -77
  45. pyhausbus/de/hausbus/homeassistant/proxy/TcpClient.py +38 -38
  46. pyhausbus/de/hausbus/homeassistant/proxy/Temperatursensor.py +78 -78
  47. pyhausbus/de/hausbus/homeassistant/proxy/Wetter.py +26 -26
  48. pyhausbus/de/hausbus/homeassistant/proxy/WiFi.py +60 -60
  49. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/_init_.py +1 -0
  50. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/commands/GetConfiguration.py +15 -0
  51. pyhausbus/de/hausbus/homeassistant/proxy/{gateway/commands/CheckBusTiming.py → analogEingang/commands/GetStatus.py} +8 -8
  52. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/commands/SetConfiguration.py +74 -0
  53. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/commands/_init_.py +1 -0
  54. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/Configuration.py +74 -0
  55. pyhausbus/de/hausbus/homeassistant/proxy/{gateway/commands/ResetBusTiming.py → analogEingang/data/EvHigh.py} +8 -8
  56. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/EvInRange.py +15 -0
  57. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/EvLow.py +15 -0
  58. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/EvStatus.py +33 -0
  59. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/Status.py +25 -0
  60. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/_init_.py +1 -0
  61. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/params/ELastEvent.py +28 -0
  62. pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/params/_init_.py +1 -0
  63. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/EnableFeature.py +9 -9
  64. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GenerateRandomDeviceId.py +6 -6
  65. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetConfiguration.py +6 -6
  66. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetModuleId.py +9 -9
  67. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetRemoteObjects.py +6 -6
  68. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetRuleState.py +7 -7
  69. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetSystemVariable.py +9 -9
  70. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetTime.py +6 -6
  71. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetUnitGroupStatus.py +7 -7
  72. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetUnusedMemory.py +6 -6
  73. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/Ping.py +6 -6
  74. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/ReadMemory.py +7 -7
  75. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/ReadRules.py +7 -7
  76. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/Reset.py +6 -6
  77. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/ResetOneWireManager.py +25 -0
  78. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetConfiguration.py +10 -10
  79. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetDebugOptions.py +9 -9
  80. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetRuleState.py +7 -7
  81. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetSunTimes.py +9 -9
  82. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetSystemVariable.py +9 -9
  83. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetTime.py +9 -9
  84. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetUnitGroupState.py +7 -7
  85. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/TriggerRuleElement.py +7 -7
  86. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/WriteMemory.py +7 -7
  87. pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/WriteRules.py +7 -7
  88. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/Configuration.py +10 -10
  89. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvConsole.py +7 -7
  90. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvDay.py +6 -6
  91. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvError.py +9 -9
  92. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvGroupOff.py +7 -7
  93. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvGroupOn.py +7 -7
  94. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvGroupUndefined.py +7 -7
  95. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvNewDeviceId.py +7 -7
  96. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvNight.py +6 -6
  97. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvResetWifi.py +6 -6
  98. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvStarted.py +9 -9
  99. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvSystemVariableChanged.py +9 -9
  100. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvTime.py +9 -9
  101. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvZeroCrossData.py +23 -9
  102. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/MemoryData.py +7 -7
  103. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/MemoryStatus.py +9 -9
  104. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/ModuleId.py +9 -9
  105. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/Pong.py +6 -6
  106. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/RemoteObjects.py +7 -7
  107. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/RuleState.py +7 -7
  108. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/RulesData.py +7 -7
  109. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/SystemVariable.py +9 -9
  110. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/Time.py +9 -9
  111. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/TimeDifference.py +7 -7
  112. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/TriggeredRule.py +7 -7
  113. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/UnitGroupStatus.py +7 -7
  114. pyhausbus/de/hausbus/homeassistant/proxy/controller/data/UnusedMemory.py +7 -7
  115. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EErrorCode.py +17 -4
  116. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EFeatureId.py +13 -4
  117. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EFirmwareId.py +15 -6
  118. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EIndex.py +12 -4
  119. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EReason.py +12 -4
  120. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/ESlotType.py +12 -4
  121. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EStatus.py +12 -4
  122. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EType.py +12 -4
  123. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/MLogicalButtonMask.py +61 -61
  124. pyhausbus/de/hausbus/homeassistant/proxy/controller/params/MOption.py +61 -61
  125. pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/GetConfiguration.py +6 -6
  126. pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/GetStatus.py +6 -6
  127. pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/SetConfiguration.py +9 -9
  128. pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/SetCount.py +7 -7
  129. pyhausbus/de/hausbus/homeassistant/proxy/counter/data/Configuration.py +9 -9
  130. pyhausbus/de/hausbus/homeassistant/proxy/counter/data/EvError.py +9 -9
  131. pyhausbus/de/hausbus/homeassistant/proxy/counter/data/EvStatus.py +7 -7
  132. pyhausbus/de/hausbus/homeassistant/proxy/counter/data/Status.py +7 -7
  133. pyhausbus/de/hausbus/homeassistant/proxy/counter/params/EErrorCode.py +13 -4
  134. pyhausbus/de/hausbus/homeassistant/proxy/counter/params/MMode.py +61 -61
  135. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/ClearSignalCount.py +6 -6
  136. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/DecSignalCount.py +6 -6
  137. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetConfiguration.py +6 -6
  138. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetCurrent.py +6 -6
  139. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetPower.py +6 -6
  140. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetSignalCount.py +6 -6
  141. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/IncSignalCount.py +6 -6
  142. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/SetConfiguration.py +9 -9
  143. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/SetSignalCount.py +7 -7
  144. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/Configuration.py +9 -9
  145. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/Current.py +7 -7
  146. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvCurrent.py +7 -7
  147. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvDebug.py +9 -9
  148. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvError.py +26 -0
  149. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvInterrupt.py +7 -7
  150. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvSignal.py +7 -7
  151. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/Power.py +7 -7
  152. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/SignalCount.py +7 -7
  153. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/params/EErrorCode.py +27 -0
  154. pyhausbus/de/hausbus/homeassistant/proxy/currentReader/params/MConfig.py +13 -13
  155. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/AllOff.py +6 -6
  156. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/AllOn.py +6 -6
  157. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/GetConfiguration.py +7 -7
  158. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/SendCommand.py +7 -7
  159. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/SetConfiguration.py +7 -7
  160. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/data/Configuration.py +7 -7
  161. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/data/EvError.py +9 -9
  162. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/data/Status.py +7 -7
  163. pyhausbus/de/hausbus/homeassistant/proxy/daliLine/params/EErrorCode.py +12 -4
  164. pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/commands/GetConfiguration.py +6 -6
  165. pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/commands/SetConfiguration.py +11 -11
  166. pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/data/Configuration.py +28 -28
  167. pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/data/EvError.py +9 -9
  168. pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/params/EErrorCode.py +13 -4
  169. pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/params/EPin.py +13 -4
  170. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/GetConfiguration.py +6 -6
  171. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/GetStatus.py +6 -6
  172. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/SetBrightness.py +7 -7
  173. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/SetConfiguration.py +9 -9
  174. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/Start.py +9 -9
  175. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/Stop.py +6 -6
  176. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/Configuration.py +9 -9
  177. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvError.py +9 -9
  178. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvOff.py +6 -6
  179. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvOn.py +7 -7
  180. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvStart.py +9 -9
  181. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/Status.py +7 -7
  182. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/params/EDirection.py +12 -4
  183. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/params/EErrorCode.py +14 -4
  184. pyhausbus/de/hausbus/homeassistant/proxy/dimmer/params/EMode.py +12 -4
  185. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/_init_.py +1 -0
  186. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/GetConfiguration.py +15 -0
  187. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/GetStatus.py +15 -0
  188. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/SetConfiguration.py +74 -0
  189. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/_init_.py +1 -0
  190. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/Configuration.py +74 -0
  191. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvHigh.py +15 -0
  192. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvInRange.py +15 -0
  193. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvLow.py +15 -0
  194. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvStatus.py +33 -0
  195. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/Status.py +33 -0
  196. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/_init_.py +1 -0
  197. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/params/ELastEvent.py +28 -0
  198. pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/params/_init_.py +1 -0
  199. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/GetConfiguration.py +6 -6
  200. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/GetCurrentIp.py +6 -6
  201. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/SetConfiguration.py +10 -10
  202. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/WakeUpDevice.py +7 -7
  203. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/data/Configuration.py +10 -10
  204. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/data/CurrentIp.py +7 -7
  205. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/data/EvError.py +9 -9
  206. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/params/EErrorCode.py +13 -4
  207. pyhausbus/de/hausbus/homeassistant/proxy/ethernet/params/MOptions.py +61 -61
  208. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/commands/GetConfiguration.py +6 -6
  209. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/commands/GetStatus.py +6 -6
  210. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/commands/SetConfiguration.py +7 -7
  211. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/Configuration.py +7 -7
  212. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvConfortable.py +6 -6
  213. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvDry.py +6 -6
  214. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvError.py +9 -9
  215. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvStatus.py +9 -9
  216. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvWet.py +6 -6
  217. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/Status.py +9 -9
  218. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/params/EErrorCode.py +14 -4
  219. pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/params/ELastEvent.py +12 -4
  220. pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/GetConfiguration.py +6 -6
  221. pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/GetConnectedDevices.py +6 -6
  222. pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/{GetBusTiming.py → GetMinIdleTime.py} +8 -8
  223. pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/SetConfiguration.py +10 -10
  224. pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/SetMinIdleTime.py +25 -0
  225. pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/SetPreferLoxone.py +26 -0
  226. pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/Configuration.py +10 -10
  227. pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/ConnectedDevices.py +7 -7
  228. pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/EvError.py +9 -9
  229. pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/EvGatewayLoad.py +38 -17
  230. pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/MinIdleTime.py +25 -0
  231. pyhausbus/de/hausbus/homeassistant/proxy/gateway/params/EErrorCode.py +14 -4
  232. pyhausbus/de/hausbus/homeassistant/proxy/gateway/params/EValue.py +27 -0
  233. pyhausbus/de/hausbus/homeassistant/proxy/gateway/params/MOptions.py +65 -65
  234. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/commands/GetConfiguration.py +6 -6
  235. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/commands/GetStatus.py +6 -6
  236. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/commands/SetConfiguration.py +7 -7
  237. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/Configuration.py +7 -7
  238. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvBright.py +6 -6
  239. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvDark.py +6 -6
  240. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvError.py +9 -9
  241. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvLight.py +6 -6
  242. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvStatus.py +9 -9
  243. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/Status.py +9 -9
  244. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/params/EErrorCode.py +14 -4
  245. pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/params/ELastEvent.py +12 -4
  246. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/commands/Off.py +6 -6
  247. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/commands/On.py +6 -6
  248. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvClicked.py +7 -7
  249. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvHoldEnd.py +7 -7
  250. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvHoldStart.py +7 -7
  251. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvOff.py +6 -6
  252. pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvOn.py +6 -6
  253. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/Blink.py +7 -7
  254. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/GetConfiguration.py +6 -6
  255. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/GetMinBrightness.py +6 -6
  256. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/GetStatus.py +6 -6
  257. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/Off.py +7 -7
  258. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/On.py +7 -7
  259. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/SetConfiguration.py +9 -9
  260. pyhausbus/de/hausbus/homeassistant/proxy/led/commands/SetMinBrightness.py +7 -7
  261. pyhausbus/de/hausbus/homeassistant/proxy/led/data/Configuration.py +10 -10
  262. pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvBlink.py +6 -6
  263. pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvCmdDelay.py +7 -7
  264. pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvError.py +10 -9
  265. pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvOff.py +6 -6
  266. pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvOn.py +7 -7
  267. pyhausbus/de/hausbus/homeassistant/proxy/led/data/MinBrightness.py +7 -7
  268. pyhausbus/de/hausbus/homeassistant/proxy/led/data/Status.py +7 -7
  269. pyhausbus/de/hausbus/homeassistant/proxy/led/params/EErrorCode.py +26 -0
  270. pyhausbus/de/hausbus/homeassistant/proxy/led/params/MOptions.py +61 -61
  271. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/Blink.py +7 -7
  272. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/GetConfiguration.py +6 -6
  273. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/GetMinBrightness.py +6 -6
  274. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/GetStatus.py +6 -6
  275. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/Off.py +7 -7
  276. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/On.py +7 -7
  277. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetButtonConfiguration.py +10 -10
  278. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetConfiguration.py +7 -7
  279. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetLedConfiguration.py +9 -9
  280. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetMinBrightness.py +7 -7
  281. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/Configuration.py +7 -7
  282. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvBlink.py +6 -6
  283. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvError.py +9 -9
  284. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvOff.py +6 -6
  285. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvOn.py +7 -7
  286. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/Status.py +9 -9
  287. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/EErrorCode.py +14 -4
  288. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/EStatus.py +12 -4
  289. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/MEventMask.py +65 -65
  290. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/MOptionMask.py +61 -61
  291. pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/MOptions.py +61 -61
  292. pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/commands/GetConfiguration.py +7 -7
  293. pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/commands/SetConfiguration.py +9 -9
  294. pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/data/Configuration.py +9 -9
  295. pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/params/ESensorType.py +12 -4
  296. pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/_init_.py +1 -0
  297. pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/data/EvError.py +26 -0
  298. pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/data/_init_.py +1 -0
  299. pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/params/EErrorCode.py +28 -0
  300. pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/params/_init_.py +1 -0
  301. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Exec.py +7 -7
  302. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Quit.py +6 -6
  303. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/ReloadUserPlugin.py +6 -6
  304. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Restart.py +6 -6
  305. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/SetVariable.py +7 -7
  306. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Shutdown.py +6 -6
  307. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Standby.py +6 -6
  308. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/data/EvOffline.py +6 -6
  309. pyhausbus/de/hausbus/homeassistant/proxy/pCServer/data/EvOnline.py +6 -6
  310. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/Enable.py +9 -9
  311. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/GetConfiguration.py +6 -6
  312. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/SetConfiguration.py +18 -10
  313. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/SetTargetValue.py +7 -7
  314. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/Configuration.py +18 -10
  315. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/EvError.py +9 -9
  316. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/EvOff.py +6 -6
  317. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/EvOn.py +6 -6
  318. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/params/EEnable.py +12 -4
  319. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/params/EErrorCode.py +15 -4
  320. pyhausbus/de/hausbus/homeassistant/proxy/pIDController/params/MOptions.py +96 -0
  321. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/_init_.py +1 -0
  322. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/GetConfiguration.py +15 -0
  323. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/GetStatus.py +15 -0
  324. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/SetConfiguration.py +74 -0
  325. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/_init_.py +1 -0
  326. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/Configuration.py +74 -0
  327. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvError.py +26 -0
  328. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvHigh.py +15 -0
  329. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvInRange.py +15 -0
  330. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvLow.py +15 -0
  331. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvStatus.py +33 -0
  332. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/Status.py +33 -0
  333. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/_init_.py +1 -0
  334. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/params/EErrorCode.py +40 -0
  335. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/params/ELastEvent.py +28 -0
  336. pyhausbus/de/hausbus/homeassistant/proxy/pT1000/params/_init_.py +1 -0
  337. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/commands/GetConfiguration.py +6 -6
  338. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/commands/GetStatus.py +6 -6
  339. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/commands/SetConfiguration.py +7 -7
  340. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/Configuration.py +7 -7
  341. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvError.py +9 -9
  342. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvHighPower.py +6 -6
  343. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvLowPower.py +6 -6
  344. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvMediumPower.py +6 -6
  345. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvStatus.py +9 -9
  346. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/Status.py +9 -9
  347. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/params/EErrorCode.py +14 -4
  348. pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/params/ELastEvent.py +12 -4
  349. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/GetConfiguration.py +6 -6
  350. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/GetLastData.py +6 -6
  351. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/GetState.py +6 -6
  352. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/SetConfiguration.py +6 -6
  353. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/Configuration.py +6 -6
  354. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/EvConnected.py +6 -6
  355. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/EvData.py +7 -7
  356. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/EvError.py +9 -9
  357. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/LastData.py +7 -7
  358. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/State.py +9 -9
  359. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/params/EErrorCode.py +13 -4
  360. pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/params/EState.py +12 -4
  361. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/GetConfiguration.py +6 -6
  362. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/GetStatus.py +6 -6
  363. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/SetColor.py +7 -7
  364. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/SetConfiguration.py +7 -7
  365. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/Configuration.py +7 -7
  366. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/EvOff.py +6 -6
  367. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/EvOn.py +7 -7
  368. pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/Status.py +7 -7
  369. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/GetConfiguration.py +6 -6
  370. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/GetStatus.py +6 -6
  371. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/MoveToPosition.py +7 -7
  372. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/SetConfiguration.py +9 -9
  373. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/SetPosition.py +7 -7
  374. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/Start.py +9 -9
  375. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/Stop.py +6 -6
  376. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/Configuration.py +9 -9
  377. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvClosed.py +7 -7
  378. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvError.py +9 -9
  379. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvNewMainState.py +9 -9
  380. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvNewSubState.py +9 -9
  381. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvOpen.py +6 -6
  382. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvStart.py +9 -9
  383. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/Status.py +7 -7
  384. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/EDirection.py +12 -4
  385. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/EErrorCode.py +14 -4
  386. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/ENewState.py +12 -4
  387. pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/MOptions.py +65 -65
  388. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/GetConfiguration.py +6 -6
  389. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/GetStatus.py +6 -6
  390. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/Off.py +7 -7
  391. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/On.py +7 -7
  392. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/SetConfiguration.py +9 -9
  393. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/Toggle.py +7 -7
  394. pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/ToggleByDuty.py +32 -0
  395. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/Configuration.py +9 -9
  396. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvCmdDelay.py +7 -7
  397. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvDisabled.py +6 -6
  398. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvError.py +9 -9
  399. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvOff.py +6 -6
  400. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvOn.py +7 -7
  401. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvToggle.py +31 -7
  402. pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/Status.py +26 -12
  403. pyhausbus/de/hausbus/homeassistant/proxy/schalter/params/EErrorCode.py +14 -4
  404. pyhausbus/de/hausbus/homeassistant/proxy/schalter/params/EState.py +12 -4
  405. pyhausbus/de/hausbus/homeassistant/proxy/schalter/params/MOptions.py +61 -61
  406. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/commands/GetTime.py +6 -6
  407. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/commands/SetTime.py +10 -10
  408. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/data/EvError.py +9 -9
  409. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/data/Time.py +7 -7
  410. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EDate.py +12 -4
  411. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EErrorCode.py +13 -4
  412. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EMonth.py +12 -4
  413. pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EWeekDay.py +12 -4
  414. pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/EnableEvents.py +9 -9
  415. pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/GetConfiguration.py +6 -6
  416. pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/GetEnabled.py +6 -6
  417. pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/GetStatus.py +6 -6
  418. pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/SetConfiguration.py +10 -10
  419. pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/TriggerStatusEvent.py +15 -0
  420. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/Configuration.py +10 -10
  421. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/Enabled.py +7 -7
  422. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvClicked.py +9 -9
  423. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvCovered.py +9 -9
  424. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvDoubleClick.py +9 -9
  425. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvEnabled.py +7 -7
  426. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvError.py +10 -9
  427. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvFree.py +9 -9
  428. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvHoldEnd.py +9 -9
  429. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvHoldStart.py +9 -9
  430. pyhausbus/de/hausbus/homeassistant/proxy/taster/data/Status.py +9 -9
  431. pyhausbus/de/hausbus/homeassistant/proxy/taster/params/EEnable.py +12 -4
  432. pyhausbus/de/hausbus/homeassistant/proxy/taster/params/EErrorCode.py +27 -0
  433. pyhausbus/de/hausbus/homeassistant/proxy/taster/params/EState.py +12 -4
  434. pyhausbus/de/hausbus/homeassistant/proxy/taster/params/MEventMask.py +65 -65
  435. pyhausbus/de/hausbus/homeassistant/proxy/taster/params/MOptionMask.py +61 -61
  436. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/commands/GetConfiguration.py +6 -6
  437. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/commands/GetStatus.py +6 -6
  438. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/commands/SetConfiguration.py +7 -7
  439. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/Configuration.py +7 -7
  440. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvAbove.py +6 -6
  441. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvError.py +9 -9
  442. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvInRange.py +6 -6
  443. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvLow.py +6 -6
  444. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvStatus.py +9 -9
  445. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/Status.py +9 -9
  446. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/params/EErrorCode.py +14 -4
  447. pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/params/ELastEvent.py +12 -4
  448. pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/commands/AnnounceServer.py +7 -7
  449. pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/commands/GetCurrentIp.py +6 -6
  450. pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/data/CurrentIp.py +7 -7
  451. pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/data/EvWhoIsServer.py +6 -6
  452. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/commands/GetConfiguration.py +6 -6
  453. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/commands/GetStatus.py +6 -6
  454. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/commands/SetConfiguration.py +8 -8
  455. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/Configuration.py +7 -7
  456. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvCold.py +6 -6
  457. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvError.py +9 -9
  458. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvHot.py +6 -6
  459. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvStatus.py +9 -9
  460. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvWarm.py +6 -6
  461. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/Status.py +9 -9
  462. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/params/EErrorCode.py +14 -4
  463. pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/params/ELastEvent.py +12 -4
  464. pyhausbus/de/hausbus/homeassistant/proxy/wetter/commands/GetWeather.py +6 -6
  465. pyhausbus/de/hausbus/homeassistant/proxy/wetter/data/Weather.py +9 -9
  466. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/GetConfiguration.py +6 -6
  467. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/GetCurrentIp.py +6 -6
  468. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/SetConfiguration.py +8 -8
  469. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/WakeUpDevice.py +7 -7
  470. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/data/Configuration.py +8 -8
  471. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/data/CurrentIp.py +7 -7
  472. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/data/EvError.py +9 -9
  473. pyhausbus/de/hausbus/homeassistant/proxy/wiFi/params/EErrorCode.py +14 -4
  474. pyhausbus/templates/AR8_30_8-fach-Relaismodul.tpl +18 -0
  475. pyhausbus/templates/ESP32C3_69_WLAN-Steckdose.tpl +5 -0
  476. pyhausbus/templates/ESP32_00_4-fach-0-10V-Dimmer.tpl +14 -0
  477. pyhausbus/templates/ESP32_01_4-fach-1-10V-Dimmer.tpl +10 -0
  478. pyhausbus/templates/ESP32_04_4-fach-Relaismodul.tpl +12 -0
  479. pyhausbus/templates/ESP32_08_8-fach-Relaismodul.tpl +18 -0
  480. pyhausbus/templates/ESP32_0A_12-fach-Relaismodul.tpl +22 -0
  481. pyhausbus/templates/ESP32_0C_16-fach-Relaismodul.tpl +26 -0
  482. pyhausbus/templates/ESP32_0D_8-fach-Motormodul.tpl +18 -0
  483. pyhausbus/templates/ESP32_10_22-fach-UP-IO.tpl +29 -0
  484. pyhausbus/templates/ESP32_18_6-fach-Taster.tpl +33 -0
  485. pyhausbus/templates/ESP32_19_4-fach-Taster.tpl +29 -0
  486. pyhausbus/templates/ESP32_1A_2-fach-Taster.tpl +25 -0
  487. pyhausbus/templates/ESP32_1B_1-fach-Taster.tpl +23 -0
  488. pyhausbus/templates/ESP32_1C_6-fach-Taster.tpl +29 -0
  489. pyhausbus/templates/ESP32_20_32-fach-IO.tpl +39 -0
  490. pyhausbus/templates/ESP32_28_8-fach-Dimmer.tpl +18 -0
  491. pyhausbus/templates/ESP32_30_2-fach-RGB-Dimmer.tpl +17 -0
  492. pyhausbus/templates/ESP32_31_2-fach-RGB-Dimmer.tpl +17 -0
  493. pyhausbus/templates/ESP32_65_LAN-RS485-Brueckenmodul.tpl +1 -0
  494. pyhausbus/templates/ESP32_99_LocalBroadcastDevice.tpl +1 -0
  495. pyhausbus/templates/FckmMapping.def +1 -0
  496. pyhausbus/templates/HBC_00_4-fach-0-10V-Dimmer.tpl +10 -0
  497. pyhausbus/templates/HBC_01_4-fach-1-10V-Dimmer.tpl +10 -0
  498. pyhausbus/templates/HBC_08_8-fach-Relaismodul.tpl +18 -0
  499. pyhausbus/templates/HBC_0C_16-fach-Relaismodul.tpl +26 -0
  500. pyhausbus/templates/HBC_10_24-fach-UP-IO.tpl +31 -0
  501. pyhausbus/templates/HBC_18_6-fach-Taster.tpl +34 -0
  502. pyhausbus/templates/HBC_19_4-fach-Taster.tpl +28 -0
  503. pyhausbus/templates/HBC_1A_2-fach-Taster.tpl +24 -0
  504. pyhausbus/templates/HBC_1B_1-fach-Taster.tpl +22 -0
  505. pyhausbus/templates/HBC_1C_6-fach-Taster.tpl +33 -0
  506. pyhausbus/templates/HBC_1D_4-fach-Taster.tpl +29 -0
  507. pyhausbus/templates/HBC_1E_2-fach-Taster.tpl +29 -0
  508. pyhausbus/templates/HBC_1F_1-fach-Taster.tpl +27 -0
  509. pyhausbus/templates/HBC_20_32-fach-IO.tpl +39 -0
  510. pyhausbus/templates/HBC_29_8-fach-Dimmer.tpl +18 -0
  511. pyhausbus/templates/HBC_30_2-fach-RGB-Dimmer.tpl +17 -0
  512. pyhausbus/templates/LoxoneHausBusMapping.txt +80 -0
  513. pyhausbus/templates/LoxoneModuleMapping.txt +11 -0
  514. pyhausbus/templates/SD485_1E_6-fach-Taster.tpl +30 -0
  515. pyhausbus/templates/SD485_28_24-fach-UP-IO.tpl +31 -0
  516. pyhausbus/templates/SD485_29_1-fach-Taster.tpl +24 -0
  517. pyhausbus/templates/SD485_2A_2-fach-Taster.tpl +26 -0
  518. pyhausbus/templates/SD485_2C_4-fach-Taster.tpl +26 -0
  519. pyhausbus/templates/SD485_2E_6-fach-Taster.tpl +30 -0
  520. pyhausbus/templates/SD485_2F_6-fach-Taster.tpl +30 -0
  521. pyhausbus/templates/SD6_14_Multitaster.tpl +26 -0
  522. pyhausbus/templates/SD6_1E_Multitaster.tpl +26 -0
  523. pyhausbus/templates/classMapping.def +9 -0
  524. pyhausbus/templates/deviceTypes.def +47 -0
  525. {pyhausbus-1.0.1.dist-info → pyhausbus-1.0.3.dist-info}/LICENSE +21 -21
  526. {pyhausbus-1.0.1.dist-info → pyhausbus-1.0.3.dist-info}/METADATA +2 -1
  527. pyhausbus-1.0.3.dist-info/RECORD +639 -0
  528. {pyhausbus-1.0.1.dist-info → pyhausbus-1.0.3.dist-info}/WHEEL +1 -1
  529. pyhausbus/HausBusDevice.py +0 -70
  530. pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/BusTiming.py +0 -25
  531. pyhausbus-1.0.1.dist-info/RECORD +0 -526
pyhausbus/HausBusUtils.py CHANGED
@@ -1,203 +1,203 @@
1
- import logging
2
- import time
3
- import traceback
4
-
5
- LOGGER = logging.getLogger("pyhausbus")
6
-
7
- HOMESERVER_DEVICE_ID: int = 9998
8
- HOMESERVER_OBJECT_ID: int = (HOMESERVER_DEVICE_ID << 16) + (0 << 8) + 1
9
-
10
- UDP_PORT = 5855
11
-
12
-
13
- def getObjectId(deviceId: int, classId: int, instanceId: int) -> int:
14
- return (deviceId << 16) + (classId << 8) + instanceId
15
-
16
-
17
- def bytesToDWord(data: bytearray, offset) -> int:
18
- try:
19
- result = 0
20
- result += data[offset[0]] & 0xFF
21
- offset[0] += 1
22
-
23
- result += (data[offset[0]] & 0xFF) * 256
24
- offset[0] += 1
25
-
26
- result += (data[offset[0]] & 0xFF) * 65536
27
- offset[0] += 1
28
-
29
- result += (data[offset[0]] & 0xFF) * 16777216
30
- offset[0] += 1
31
-
32
- return result
33
- except Exception as err:
34
- LOGGER.error(err, exc_info=True, stack_info=True)
35
- return 0
36
-
37
-
38
- def bytesToWord(data: bytearray, offset) -> int:
39
- try:
40
- result = 0
41
- result += data[offset[0]] & 0xFF
42
- offset[0] += 1
43
-
44
- result += (data[offset[0]] & 0xFF) * 256
45
- offset[0] += 1
46
-
47
- return result
48
- except Exception as err:
49
- LOGGER.error(err, exc_info=True, stack_info=True)
50
- return 0
51
-
52
-
53
- def bytesToInt(data: bytearray, offset) -> int:
54
- try:
55
- if len(data) <= offset[0]:
56
- return 0
57
- result = data[offset[0]] & 0xFF
58
- offset[0] += 1
59
- return result
60
- except Exception as err:
61
- LOGGER.error(err, exc_info=True, stack_info=True)
62
- return 0
63
-
64
-
65
- def bytesToString(data: bytearray, offset) -> str:
66
- try:
67
- result = ""
68
- for i in range(offset[0], len(data)):
69
- offset[0] += 1
70
- if data[i] == 0:
71
- break
72
-
73
- result += chr(data[i])
74
- return result
75
- except Exception as err:
76
- LOGGER.error(err, exc_info=True, stack_info=True)
77
- return ""
78
-
79
-
80
- def bytesToDebugString(message: bytearray) -> str:
81
- result = ""
82
- for byte in message:
83
- if result != "":
84
- result = result + ", "
85
- result = result + hex(byte)
86
- return result
87
-
88
-
89
- def getInstanceId(objectId) -> int:
90
- return (objectId) & 0xFF
91
-
92
-
93
- def getDeviceId(objectId) -> int:
94
- return ((objectId >> 24) & 0xFF) * 256 + ((objectId >> 16) & 0xFF)
95
-
96
-
97
- def getClassId(objectId) -> int:
98
- return (objectId >> 8) & 0xFF
99
-
100
-
101
- def formatObjectId(objectId) -> str:
102
- result = "[DeviceId: " + str(getDeviceId(objectId))
103
- result += ", ClassId: " + str(getClassId(objectId))
104
- result += ", Instance: " + str(getInstanceId(objectId)) + "]"
105
- return result
106
-
107
-
108
- def getClockIndependMillis():
109
- return time.perf_counter() * 1000
110
-
111
-
112
- def setBit(is_set: bool, bit: int, value: int) -> int:
113
- if is_set:
114
- value |= 1 << bit
115
- else:
116
- value &= ~(1 << bit)
117
- return value
118
-
119
-
120
- def isBitSet(bit: int, value: int) -> bool:
121
- return ((value >> bit) & 1) > 0
122
-
123
-
124
- def bytesToBlob(data: bytearray, offset) -> bytearray:
125
- try:
126
- result = bytearray(len(data) - offset[0])
127
- result[:] = data[offset[0] :]
128
- offset[0] = offset[0] + len(data)
129
- return result
130
- except Exception as err:
131
- LOGGER.error(err, exc_info=True, stack_info=True)
132
- return 0
133
-
134
-
135
- def dWordToBytes(value: int) -> bytearray:
136
- result = bytearray(4)
137
- result[0] = value & 0xFF
138
- result[1] = (value >> 8) & 0xFF
139
- result[2] = (value >> 16) & 0xFF
140
- result[3] = (value >> 24) & 0xFF
141
- return result
142
-
143
-
144
- def addWord(value: int, inOutList):
145
- inOutList.append(value & 0xFF)
146
- inOutList.append((value >> 8) & 0xFF)
147
-
148
-
149
- def addDword(value: int, inOutList):
150
- inOutList.append(value & 0xFF)
151
- inOutList.append((value >> 8) & 0xFF)
152
- inOutList.append((value >> 16) & 0xFF)
153
- inOutList.append((value >> 24) & 0xFF)
154
-
155
-
156
- def wordToBytes(value: int) -> bytearray:
157
- result = bytearray(2)
158
- result[0] = value & 0xFF
159
- result[1] = (value >> 8) & 0xFF
160
- return result
161
-
162
-
163
- def bytesToSInt(data: bytearray, offset) -> int:
164
- result = data[offset[0]] & 0xFF
165
- offset[0] += 1
166
- if result > 127:
167
- result -= 256
168
- return result
169
-
170
-
171
- def formatBytes(
172
- data: bytearray, offset: int = 0, length: int = -1, asHex: bool = True
173
- ) -> str:
174
- if length == -1:
175
- length = len(data)
176
-
177
- if data == None:
178
- return "NULL"
179
-
180
- result = ""
181
-
182
- for i in range(offset, length):
183
- if asHex:
184
- result += "0x" + hex(data[i])
185
- else:
186
- result += data[i] & 0xFF
187
- return result
188
-
189
-
190
- def bytesToList(data: bytearray, offset):
191
- try:
192
- result = bytearray()
193
- offsetStart = offset[0]
194
- for i in range(offsetStart, len(data), 2):
195
- key = data[i] & 0xFF
196
- value = data[i + 1] & 0xFF
197
- result.append(key)
198
- result.append(value)
199
- offset[0] += 2
200
- return result
201
- except Exception as err:
202
- LOGGER.error(err, exc_info=True, stack_info=True)
203
- return bytearray()
1
+ import logging
2
+ import time
3
+ import traceback
4
+
5
+ LOGGER = logging.getLogger("pyhausbus")
6
+
7
+ HOMESERVER_DEVICE_ID: int = 9998
8
+ HOMESERVER_OBJECT_ID: int = (HOMESERVER_DEVICE_ID << 16) + (0 << 8) + 1
9
+
10
+ UDP_PORT = 5855
11
+
12
+
13
+ def getObjectId(deviceId: int, classId: int, instanceId: int) -> int:
14
+ return (deviceId << 16) + (classId << 8) + instanceId
15
+
16
+
17
+ def bytesToDWord(data: bytearray, offset) -> int:
18
+ try:
19
+ result = 0
20
+ result += data[offset[0]] & 0xFF
21
+ offset[0] += 1
22
+
23
+ result += (data[offset[0]] & 0xFF) * 256
24
+ offset[0] += 1
25
+
26
+ result += (data[offset[0]] & 0xFF) * 65536
27
+ offset[0] += 1
28
+
29
+ result += (data[offset[0]] & 0xFF) * 16777216
30
+ offset[0] += 1
31
+
32
+ return result
33
+ except Exception as err:
34
+ LOGGER.error(err, exc_info=True, stack_info=True)
35
+ return 0
36
+
37
+
38
+ def bytesToWord(data: bytearray, offset) -> int:
39
+ try:
40
+ result = 0
41
+ result += data[offset[0]] & 0xFF
42
+ offset[0] += 1
43
+
44
+ result += (data[offset[0]] & 0xFF) * 256
45
+ offset[0] += 1
46
+
47
+ return result
48
+ except Exception as err:
49
+ LOGGER.error(err, exc_info=True, stack_info=True)
50
+ return 0
51
+
52
+
53
+ def bytesToInt(data: bytearray, offset) -> int:
54
+ try:
55
+ if len(data) <= offset[0]:
56
+ return 0
57
+ result = data[offset[0]] & 0xFF
58
+ offset[0] += 1
59
+ return result
60
+ except Exception as err:
61
+ LOGGER.error(err, exc_info=True, stack_info=True)
62
+ return 0
63
+
64
+
65
+ def bytesToString(data: bytearray, offset) -> str:
66
+ try:
67
+ result = ""
68
+ for i in range(offset[0], len(data)):
69
+ offset[0] += 1
70
+ if data[i] == 0:
71
+ break
72
+
73
+ result += chr(data[i])
74
+ return result
75
+ except Exception as err:
76
+ LOGGER.error(err, exc_info=True, stack_info=True)
77
+ return ""
78
+
79
+
80
+ def bytesToDebugString(message: bytearray) -> str:
81
+ result = ""
82
+ for byte in message:
83
+ if result != "":
84
+ result = result + ", "
85
+ result = result + hex(byte)
86
+ return result
87
+
88
+
89
+ def getInstanceId(objectId) -> int:
90
+ return (objectId) & 0xFF
91
+
92
+
93
+ def getDeviceId(objectId) -> int:
94
+ return ((objectId >> 24) & 0xFF) * 256 + ((objectId >> 16) & 0xFF)
95
+
96
+
97
+ def getClassId(objectId) -> int:
98
+ return (objectId >> 8) & 0xFF
99
+
100
+
101
+ def formatObjectId(objectId) -> str:
102
+ result = "[DeviceId: " + str(getDeviceId(objectId))
103
+ result += ", ClassId: " + str(getClassId(objectId))
104
+ result += ", Instance: " + str(getInstanceId(objectId)) + "]"
105
+ return result
106
+
107
+
108
+ def getClockIndependMillis():
109
+ return time.perf_counter() * 1000
110
+
111
+
112
+ def setBit(is_set: bool, bit: int, value: int) -> int:
113
+ if is_set:
114
+ value |= 1 << bit
115
+ else:
116
+ value &= ~(1 << bit)
117
+ return value
118
+
119
+
120
+ def isBitSet(bit: int, value: int) -> bool:
121
+ return ((value >> bit) & 1) > 0
122
+
123
+
124
+ def bytesToBlob(data: bytearray, offset) -> bytearray:
125
+ try:
126
+ result = bytearray(len(data) - offset[0])
127
+ result[:] = data[offset[0] :]
128
+ offset[0] = offset[0] + len(data)
129
+ return result
130
+ except Exception as err:
131
+ LOGGER.error(err, exc_info=True, stack_info=True)
132
+ return 0
133
+
134
+
135
+ def dWordToBytes(value: int) -> bytearray:
136
+ result = bytearray(4)
137
+ result[0] = value & 0xFF
138
+ result[1] = (value >> 8) & 0xFF
139
+ result[2] = (value >> 16) & 0xFF
140
+ result[3] = (value >> 24) & 0xFF
141
+ return result
142
+
143
+
144
+ def addWord(value: int, inOutList):
145
+ inOutList.append(value & 0xFF)
146
+ inOutList.append((value >> 8) & 0xFF)
147
+
148
+
149
+ def addDword(value: int, inOutList):
150
+ inOutList.append(value & 0xFF)
151
+ inOutList.append((value >> 8) & 0xFF)
152
+ inOutList.append((value >> 16) & 0xFF)
153
+ inOutList.append((value >> 24) & 0xFF)
154
+
155
+
156
+ def wordToBytes(value: int) -> bytearray:
157
+ result = bytearray(2)
158
+ result[0] = value & 0xFF
159
+ result[1] = (value >> 8) & 0xFF
160
+ return result
161
+
162
+
163
+ def bytesToSInt(data: bytearray, offset) -> int:
164
+ result = data[offset[0]] & 0xFF
165
+ offset[0] += 1
166
+ if result > 127:
167
+ result -= 256
168
+ return result
169
+
170
+
171
+ def formatBytes(
172
+ data: bytearray, offset: int = 0, length: int = -1, asHex: bool = True
173
+ ) -> str:
174
+ if length == -1:
175
+ length = len(data)
176
+
177
+ if data == None:
178
+ return "NULL"
179
+
180
+ result = ""
181
+
182
+ for i in range(offset, length):
183
+ if asHex:
184
+ result += "0x" + hex(data[i])
185
+ else:
186
+ result += data[i] & 0xFF
187
+ return result
188
+
189
+
190
+ def bytesToList(data: bytearray, offset):
191
+ try:
192
+ result = bytearray()
193
+ offsetStart = offset[0]
194
+ for i in range(offsetStart, len(data), 2):
195
+ key = data[i] & 0xFF
196
+ value = data[i + 1] & 0xFF
197
+ result.append(key)
198
+ result.append(value)
199
+ offset[0] += 2
200
+ return result
201
+ except Exception as err:
202
+ LOGGER.error(err, exc_info=True, stack_info=True)
203
+ return bytearray()
pyhausbus/HomeServer.py CHANGED
@@ -1,68 +1,86 @@
1
- from pyhausbus.BusHandler import BusHandler
2
- from pyhausbus.IBusDataListener import IBusDataListener
3
- from pyhausbus.de.hausbus.homeassistant.proxy.Controller import Controller
4
- from pyhausbus.de.hausbus.homeassistant.proxy.controller.params.EIndex import EIndex
5
- from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.RemoteObjects import (
6
- RemoteObjects,
7
- )
8
- from pyhausbus.HausBusUtils import LOGGER
9
- import pyhausbus.de.hausbus.homeassistant.proxy.ProxyFactory as ProxyFactory
10
- import pyhausbus.HausBusUtils as HausBusUtils
11
- from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.ModuleId import ModuleId
12
- import importlib
13
- import traceback
14
- import time
15
- import threading
16
- from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.EvStarted import EvStarted
17
- from pyhausbus.ResultWorker import ResultWorker
18
-
19
- class HomeServer(IBusDataListener):
20
- _instance = None
21
- bushandler = None
22
-
23
- def __new__(cls, *args, **kwargs):
24
- if not cls._instance:
25
- cls._instance = super().__new__(cls, *args, **kwargs)
26
- return cls._instance
27
-
28
- def __init__(self):
29
- LOGGER.debug("init homeserver")
30
- self.bushandler = BusHandler.getInstance()
31
- self.bushandler.addBusEventListener(ResultWorker())
32
- self.bushandler.addBusEventListener(self)
33
-
34
- def searchDevices(self):
35
- controler = Controller(0)
36
- controler.getModuleId(EIndex.RUNNING)
37
-
38
- def addBusEventListener(self, listener: IBusDataListener):
39
- self.bushandler.addBusEventListener(listener)
40
-
41
- def removeBusEventListener(self, listener: IBusDataListener):
42
- self.bushandler.removeBusEventListener(listener)
43
-
44
- def getDeviceInstances(self, senderObjectId: int, remoteObjects: RemoteObjects):
45
- deviceId = HausBusUtils.getDeviceId(senderObjectId)
46
- objectList = remoteObjects.getObjectList()
47
-
48
- result = []
49
- for i in range(0, len(objectList), 2):
50
- instanceId = objectList[i]
51
- classId = objectList[i + 1]
52
- className = ProxyFactory.getBusClassNameForClass(classId)
53
- objectId = HausBusUtils.getObjectId(deviceId, classId, instanceId)
54
-
55
- try:
56
- module_name, class_name = className.rsplit(".", 1)
57
- module = importlib.import_module(className)
58
- cls = getattr(module, class_name)
59
- obj = cls(objectId)
60
- result.append(obj)
61
- except Exception as err:
62
- LOGGER.error(err,exc_info=True, stack_info=True)
63
- return result
64
-
65
- def busDataReceived(self, busDataMessage):
66
- """if a device restarts during runtime, we automatically read moduleId"""
67
- if isinstance(busDataMessage.getData(), EvStarted):
68
- Controller(busDataMessage.getSenderObjectId()).getModuleId(EIndex.RUNNING)
1
+ from pyhausbus.BusHandler import BusHandler
2
+ from pyhausbus.Templates import Templates
3
+ from pyhausbus.IBusDataListener import IBusDataListener
4
+ from pyhausbus.de.hausbus.homeassistant.proxy.Controller import Controller
5
+ from pyhausbus.de.hausbus.homeassistant.proxy.controller.params.EIndex import EIndex
6
+ from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.RemoteObjects import (
7
+ RemoteObjects,
8
+ )
9
+ from pyhausbus.HausBusUtils import LOGGER
10
+ import pyhausbus.de.hausbus.homeassistant.proxy.ProxyFactory as ProxyFactory
11
+ import pyhausbus.HausBusUtils as HausBusUtils
12
+ from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.ModuleId import ModuleId
13
+ from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.Configuration import Configuration
14
+ import importlib
15
+ import traceback
16
+ import time
17
+ import threading
18
+ from pyhausbus.de.hausbus.homeassistant.proxy.controller.data.EvStarted import EvStarted
19
+ from pyhausbus.ResultWorker import ResultWorker
20
+
21
+ class HomeServer(IBusDataListener):
22
+ _instance = None
23
+ bushandler = None
24
+ modulesIds = {}
25
+ configurations = {}
26
+
27
+ def __new__(cls, *args, **kwargs):
28
+ if not cls._instance:
29
+ cls._instance = super().__new__(cls, *args, **kwargs)
30
+ return cls._instance
31
+
32
+ def __init__(self):
33
+ LOGGER.debug("init homeserver")
34
+ self.bushandler = BusHandler.getInstance()
35
+ self.bushandler.addBusEventListener(ResultWorker())
36
+ self.bushandler.addBusEventListener(self)
37
+
38
+ def searchDevices(self):
39
+ controler = Controller(0)
40
+ controler.getModuleId(EIndex.RUNNING)
41
+
42
+ def addBusEventListener(self, listener: IBusDataListener):
43
+ self.bushandler.addBusEventListener(listener)
44
+
45
+ def removeBusEventListener(self, listener: IBusDataListener):
46
+ self.bushandler.removeBusEventListener(listener)
47
+
48
+ def getDeviceInstances(self, senderObjectId: int, remoteObjects: RemoteObjects):
49
+ deviceId = HausBusUtils.getDeviceId(senderObjectId)
50
+ objectList = remoteObjects.getObjectList()
51
+ moduleId = self.modulesIds[deviceId];
52
+ configuration = self.configurations[deviceId];
53
+
54
+ result = []
55
+ for i in range(0, len(objectList), 2):
56
+ instanceId = objectList[i]
57
+ classId = objectList[i + 1]
58
+ className = ProxyFactory.getBusClassNameForClass(classId)
59
+ objectId = HausBusUtils.getObjectId(deviceId, classId, instanceId)
60
+ featureName = Templates.get_instance().get_feature_name_from_template(moduleId.getFirmwareId(), configuration.getFCKE(), classId, instanceId);
61
+
62
+ try:
63
+ module_name, class_name = className.rsplit(".", 1)
64
+ module = importlib.import_module(className)
65
+ cls = getattr(module, class_name)
66
+ obj = cls(objectId)
67
+ if featureName!=None:
68
+ obj.setName(featureName)
69
+ result.append(obj)
70
+ except Exception as err:
71
+ LOGGER.error(err,exc_info=True, stack_info=True)
72
+ return result
73
+
74
+ def busDataReceived(self, busDataMessage):
75
+ """if a device restarts during runtime, we automatically read moduleId"""
76
+ if isinstance(busDataMessage.getData(), ModuleId):
77
+ self.modulesIds[HausBusUtils.getDeviceId(busDataMessage.getSenderObjectId())]=busDataMessage.getData();
78
+ Controller(busDataMessage.getSenderObjectId()).getConfiguration()
79
+
80
+ if isinstance(busDataMessage.getData(), Configuration):
81
+ self.configurations[HausBusUtils.getDeviceId(busDataMessage.getSenderObjectId())]=busDataMessage.getData();
82
+ Controller(busDataMessage.getSenderObjectId()).getRemoteObjects()
83
+
84
+ """ if a device restarts during runtime, we automatically read moduleId"""
85
+ if isinstance(busDataMessage.getData(), EvStarted):
86
+ Controller(busDataMessage.getSenderObjectId()).getModuleId(EIndex.RUNNING)
@@ -1,7 +1,7 @@
1
- from abc import ABC, abstractmethod
2
-
3
- class IBusDataListener(ABC):
4
-
5
- @abstractmethod
6
- def busDataReceived(self,busDataMessage):
1
+ from abc import ABC, abstractmethod
2
+
3
+ class IBusDataListener(ABC):
4
+
5
+ @abstractmethod
6
+ def busDataReceived(self,busDataMessage):
7
7
  pass