pyhausbus 1.0.0__py2.py3-none-any.whl → 1.0.2__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.
- pyhausbus/ABusFeature.py +22 -22
- pyhausbus/BusDataMessage.py +23 -23
- pyhausbus/BusHandler.py +110 -110
- pyhausbus/HausBusCommand.py +83 -83
- pyhausbus/HausBusDevice.py +70 -0
- pyhausbus/HausBusUtils.py +203 -193
- pyhausbus/HomeServer.py +86 -68
- pyhausbus/IBusDataListener.py +6 -6
- pyhausbus/Main.py +100 -100
- pyhausbus/ObjectId.py +22 -22
- pyhausbus/ResultWorker.py +53 -53
- pyhausbus/Templates.py +135 -0
- pyhausbus/UdpReceiveWorker.py +73 -73
- pyhausbus/WeekTime.py +55 -55
- pyhausbus/de/hausbus/homeassistant/proxy/AnalogEingang.py +139 -0
- pyhausbus/de/hausbus/homeassistant/proxy/Controller.py +357 -342
- pyhausbus/de/hausbus/homeassistant/proxy/Counter.py +65 -65
- pyhausbus/de/hausbus/homeassistant/proxy/CurrentReader.py +133 -121
- pyhausbus/de/hausbus/homeassistant/proxy/DaliLine.py +63 -63
- pyhausbus/de/hausbus/homeassistant/proxy/DigitalPort.py +40 -40
- pyhausbus/de/hausbus/homeassistant/proxy/Dimmer.py +91 -91
- pyhausbus/de/hausbus/homeassistant/proxy/Drucksensor.py +141 -0
- pyhausbus/de/hausbus/homeassistant/proxy/Ethernet.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/Feuchtesensor.py +77 -77
- pyhausbus/de/hausbus/homeassistant/proxy/Gateway.py +108 -97
- pyhausbus/de/hausbus/homeassistant/proxy/Helligkeitssensor.py +77 -77
- pyhausbus/de/hausbus/homeassistant/proxy/IRSensor.py +55 -55
- pyhausbus/de/hausbus/homeassistant/proxy/Led.py +117 -116
- pyhausbus/de/hausbus/homeassistant/proxy/LogicalButton.py +116 -116
- pyhausbus/de/hausbus/homeassistant/proxy/ModBusMaster.py +34 -34
- pyhausbus/de/hausbus/homeassistant/proxy/ModbusSlave.py +13 -13
- pyhausbus/de/hausbus/homeassistant/proxy/PCA9555.py +29 -0
- pyhausbus/de/hausbus/homeassistant/proxy/PCServer.py +67 -67
- pyhausbus/de/hausbus/homeassistant/proxy/PIDController.py +69 -64
- pyhausbus/de/hausbus/homeassistant/proxy/PT1000.py +153 -0
- pyhausbus/de/hausbus/homeassistant/proxy/PowerMeter.py +77 -77
- pyhausbus/de/hausbus/homeassistant/proxy/ProxyFactory.py +86 -12
- pyhausbus/de/hausbus/homeassistant/proxy/RFIDReader.py +78 -78
- pyhausbus/de/hausbus/homeassistant/proxy/RGBDimmer.py +63 -63
- pyhausbus/de/hausbus/homeassistant/proxy/Rollladen.py +110 -110
- pyhausbus/de/hausbus/homeassistant/proxy/Schalter.py +127 -104
- pyhausbus/de/hausbus/homeassistant/proxy/SnmpAgent.py +13 -13
- pyhausbus/de/hausbus/homeassistant/proxy/SystemTime.py +42 -42
- pyhausbus/de/hausbus/homeassistant/proxy/Taster.py +128 -118
- pyhausbus/de/hausbus/homeassistant/proxy/Taupunkt.py +77 -77
- pyhausbus/de/hausbus/homeassistant/proxy/TcpClient.py +38 -38
- pyhausbus/de/hausbus/homeassistant/proxy/Temperatursensor.py +78 -78
- pyhausbus/de/hausbus/homeassistant/proxy/Wetter.py +26 -26
- pyhausbus/de/hausbus/homeassistant/proxy/WiFi.py +60 -60
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/commands/GetConfiguration.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/{gateway/commands/CheckBusTiming.py → analogEingang/commands/GetStatus.py} +8 -8
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/commands/SetConfiguration.py +74 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/commands/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/Configuration.py +74 -0
- pyhausbus/de/hausbus/homeassistant/proxy/{gateway/commands/ResetBusTiming.py → analogEingang/data/EvHigh.py} +8 -8
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/EvInRange.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/EvLow.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/EvStatus.py +33 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/Status.py +25 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/data/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/params/ELastEvent.py +28 -0
- pyhausbus/de/hausbus/homeassistant/proxy/analogEingang/params/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/EnableFeature.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GenerateRandomDeviceId.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetModuleId.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetRemoteObjects.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetRuleState.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetSystemVariable.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetTime.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetUnitGroupStatus.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/GetUnusedMemory.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/Ping.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/ReadMemory.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/ReadRules.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/Reset.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/ResetOneWireManager.py +25 -0
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetConfiguration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetDebugOptions.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetRuleState.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetSunTimes.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetSystemVariable.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetTime.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/SetUnitGroupState.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/TriggerRuleElement.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/WriteMemory.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/commands/WriteRules.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/Configuration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvConsole.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvDay.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvGroupOff.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvGroupOn.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvGroupUndefined.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvNewDeviceId.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvNight.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvResetWifi.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvStarted.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvSystemVariableChanged.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvTime.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/EvZeroCrossData.py +23 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/MemoryData.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/MemoryStatus.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/ModuleId.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/Pong.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/RemoteObjects.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/RuleState.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/RulesData.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/SystemVariable.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/Time.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/TimeDifference.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/TriggeredRule.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/UnitGroupStatus.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/data/UnusedMemory.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EErrorCode.py +17 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EFeatureId.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EFirmwareId.py +15 -6
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EIndex.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EReason.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/ESlotType.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EStatus.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/EType.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/MLogicalButtonMask.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/controller/params/MOption.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/counter/commands/SetCount.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/counter/data/Configuration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/counter/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/counter/data/EvStatus.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/counter/data/Status.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/counter/params/EErrorCode.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/counter/params/MMode.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/ClearSignalCount.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/DecSignalCount.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetCurrent.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetPower.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/GetSignalCount.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/IncSignalCount.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/commands/SetSignalCount.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/Configuration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/Current.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvCurrent.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvDebug.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvError.py +26 -0
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvInterrupt.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/EvSignal.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/Power.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/data/SignalCount.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/params/EErrorCode.py +27 -0
- pyhausbus/de/hausbus/homeassistant/proxy/currentReader/params/MConfig.py +13 -13
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/AllOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/AllOn.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/GetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/SendCommand.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/data/Status.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/daliLine/params/EErrorCode.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/commands/SetConfiguration.py +11 -11
- pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/data/Configuration.py +28 -28
- pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/params/EErrorCode.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/digitalPort/params/EPin.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/SetBrightness.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/Start.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/commands/Stop.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/Configuration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvOn.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/EvStart.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/data/Status.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/params/EDirection.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/dimmer/params/EMode.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/GetConfiguration.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/GetStatus.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/SetConfiguration.py +74 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/commands/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/Configuration.py +74 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvHigh.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvInRange.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvLow.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/EvStatus.py +33 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/Status.py +33 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/data/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/params/ELastEvent.py +28 -0
- pyhausbus/de/hausbus/homeassistant/proxy/drucksensor/params/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/GetCurrentIp.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/SetConfiguration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/commands/WakeUpDevice.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/data/Configuration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/data/CurrentIp.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/params/EErrorCode.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/ethernet/params/MOptions.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvConfortable.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvDry.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvStatus.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/EvWet.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/feuchtesensor/params/ELastEvent.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/GetConnectedDevices.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/{GetBusTiming.py → GetMinIdleTime.py} +8 -8
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/SetConfiguration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/SetMinIdleTime.py +25 -0
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/commands/SetPreferLoxone.py +26 -0
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/Configuration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/ConnectedDevices.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/EvGatewayLoad.py +38 -17
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/MinIdleTime.py +25 -0
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/params/EValue.py +27 -0
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/params/MOptions.py +65 -65
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvBright.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvDark.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvLight.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/EvStatus.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/helligkeitssensor/params/ELastEvent.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/commands/Off.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/commands/On.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvClicked.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvHoldEnd.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvHoldStart.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/iRSensor/data/EvOn.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/Blink.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/GetMinBrightness.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/Off.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/On.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/led/commands/SetMinBrightness.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/Configuration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvBlink.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvCmdDelay.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvError.py +10 -9
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/EvOn.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/MinBrightness.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/data/Status.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/led/params/EErrorCode.py +26 -0
- pyhausbus/de/hausbus/homeassistant/proxy/led/params/MOptions.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/Blink.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/GetMinBrightness.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/Off.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/On.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetButtonConfiguration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetLedConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/commands/SetMinBrightness.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvBlink.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/EvOn.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/EStatus.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/MEventMask.py +65 -65
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/MOptionMask.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/logicalButton/params/MOptions.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/commands/GetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/data/Configuration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/modBusMaster/params/ESensorType.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/data/EvError.py +26 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/data/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/params/EErrorCode.py +28 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pCA9555/params/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Exec.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Quit.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/ReloadUserPlugin.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Restart.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/SetVariable.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Shutdown.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/commands/Standby.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/data/EvOffline.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pCServer/data/EvOnline.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/Enable.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/SetConfiguration.py +18 -10
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/commands/SetTargetValue.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/Configuration.py +18 -10
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/data/EvOn.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/params/EEnable.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/params/EErrorCode.py +15 -4
- pyhausbus/de/hausbus/homeassistant/proxy/pIDController/params/MOptions.py +96 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/GetConfiguration.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/GetStatus.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/SetConfiguration.py +74 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/commands/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/Configuration.py +74 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvError.py +26 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvHigh.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvInRange.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvLow.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/EvStatus.py +33 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/Status.py +33 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/data/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/params/EErrorCode.py +40 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/params/ELastEvent.py +28 -0
- pyhausbus/de/hausbus/homeassistant/proxy/pT1000/params/_init_.py +1 -0
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvHighPower.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvLowPower.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvMediumPower.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/EvStatus.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/powerMeter/params/ELastEvent.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/GetLastData.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/GetState.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/commands/SetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/Configuration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/EvConnected.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/EvData.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/LastData.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/data/State.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/params/EErrorCode.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/rFIDReader/params/EState.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/SetColor.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/EvOn.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rGBDimmer/data/Status.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/MoveToPosition.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/SetPosition.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/Start.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/commands/Stop.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/Configuration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvClosed.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvNewMainState.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvNewSubState.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvOpen.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/EvStart.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/data/Status.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/EDirection.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/ENewState.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/rollladen/params/MOptions.py +65 -65
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/Off.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/On.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/SetConfiguration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/Toggle.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/commands/ToggleByDuty.py +32 -0
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/Configuration.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvCmdDelay.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvDisabled.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvOff.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvOn.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/EvToggle.py +31 -7
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/data/Status.py +26 -12
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/params/EState.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/schalter/params/MOptions.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/commands/GetTime.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/commands/SetTime.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/data/Time.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EDate.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EErrorCode.py +13 -4
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EMonth.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/systemTime/params/EWeekDay.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/EnableEvents.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/GetEnabled.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/SetConfiguration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/taster/commands/TriggerStatusEvent.py +15 -0
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/Configuration.py +10 -10
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/Enabled.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvClicked.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvCovered.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvDoubleClick.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvEnabled.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvError.py +10 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvFree.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvHoldEnd.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/EvHoldStart.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taster/params/EEnable.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/taster/params/EErrorCode.py +27 -0
- pyhausbus/de/hausbus/homeassistant/proxy/taster/params/EState.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/taster/params/MEventMask.py +65 -65
- pyhausbus/de/hausbus/homeassistant/proxy/taster/params/MOptionMask.py +61 -61
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/commands/SetConfiguration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvAbove.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvInRange.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvLow.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/EvStatus.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/taupunkt/params/ELastEvent.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/commands/AnnounceServer.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/commands/GetCurrentIp.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/data/CurrentIp.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/tcpClient/data/EvWhoIsServer.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/commands/GetStatus.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/commands/SetConfiguration.py +8 -8
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/Configuration.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvCold.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvHot.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvStatus.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/EvWarm.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/data/Status.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/params/EErrorCode.py +14 -4
- pyhausbus/de/hausbus/homeassistant/proxy/temperatursensor/params/ELastEvent.py +12 -4
- pyhausbus/de/hausbus/homeassistant/proxy/wetter/commands/GetWeather.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/wetter/data/Weather.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/GetConfiguration.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/GetCurrentIp.py +6 -6
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/SetConfiguration.py +8 -8
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/commands/WakeUpDevice.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/data/Configuration.py +8 -8
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/data/CurrentIp.py +7 -7
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/data/EvError.py +9 -9
- pyhausbus/de/hausbus/homeassistant/proxy/wiFi/params/EErrorCode.py +14 -4
- pyhausbus/templates/AR8_30_8-fach-Relaismodul.tpl +18 -0
- pyhausbus/templates/ESP32C3_69_WLAN-Steckdose.tpl +5 -0
- pyhausbus/templates/ESP32_00_4-fach-0-10V-Dimmer.tpl +14 -0
- pyhausbus/templates/ESP32_01_4-fach-1-10V-Dimmer.tpl +10 -0
- pyhausbus/templates/ESP32_04_4-fach-Relaismodul.tpl +12 -0
- pyhausbus/templates/ESP32_08_8-fach-Relaismodul.tpl +18 -0
- pyhausbus/templates/ESP32_0A_12-fach-Relaismodul.tpl +22 -0
- pyhausbus/templates/ESP32_0C_16-fach-Relaismodul.tpl +26 -0
- pyhausbus/templates/ESP32_0D_8-fach-Motormodul.tpl +18 -0
- pyhausbus/templates/ESP32_10_22-fach-UP-IO.tpl +29 -0
- pyhausbus/templates/ESP32_18_6-fach-Taster.tpl +33 -0
- pyhausbus/templates/ESP32_19_4-fach-Taster.tpl +29 -0
- pyhausbus/templates/ESP32_1A_2-fach-Taster.tpl +25 -0
- pyhausbus/templates/ESP32_1B_1-fach-Taster.tpl +23 -0
- pyhausbus/templates/ESP32_1C_6-fach-Taster.tpl +29 -0
- pyhausbus/templates/ESP32_20_32-fach-IO.tpl +39 -0
- pyhausbus/templates/ESP32_28_8-fach-Dimmer.tpl +18 -0
- pyhausbus/templates/ESP32_30_2-fach-RGB-Dimmer.tpl +17 -0
- pyhausbus/templates/ESP32_31_2-fach-RGB-Dimmer.tpl +17 -0
- pyhausbus/templates/ESP32_65_LAN-RS485-Brueckenmodul.tpl +1 -0
- pyhausbus/templates/ESP32_99_LocalBroadcastDevice.tpl +1 -0
- pyhausbus/templates/FckmMapping.def +1 -0
- pyhausbus/templates/HBC_00_4-fach-0-10V-Dimmer.tpl +10 -0
- pyhausbus/templates/HBC_01_4-fach-1-10V-Dimmer.tpl +10 -0
- pyhausbus/templates/HBC_08_8-fach-Relaismodul.tpl +18 -0
- pyhausbus/templates/HBC_0C_16-fach-Relaismodul.tpl +26 -0
- pyhausbus/templates/HBC_10_24-fach-UP-IO.tpl +31 -0
- pyhausbus/templates/HBC_18_6-fach-Taster.tpl +34 -0
- pyhausbus/templates/HBC_19_4-fach-Taster.tpl +28 -0
- pyhausbus/templates/HBC_1A_2-fach-Taster.tpl +24 -0
- pyhausbus/templates/HBC_1B_1-fach-Taster.tpl +22 -0
- pyhausbus/templates/HBC_1C_6-fach-Taster.tpl +33 -0
- pyhausbus/templates/HBC_1D_4-fach-Taster.tpl +29 -0
- pyhausbus/templates/HBC_1E_2-fach-Taster.tpl +29 -0
- pyhausbus/templates/HBC_1F_1-fach-Taster.tpl +27 -0
- pyhausbus/templates/HBC_20_32-fach-IO.tpl +39 -0
- pyhausbus/templates/HBC_29_8-fach-Dimmer.tpl +18 -0
- pyhausbus/templates/HBC_30_2-fach-RGB-Dimmer.tpl +17 -0
- pyhausbus/templates/LoxoneHausBusMapping.txt +80 -0
- pyhausbus/templates/LoxoneModuleMapping.txt +11 -0
- pyhausbus/templates/SD485_1E_6-fach-Taster.tpl +30 -0
- pyhausbus/templates/SD485_28_24-fach-UP-IO.tpl +31 -0
- pyhausbus/templates/SD485_29_1-fach-Taster.tpl +24 -0
- pyhausbus/templates/SD485_2A_2-fach-Taster.tpl +26 -0
- pyhausbus/templates/SD485_2C_4-fach-Taster.tpl +26 -0
- pyhausbus/templates/SD485_2E_6-fach-Taster.tpl +30 -0
- pyhausbus/templates/SD485_2F_6-fach-Taster.tpl +30 -0
- pyhausbus/templates/SD6_14_Multitaster.tpl +26 -0
- pyhausbus/templates/SD6_1E_Multitaster.tpl +26 -0
- pyhausbus/templates/classMapping.def +9 -0
- pyhausbus/templates/deviceTypes.def +47 -0
- {pyhausbus-1.0.0.dist-info → pyhausbus-1.0.2.dist-info}/LICENSE +21 -21
- {pyhausbus-1.0.0.dist-info → pyhausbus-1.0.2.dist-info}/METADATA +5 -1
- pyhausbus-1.0.2.dist-info/RECORD +640 -0
- {pyhausbus-1.0.0.dist-info → pyhausbus-1.0.2.dist-info}/WHEEL +1 -1
- pyhausbus/de/hausbus/homeassistant/proxy/gateway/data/BusTiming.py +0 -25
- pyhausbus-1.0.0.dist-info/RECORD +0 -525
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)}"
|
pyhausbus/BusDataMessage.py
CHANGED
@@ -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)
|
pyhausbus/HausBusCommand.py
CHANGED
@@ -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}"
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import logging
|
2
|
+
|
3
|
+
from pyhausbus.de.hausbus.homeassistant.proxy.controller.params.EFirmwareId import (
|
4
|
+
EFirmwareId,
|
5
|
+
)
|
6
|
+
|
7
|
+
LOGGER = logging.getLogger("pyhausbus")
|
8
|
+
|
9
|
+
device_type_map = {
|
10
|
+
EFirmwareId.ESP32: {
|
11
|
+
int("0x65", 16): "LAN-RS485 Brückenmodul",
|
12
|
+
int("0x18", 16): "6-fach Taster",
|
13
|
+
int("0x19", 16): "4-fach Taster",
|
14
|
+
int("0x1A", 16): "2-fach Taster",
|
15
|
+
int("0x1B", 16): "1-fach Taster",
|
16
|
+
int("0x1C", 16): "6-fach Taster Gira",
|
17
|
+
int("0x20", 16): "32-fach IO",
|
18
|
+
int("0x0C", 16): "16-fach Relais",
|
19
|
+
int("0x08", 16): "8-fach Relais",
|
20
|
+
int("0x10", 16): "22-fach UP-IO",
|
21
|
+
int("0x28", 16): "8-fach Dimmer",
|
22
|
+
int("0x30", 16): "2-fach RGB Dimmer",
|
23
|
+
int("0x00", 16): "4-fach 0-10V Dimmer",
|
24
|
+
int("0x01", 16): "4-fach 1-10V Dimmer",
|
25
|
+
},
|
26
|
+
EFirmwareId.HBC: {
|
27
|
+
int("0x18", 16): "6-fach Taster",
|
28
|
+
int("0x19", 16): "4-fach Taster",
|
29
|
+
int("0x1A", 16): "2-fach Taster",
|
30
|
+
int("0x1B", 16): "1-fach Taster",
|
31
|
+
int("0x1C", 16): "6-fach Taster Gira",
|
32
|
+
int("0x20", 16): "32-fach IO",
|
33
|
+
int("0x0C", 16): "16-fach Relais",
|
34
|
+
int("0x08", 16): "8-fach Relais",
|
35
|
+
int("0x10", 16): "24-fach UP-IO",
|
36
|
+
int("0x28", 16): "8-fach Dimmer",
|
37
|
+
int("0x29", 16): "8-fach Dimmer",
|
38
|
+
int("0x30", 16): "2-fach RGB Dimmer",
|
39
|
+
int("0x00", 16): "4-fach 0-10V Dimmer",
|
40
|
+
int("0x01", 16): "4-fach 1-10V Dimmer",
|
41
|
+
},
|
42
|
+
EFirmwareId.SD485: {
|
43
|
+
int("0x28", 16): "24-fach UP-IO",
|
44
|
+
int("0x1E", 16): "6-fach Taster",
|
45
|
+
int("0x2E", 16): "6-fach Taster",
|
46
|
+
int("0x2F", 16): "6-fach Taster",
|
47
|
+
int("0x2B", 16): "4-fach 0-10V Dimmer",
|
48
|
+
int("0x2C", 16): "4-fach Taster",
|
49
|
+
int("0x2D", 16): "4-fach 1-10V Dimmer",
|
50
|
+
int("0x2A", 16): "2-fach Taster",
|
51
|
+
int("0x29", 16): "1-fach Taster",
|
52
|
+
},
|
53
|
+
EFirmwareId.AR8: {
|
54
|
+
int("0x28", 16): "LAN Brückenmodul",
|
55
|
+
int("0x30", 16): "8-fach Relais",
|
56
|
+
},
|
57
|
+
EFirmwareId.SD6: {
|
58
|
+
int("0x14", 16): "Multitaster",
|
59
|
+
int("0x1E", 16): "Multitaster",
|
60
|
+
},
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
def get_device_type(firmware_id: EFirmwareId, type_id: int) -> str:
|
65
|
+
"""Get device type from firmware ID and type ID."""
|
66
|
+
firmware_model_id = device_type_map.get(firmware_id, {})
|
67
|
+
if len(firmware_model_id) == 0:
|
68
|
+
return "Controller"
|
69
|
+
else:
|
70
|
+
return firmware_model_id.get(type_id, "Controller")
|