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/ABusFeature.py CHANGED
@@ -1,22 +1,22 @@
1
- from pyhausbus.HausBusUtils import LOGGER
2
- from pyhausbus.ObjectId import ObjectId
3
-
4
- class ABusFeature:
5
-
6
- def __init__(self, objectId:int):
7
- self.objectId = objectId
8
- self.name:str=""
9
-
10
- def getObjectId(self) -> int:
11
- return self.objectId
12
-
13
- def getName(self) -> str:
14
- return self.name
15
-
16
- def setName(self, name:str):
17
- self.name = name
18
-
19
- def __str__(self):
20
- dummy, classType = str(type(self)).rsplit(".", 1)
21
- classType = classType[:-2]
22
- return f"ABusFeature(type={classType}, name={self.name}, objectId={ObjectId(self.objectId)}"
1
+ from pyhausbus.HausBusUtils import LOGGER
2
+ from pyhausbus.ObjectId import ObjectId
3
+
4
+ class ABusFeature:
5
+
6
+ def __init__(self, objectId:int):
7
+ self.objectId = objectId
8
+ self.name:str=""
9
+
10
+ def getObjectId(self) -> int:
11
+ return self.objectId
12
+
13
+ def getName(self) -> str:
14
+ return self.name
15
+
16
+ def setName(self, name:str):
17
+ self.name = name
18
+
19
+ def __str__(self):
20
+ dummy, classType = str(type(self)).rsplit(".", 1)
21
+ classType = classType[:-2]
22
+ return f"ABusFeature(type={classType}, name={self.name}, objectId={ObjectId(self.objectId)}"
@@ -1,23 +1,23 @@
1
- import pyhausbus.HausBusUtils as HausBusUtils
2
-
3
-
4
- class BusDataMessage:
5
-
6
- def __init__(self, senderObjectId, receiverObjectId, data):
7
- self.senderObjectId = senderObjectId
8
- self.receiverObjectId = receiverObjectId
9
- self.data = data
10
- self.time = HausBusUtils.getClockIndependMillis()
11
-
12
- def getSenderObjectId(self):
13
- return self.senderObjectId
14
-
15
- def getReceiverObjectId(self):
16
- return self.receiverObjectId
17
-
18
- def getData(self):
19
- return self.data
20
-
21
- def __str__(self):
22
- return f"BusMessage(senderObjectId={self.senderObjectId}, receiverObjectId={self.receiverObjectId}, data={self.data})"
23
-
1
+ import pyhausbus.HausBusUtils as HausBusUtils
2
+
3
+
4
+ class BusDataMessage:
5
+
6
+ def __init__(self, senderObjectId, receiverObjectId, data):
7
+ self.senderObjectId = senderObjectId
8
+ self.receiverObjectId = receiverObjectId
9
+ self.data = data
10
+ self.time = HausBusUtils.getClockIndependMillis()
11
+
12
+ def getSenderObjectId(self):
13
+ return self.senderObjectId
14
+
15
+ def getReceiverObjectId(self):
16
+ return self.receiverObjectId
17
+
18
+ def getData(self):
19
+ return self.data
20
+
21
+ def __str__(self):
22
+ return f"BusMessage(senderObjectId={self.senderObjectId}, receiverObjectId={self.receiverObjectId}, data={self.data})"
23
+
pyhausbus/BusHandler.py CHANGED
@@ -1,110 +1,110 @@
1
- import threading
2
- from pyhausbus.de.hausbus.homeassistant.proxy import ProxyFactory
3
- from pyhausbus.HausBusUtils import *
4
- from pyhausbus.BusDataMessage import BusDataMessage
5
- from pyhausbus.IBusDataListener import IBusDataListener
6
- import time
7
- import importlib
8
- from pyhausbus.UdpReceiveWorker import UdpReceiveWorker
9
- import socket
10
- import pyhausbus.HausBusUtils as HausBusUtils
11
- import traceback
12
-
13
- RS485_GATEWAY = "#RS485#"
14
- EVENTS_START = 200
15
- RESULT_START = 128
16
-
17
- class BusHandler:
18
-
19
- _singleInstance = None
20
- sock:None
21
- broadcastIp = "192.168.178.255"
22
- listeners = []
23
-
24
- @staticmethod
25
- def getInstance():
26
- if BusHandler._singleInstance is None:
27
- BusHandler._singleInstance = BusHandler()
28
- return BusHandler._singleInstance
29
-
30
- def __init__(self):
31
- if BusHandler._singleInstance is None:
32
- self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
33
- self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
34
- x = UdpReceiveWorker(self.busDataReceived)
35
- x.startWorker()
36
- self._getBroadcastIp()
37
-
38
- def _getBroadcastIp(self):
39
- temp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
40
- try:
41
- temp_socket.connect(("8.8.8.8", 80))
42
- own_ip = temp_socket.getsockname()[0].split('.')
43
- self.broadcastIp = own_ip[0] + "." + own_ip[1] + "." + own_ip[2] + ".255"
44
- finally:
45
- temp_socket.close()
46
-
47
- def busDataReceived(self, senderObjectId, receiverObjectId, functionId, functionData, gateway, corrupted:bool):
48
- # Es kann entweder eine Antwort oder Event des Senders sein oder ein Aufruf auf dem Empfänger
49
- featureClassId = 0
50
- identifierId = 0
51
- if (functionId < RESULT_START):
52
- featureClassId = getClassId(receiverObjectId)
53
- identifierId = receiverObjectId
54
- else:
55
- featureClassId = getClassId(senderObjectId)
56
- identifierId = senderObjectId
57
-
58
- LOGGER.debug("classId = " + str(featureClassId) + ", functionId = " + str(functionId))
59
- className = ProxyFactory.getBusClassNameFor(featureClassId, functionId)
60
- if (className=="de.hausbus.proxy.LogicalButton"):
61
- LOGGER.debug("test")
62
-
63
- try:
64
- module_name, class_name = className.rsplit(".", 1)
65
- module = importlib.import_module(className)
66
- cls = getattr(module, class_name)
67
- method = getattr(cls, "_fromBytes")
68
- offset = [0]
69
- newObject = method(functionData, offset)
70
-
71
- add = ""
72
- if (corrupted):
73
- add = " (corrupted) "
74
-
75
- message = gateway + " COMMAND IN " + add + " from " + str(getDeviceId(senderObjectId)) + " to " + str(getDeviceId(receiverObjectId)) + ": " + str(newObject) + ", Sender: " + formatObjectId(senderObjectId) + ", Receiver: " + str(formatObjectId(receiverObjectId))
76
- LOGGER.debug(message)
77
-
78
- if (not corrupted):
79
- newMessage = BusDataMessage(senderObjectId, receiverObjectId, newObject)
80
- LOGGER.debug("got: " + str(newObject) + " from " + str(senderObjectId) + " to " + str(receiverObjectId))
81
- for actListener in self.listeners:
82
- actListener.busDataReceived(newMessage)
83
- except (Exception, RuntimeError, TypeError, NameError, OSError) as err:
84
- LOGGER.error(err,exc_info=True,stack_info=True)
85
-
86
- def sendData(self, data:bytearray, debug:str):
87
-
88
- udpData:bytearray = self.prepareForUDP(data)
89
-
90
- LOGGER.debug(UdpReceiveWorker.UDP_GATEWAY + " COMMAND OUT " + debug)
91
- LOGGER.debug(UdpReceiveWorker.UDP_GATEWAY + " DATA OUT " + HausBusUtils.formatBytes(udpData))
92
-
93
- try:
94
- self.sock.sendto(udpData, (self.broadcastIp, UDP_PORT))
95
- except socket.error as e:
96
- LOGGER.error(e,exc_info=True,stack_info=True)
97
-
98
- def prepareForUDP(self, data:bytearray) -> bytearray:
99
- result = bytearray(len(data) + 2)
100
- result[0] = 0xef
101
- result[1] = 0xef
102
- result[2:] = data[:]
103
- return result
104
-
105
- def addBusEventListener(self, listener:IBusDataListener):
106
- if not listener in self.listeners:
107
- self.listeners.append(listener)
108
-
109
- def removeBusEventListener(self, listener:IBusDataListener):
110
- self.listeners.remove(listener)
1
+ import threading
2
+ from pyhausbus.de.hausbus.homeassistant.proxy import ProxyFactory
3
+ from pyhausbus.HausBusUtils import *
4
+ from pyhausbus.BusDataMessage import BusDataMessage
5
+ from pyhausbus.IBusDataListener import IBusDataListener
6
+ import time
7
+ import importlib
8
+ from pyhausbus.UdpReceiveWorker import UdpReceiveWorker
9
+ import socket
10
+ import pyhausbus.HausBusUtils as HausBusUtils
11
+ import traceback
12
+
13
+ RS485_GATEWAY = "#RS485#"
14
+ EVENTS_START = 200
15
+ RESULT_START = 128
16
+
17
+ class BusHandler:
18
+
19
+ _singleInstance = None
20
+ sock:None
21
+ broadcastIp = "192.168.178.255"
22
+ listeners = []
23
+
24
+ @staticmethod
25
+ def getInstance():
26
+ if BusHandler._singleInstance is None:
27
+ BusHandler._singleInstance = BusHandler()
28
+ return BusHandler._singleInstance
29
+
30
+ def __init__(self):
31
+ if BusHandler._singleInstance is None:
32
+ self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
33
+ self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
34
+ x = UdpReceiveWorker(self.busDataReceived)
35
+ x.startWorker()
36
+ self._getBroadcastIp()
37
+
38
+ def _getBroadcastIp(self):
39
+ temp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
40
+ try:
41
+ temp_socket.connect(("8.8.8.8", 80))
42
+ own_ip = temp_socket.getsockname()[0].split('.')
43
+ self.broadcastIp = own_ip[0] + "." + own_ip[1] + "." + own_ip[2] + ".255"
44
+ finally:
45
+ temp_socket.close()
46
+
47
+ def busDataReceived(self, senderObjectId, receiverObjectId, functionId, functionData, gateway, corrupted:bool):
48
+ # Es kann entweder eine Antwort oder Event des Senders sein oder ein Aufruf auf dem Empfänger
49
+ featureClassId = 0
50
+ identifierId = 0
51
+ if (functionId < RESULT_START):
52
+ featureClassId = getClassId(receiverObjectId)
53
+ identifierId = receiverObjectId
54
+ else:
55
+ featureClassId = getClassId(senderObjectId)
56
+ identifierId = senderObjectId
57
+
58
+ LOGGER.debug("classId = " + str(featureClassId) + ", functionId = " + str(functionId))
59
+ className = ProxyFactory.getBusClassNameFor(featureClassId, functionId)
60
+ if (className=="de.hausbus.proxy.LogicalButton"):
61
+ LOGGER.debug("test")
62
+
63
+ try:
64
+ module_name, class_name = className.rsplit(".", 1)
65
+ module = importlib.import_module(className)
66
+ cls = getattr(module, class_name)
67
+ method = getattr(cls, "_fromBytes")
68
+ offset = [0]
69
+ newObject = method(functionData, offset)
70
+
71
+ add = ""
72
+ if (corrupted):
73
+ add = " (corrupted) "
74
+
75
+ message = gateway + " COMMAND IN " + add + " from " + str(getDeviceId(senderObjectId)) + " to " + str(getDeviceId(receiverObjectId)) + ": " + str(newObject) + ", Sender: " + formatObjectId(senderObjectId) + ", Receiver: " + str(formatObjectId(receiverObjectId))
76
+ LOGGER.debug(message)
77
+
78
+ if (not corrupted):
79
+ newMessage = BusDataMessage(senderObjectId, receiverObjectId, newObject)
80
+ LOGGER.debug("got: " + str(newObject) + " from " + str(senderObjectId) + " to " + str(receiverObjectId))
81
+ for actListener in self.listeners:
82
+ actListener.busDataReceived(newMessage)
83
+ except (Exception, RuntimeError, TypeError, NameError, OSError) as err:
84
+ LOGGER.error(err,exc_info=True,stack_info=True)
85
+
86
+ def sendData(self, data:bytearray, debug:str):
87
+
88
+ udpData:bytearray = self.prepareForUDP(data)
89
+
90
+ LOGGER.debug(UdpReceiveWorker.UDP_GATEWAY + " COMMAND OUT " + debug)
91
+ LOGGER.debug(UdpReceiveWorker.UDP_GATEWAY + " DATA OUT " + HausBusUtils.formatBytes(udpData))
92
+
93
+ try:
94
+ self.sock.sendto(udpData, (self.broadcastIp, UDP_PORT))
95
+ except socket.error as e:
96
+ LOGGER.error(e,exc_info=True,stack_info=True)
97
+
98
+ def prepareForUDP(self, data:bytearray) -> bytearray:
99
+ result = bytearray(len(data) + 2)
100
+ result[0] = 0xef
101
+ result[1] = 0xef
102
+ result[2:] = data[:]
103
+ return result
104
+
105
+ def addBusEventListener(self, listener:IBusDataListener):
106
+ if not listener in self.listeners:
107
+ self.listeners.append(listener)
108
+
109
+ def removeBusEventListener(self, listener:IBusDataListener):
110
+ self.listeners.remove(listener)
@@ -1,84 +1,84 @@
1
- from pyhausbus.BusHandler import BusHandler
2
- import pyhausbus.HausBusUtils as HausBusUtils
3
- from pyhausbus.HausBusUtils import LOGGER
4
- from pyhausbus.ObjectId import ObjectId
5
-
6
- class HausBusCommand:
7
-
8
- def __init__ (self, receiverObjectId:int, functionId:int, debug:str):
9
- self.commandCounter:int = 0
10
- self.receiverObjectId = receiverObjectId
11
- self.debug = debug
12
- self.busHandler = BusHandler.getInstance()
13
- self.data:bytearray=bytearray()
14
- self.params:bytearray=bytearray()
15
- self.bytes:bytearray=None
16
-
17
- # Kontroll-Byte
18
- self.data.append(0)
19
-
20
- # Nachrichtenzaehler
21
- self.data.append(0)
22
-
23
- # Sender-ID
24
- for act in HausBusUtils.dWordToBytes(HausBusUtils.HOMESERVER_OBJECT_ID):
25
- self.data.append(act)
26
-
27
- # Empfaenger-ID
28
- for act in HausBusUtils.dWordToBytes(receiverObjectId):
29
- self.data.append(act)
30
-
31
- self.params.append(functionId)
32
-
33
- def addByte(self, byteParam:int):
34
- self.params.append(byteParam)
35
-
36
- def addSByte(self, sByteParam:int):
37
- if (sByteParam < 0):
38
- self.params.append((256 + sByteParam))
39
- else:
40
- self.params.append(sByteParam)
41
-
42
- def addBlob(self, blob:bytearray):
43
- for act in blob:
44
- self.params.append(act)
45
-
46
- def addString(self, value:str):
47
- for i in range(len(value)):
48
- self.params.append(value[i])
49
- self.params.append(0)
50
-
51
- def addMap(self, inMap):
52
- for key, value in inMap.items():
53
- self.addByte(key)
54
- self.addByte(value)
55
-
56
- def addWord(self, wordParam:int):
57
- HausBusUtils.addWord(wordParam, self.params)
58
-
59
- def addDWord(self, dWordParam:int):
60
- HausBusUtils.addDword(dWordParam, self.params)
61
-
62
- def _createBytes(self):
63
-
64
- # Datenlaenge
65
- for act in HausBusUtils.wordToBytes(len(self.params)):
66
- self.data.append(act)
67
-
68
- # Daten
69
- for act in self.params:
70
- self.data.append(act)
71
-
72
- self.bytes = bytearray(len(self.data))
73
- for i in range (len(self.data)):
74
- self.bytes[i] = self.data[i]
75
-
76
- def send(self):
77
- LOGGER.debug("Sende " + self.debug + " an " + str(ObjectId(self.receiverObjectId)))
78
- if (self.bytes == None):
79
- self._createBytes()
80
-
81
- return self.busHandler.sendData(self.bytes, self.debug + " to " + str(HausBusUtils.getDeviceId(self.receiverObjectId)))
82
-
83
- def __str__(self):
1
+ from pyhausbus.BusHandler import BusHandler
2
+ import pyhausbus.HausBusUtils as HausBusUtils
3
+ from pyhausbus.HausBusUtils import LOGGER
4
+ from pyhausbus.ObjectId import ObjectId
5
+
6
+ class HausBusCommand:
7
+
8
+ def __init__ (self, receiverObjectId:int, functionId:int, debug:str):
9
+ self.commandCounter:int = 0
10
+ self.receiverObjectId = receiverObjectId
11
+ self.debug = debug
12
+ self.busHandler = BusHandler.getInstance()
13
+ self.data:bytearray=bytearray()
14
+ self.params:bytearray=bytearray()
15
+ self.bytes:bytearray=None
16
+
17
+ # Kontroll-Byte
18
+ self.data.append(0)
19
+
20
+ # Nachrichtenzaehler
21
+ self.data.append(0)
22
+
23
+ # Sender-ID
24
+ for act in HausBusUtils.dWordToBytes(HausBusUtils.HOMESERVER_OBJECT_ID):
25
+ self.data.append(act)
26
+
27
+ # Empfaenger-ID
28
+ for act in HausBusUtils.dWordToBytes(receiverObjectId):
29
+ self.data.append(act)
30
+
31
+ self.params.append(functionId)
32
+
33
+ def addByte(self, byteParam:int):
34
+ self.params.append(byteParam)
35
+
36
+ def addSByte(self, sByteParam:int):
37
+ if (sByteParam < 0):
38
+ self.params.append((256 + sByteParam))
39
+ else:
40
+ self.params.append(sByteParam)
41
+
42
+ def addBlob(self, blob:bytearray):
43
+ for act in blob:
44
+ self.params.append(act)
45
+
46
+ def addString(self, value:str):
47
+ for i in range(len(value)):
48
+ self.params.append(value[i])
49
+ self.params.append(0)
50
+
51
+ def addMap(self, inMap):
52
+ for key, value in inMap.items():
53
+ self.addByte(key)
54
+ self.addByte(value)
55
+
56
+ def addWord(self, wordParam:int):
57
+ HausBusUtils.addWord(wordParam, self.params)
58
+
59
+ def addDWord(self, dWordParam:int):
60
+ HausBusUtils.addDword(dWordParam, self.params)
61
+
62
+ def _createBytes(self):
63
+
64
+ # Datenlaenge
65
+ for act in HausBusUtils.wordToBytes(len(self.params)):
66
+ self.data.append(act)
67
+
68
+ # Daten
69
+ for act in self.params:
70
+ self.data.append(act)
71
+
72
+ self.bytes = bytearray(len(self.data))
73
+ for i in range (len(self.data)):
74
+ self.bytes[i] = self.data[i]
75
+
76
+ def send(self):
77
+ LOGGER.debug("Sende " + self.debug + " an " + str(ObjectId(self.receiverObjectId)))
78
+ if (self.bytes == None):
79
+ self._createBytes()
80
+
81
+ return self.busHandler.sendData(self.bytes, self.debug + " to " + str(HausBusUtils.getDeviceId(self.receiverObjectId)))
82
+
83
+ def __str__(self):
84
84
  return f"HausBusCommand(debug={self.debug} to {HausBusUtils.formatObjectId(self.receiverObjectId)}, params={self.params}, data={self.data}"