├── .gitattributes
├── .github
├── scripts
│ └── maven-build
├── smarthomej-compile-problems.json
├── stale.yml
└── workflows
│ ├── ci-build-41.yml
│ ├── ci-build-42.yml
│ ├── ci-build-43.yml
│ └── ci-build-50.yml
├── .gitignore
├── .travis.yml
├── CODEOWNERS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── bom
├── openhab-core-index
│ └── pom.xml
├── pom.xml
├── runtime-index
│ └── pom.xml
├── smarthomej-addons
│ └── pom.xml
└── test-index
│ └── pom.xml
├── buildci.sh
├── bundles
├── archetype-settings.xml
├── create_smarthomej_binding_skeleton.cmd
├── create_smarthomej_binding_skeleton.sh
├── org.smarthomej.automation.javarule
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── 3rdparty
│ │ └── java
│ │ │ └── ch
│ │ │ └── obermuhlner
│ │ │ └── scriptengine
│ │ │ └── java
│ │ │ └── JavaRuleCompiledScript.java
│ │ └── main
│ │ ├── feature
│ │ └── feature.xml
│ │ ├── java
│ │ └── org
│ │ │ └── smarthomej
│ │ │ └── automation
│ │ │ └── javarule
│ │ │ ├── JavaRule.java
│ │ │ ├── JavaRuleBusEvent.java
│ │ │ ├── ThingActionsWrapper.java
│ │ │ ├── annotation
│ │ │ ├── ChannelEventTrigger.java
│ │ │ ├── ChannelEventTriggers.java
│ │ │ ├── DateTimeTrigger.java
│ │ │ ├── DateTimeTriggers.java
│ │ │ ├── DayOfWeekCondition.java
│ │ │ ├── EphemerisDaysetCondition.java
│ │ │ ├── EphemerisHolidayCondition.java
│ │ │ ├── EphemerisNotHolidayCondition.java
│ │ │ ├── EphemerisWeekdayCondition.java
│ │ │ ├── EphemerisWeekendCondition.java
│ │ │ ├── GenericAutomationTrigger.java
│ │ │ ├── GenericAutomationTriggers.java
│ │ │ ├── GenericCompareCondition.java
│ │ │ ├── GenericCompareConditions.java
│ │ │ ├── GenericCronTrigger.java
│ │ │ ├── GenericCronTriggers.java
│ │ │ ├── GenericEventCondition.java
│ │ │ ├── GenericEventTrigger.java
│ │ │ ├── GenericEventTriggers.java
│ │ │ ├── GroupCommandTrigger.java
│ │ │ ├── GroupCommandTriggers.java
│ │ │ ├── GroupStateChangeTrigger.java
│ │ │ ├── GroupStateChangeTriggers.java
│ │ │ ├── GroupStateUpdateTrigger.java
│ │ │ ├── GroupStateUpdateTriggers.java
│ │ │ ├── ItemCommandTrigger.java
│ │ │ ├── ItemCommandTriggers.java
│ │ │ ├── ItemStateChangeTrigger.java
│ │ │ ├── ItemStateChangeTriggers.java
│ │ │ ├── ItemStateCondition.java
│ │ │ ├── ItemStateConditions.java
│ │ │ ├── ItemStateUpdateTrigger.java
│ │ │ ├── ItemStateUpdateTriggers.java
│ │ │ ├── Rule.java
│ │ │ ├── ScriptLoadedTrigger.java
│ │ │ ├── SystemStartlevelTrigger.java
│ │ │ ├── ThingStatusChangeTrigger.java
│ │ │ ├── ThingStatusChangeTriggers.java
│ │ │ ├── ThingStatusUpdateTrigger.java
│ │ │ ├── ThingStatusUpdateTriggers.java
│ │ │ ├── TimeOfDayCondition.java
│ │ │ ├── TimeOfDayTrigger.java
│ │ │ └── TimeOfDayTriggers.java
│ │ │ └── internal
│ │ │ ├── JavaRuleConstants.java
│ │ │ ├── JavaRuleScriptEngineFactory.java
│ │ │ ├── compiler
│ │ │ ├── ClassGenerator.java
│ │ │ ├── CompilerException.java
│ │ │ ├── CompilerService.java
│ │ │ ├── JarClassLoader.java
│ │ │ ├── JavaRuleFileManager.java
│ │ │ └── JavaRuleFileObject.java
│ │ │ ├── package-info.java
│ │ │ └── script
│ │ │ ├── JavaRuleJavaScriptEngineFactory.java
│ │ │ ├── JavaRuleScriptEngine.java
│ │ │ └── RuleProcessor.java
│ │ └── resources
│ │ └── OH-INF
│ │ └── addon
│ │ └── addon.xml
├── org.smarthomej.binding.androiddebugbridge
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── feature
│ │ │ └── feature.xml
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── smarthomej
│ │ │ │ └── binding
│ │ │ │ └── androiddebugbridge
│ │ │ │ └── internal
│ │ │ │ ├── AndroidDebugBridgeBindingConfiguration.java
│ │ │ │ ├── AndroidDebugBridgeBindingConstants.java
│ │ │ │ ├── AndroidDebugBridgeConfiguration.java
│ │ │ │ ├── AndroidDebugBridgeDevice.java
│ │ │ │ ├── AndroidDebugBridgeDeviceException.java
│ │ │ │ ├── AndroidDebugBridgeDeviceReadException.java
│ │ │ │ ├── AndroidDebugBridgeDynamicCommandDescriptionProvider.java
│ │ │ │ ├── AndroidDebugBridgeHandler.java
│ │ │ │ ├── AndroidDebugBridgeHandlerFactory.java
│ │ │ │ └── discovery
│ │ │ │ ├── AndroidDebugBridgeDiscoveryService.java
│ │ │ │ └── FireTVStickMDNSDiscoveryParticipant.java
│ │ └── resources
│ │ │ └── OH-INF
│ │ │ ├── addon
│ │ │ └── addon.xml
│ │ │ ├── thing
│ │ │ └── thing-types.xml
│ │ │ └── update
│ │ │ └── instructions.xml
│ │ └── test
│ │ └── java
│ │ └── org
│ │ └── smarthomej
│ │ └── binding
│ │ └── androiddebugbridge
│ │ └── internal
│ │ └── AndroidDebugBridgeDeviceTest.java
├── org.smarthomej.binding.notificationsforfiretv
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── feature
│ │ └── feature.xml
│ │ ├── java
│ │ └── org
│ │ │ └── smarthomej
│ │ │ └── binding
│ │ │ └── notificationsforfiretv
│ │ │ └── internal
│ │ │ ├── NotificationsForFireTVBindingConstants.java
│ │ │ ├── NotificationsForFireTVConfiguration.java
│ │ │ ├── NotificationsForFireTVConnection.java
│ │ │ ├── NotificationsForFireTVHandler.java
│ │ │ ├── NotificationsForFireTVHandlerFactory.java
│ │ │ └── NotificationsForFireTVThingActions.java
│ │ └── resources
│ │ └── OH-INF
│ │ ├── addon
│ │ └── addon.xml
│ │ └── thing
│ │ └── thing-types.xml
├── org.smarthomej.binding.tcpudp
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── feature
│ │ │ └── feature.xml
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── smarthomej
│ │ │ │ └── binding
│ │ │ │ └── tcpudp
│ │ │ │ └── internal
│ │ │ │ ├── ChannelHandlerFactory.java
│ │ │ │ ├── ClientThingHandler.java
│ │ │ │ ├── ReceiverThingHandler.java
│ │ │ │ ├── TcpUdpBindingConstants.java
│ │ │ │ ├── TcpUdpHandlerFactory.java
│ │ │ │ ├── config
│ │ │ │ ├── ClientConfiguration.java
│ │ │ │ ├── ReceiverConfiguration.java
│ │ │ │ └── TcpUdpChannelConfig.java
│ │ │ │ └── receiver
│ │ │ │ ├── Receiver.java
│ │ │ │ ├── TcpReceiver.java
│ │ │ │ └── UdpReceiver.java
│ │ └── resources
│ │ │ └── OH-INF
│ │ │ ├── addon
│ │ │ └── addon.xml
│ │ │ ├── config
│ │ │ ├── client-config.xml
│ │ │ └── receiver-config.xml
│ │ │ └── thing
│ │ │ ├── client.xml
│ │ │ └── receiver.xml
│ │ └── test
│ │ └── java
│ │ └── org
│ │ └── smarthomej
│ │ └── binding
│ │ └── tcpudp
│ │ └── internal
│ │ ├── ClientThingHandlerTest.java
│ │ └── test
│ │ ├── EchoServer.java
│ │ └── TestUtil.java
├── org.smarthomej.binding.telenot
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── feature
│ │ └── feature.xml
│ │ ├── java
│ │ └── org
│ │ │ └── smarthomej
│ │ │ └── binding
│ │ │ └── telenot
│ │ │ └── internal
│ │ │ ├── TelenotBindingConstants.java
│ │ │ ├── TelenotCommandException.java
│ │ │ ├── TelenotDiscoveryService.java
│ │ │ ├── TelenotHandlerFactory.java
│ │ │ ├── TelenotMessageException.java
│ │ │ ├── actions
│ │ │ └── BridgeActions.java
│ │ │ ├── config
│ │ │ ├── IPBridgeConfig.java
│ │ │ ├── SerialBridgeConfig.java
│ │ │ └── ThingsConfig.java
│ │ │ ├── handler
│ │ │ ├── EMAStateHandler.java
│ │ │ ├── IPBridgeHandler.java
│ │ │ ├── InputHandler.java
│ │ │ ├── MBHandler.java
│ │ │ ├── MPHandler.java
│ │ │ ├── OutputHandler.java
│ │ │ ├── SBHandler.java
│ │ │ ├── SerialBridgeHandler.java
│ │ │ ├── TelenotBridgeHandler.java
│ │ │ └── TelenotThingHandler.java
│ │ │ └── protocol
│ │ │ ├── EMAStateMessage.java
│ │ │ ├── InputMessage.java
│ │ │ ├── MBDMessage.java
│ │ │ ├── MBMessage.java
│ │ │ ├── MPMessage.java
│ │ │ ├── SBMessage.java
│ │ │ ├── SBStateMessage.java
│ │ │ ├── TelenotCommand.java
│ │ │ ├── TelenotMessage.java
│ │ │ ├── TelenotMsgType.java
│ │ │ ├── UsedContactInfoMessage.java
│ │ │ ├── UsedContactMessage.java
│ │ │ └── UsedMbMessage.java
│ │ └── resources
│ │ └── OH-INF
│ │ ├── addon
│ │ └── addon.xml
│ │ └── thing
│ │ └── thing-types.xml
├── org.smarthomej.binding.viessmann
│ ├── NOTICE
│ ├── README.md
│ ├── doc
│ │ └── viessmann_wordmark_rgb_1_vitorange.png
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── feature
│ │ └── feature.xml
│ │ ├── java
│ │ └── org
│ │ │ └── smarthomej
│ │ │ └── binding
│ │ │ └── viessmann
│ │ │ └── internal
│ │ │ ├── BindingServlet.java
│ │ │ ├── ViessmannBindingConstants.java
│ │ │ ├── ViessmannDiscoveryService.java
│ │ │ ├── ViessmannDynamicStateDescriptionProvider.java
│ │ │ ├── ViessmannHandlerFactory.java
│ │ │ ├── api
│ │ │ ├── ViessmannApi.java
│ │ │ ├── ViessmannAuth.java
│ │ │ ├── ViessmannAuthException.java
│ │ │ ├── ViessmannAuthState.java
│ │ │ └── ViessmannCommunicationException.java
│ │ │ ├── config
│ │ │ ├── BridgeConfiguration.java
│ │ │ └── ThingsConfig.java
│ │ │ ├── dto
│ │ │ ├── HeatingCircuit.java
│ │ │ ├── ThingMessageDTO.java
│ │ │ ├── ViessmannMessage.java
│ │ │ ├── device
│ │ │ │ ├── DeviceDTO.java
│ │ │ │ └── DeviceData.java
│ │ │ ├── error
│ │ │ │ ├── ExtendedPayload.java
│ │ │ │ ├── TokenErrorDTO.java
│ │ │ │ └── ViErrorDTO.java
│ │ │ ├── events
│ │ │ │ ├── Body.java
│ │ │ │ ├── CommandBody.java
│ │ │ │ ├── Cursor.java
│ │ │ │ ├── EventsDTO.java
│ │ │ │ └── EventsDataDTO.java
│ │ │ ├── features
│ │ │ │ ├── FeatureBoolean.java
│ │ │ │ ├── FeatureChangeEndDate.java
│ │ │ │ ├── FeatureChangeEndDateParams.java
│ │ │ │ ├── FeatureCommands.java
│ │ │ │ ├── FeatureConstraintsEmpty.java
│ │ │ │ ├── FeatureConstraintsEnumValue.java
│ │ │ │ ├── FeatureConstraintsLength.java
│ │ │ │ ├── FeatureConstraintsSchedule.java
│ │ │ │ ├── FeatureConstraintsSteppingDouble.java
│ │ │ │ ├── FeatureConstraintsSteppingInteger.java
│ │ │ │ ├── FeatureDataDTO.java
│ │ │ │ ├── FeatureDay.java
│ │ │ │ ├── FeatureDefaultCommands.java
│ │ │ │ ├── FeatureDefaultSetterParamsDouble.java
│ │ │ │ ├── FeatureDefaultSetterParamsInteger.java
│ │ │ │ ├── FeatureDouble.java
│ │ │ │ ├── FeatureEmptyParams.java
│ │ │ │ ├── FeatureEntriesWeekDays.java
│ │ │ │ ├── FeatureErrorEntries.java
│ │ │ │ ├── FeatureErrorValue.java
│ │ │ │ ├── FeatureInteger.java
│ │ │ │ ├── FeatureListDouble.java
│ │ │ │ ├── FeatureMode.java
│ │ │ │ ├── FeatureModeParams.java
│ │ │ │ ├── FeatureNewSchedule.java
│ │ │ │ ├── FeatureParamsName.java
│ │ │ │ ├── FeatureProperties.java
│ │ │ │ ├── FeatureSchedule.java
│ │ │ │ ├── FeatureScheduleParams.java
│ │ │ │ ├── FeatureSetCurve.java
│ │ │ │ ├── FeatureSetDate.java
│ │ │ │ ├── FeatureSetHeatingCurve.java
│ │ │ │ ├── FeatureSetHysteresis.java
│ │ │ │ ├── FeatureSetHysteresisParams.java
│ │ │ │ ├── FeatureSetHysteresisParamsHysteresis.java
│ │ │ │ ├── FeatureSetLevels.java
│ │ │ │ ├── FeatureSetLevelsParams.java
│ │ │ │ ├── FeatureSetMode.java
│ │ │ │ ├── FeatureSetName.java
│ │ │ │ ├── FeatureSetNameParams.java
│ │ │ │ ├── FeatureSetSchedule.java
│ │ │ │ ├── FeatureSetScheduleParams.java
│ │ │ │ ├── FeatureSetTargetTemperature.java
│ │ │ │ ├── FeatureSetTargetTemperatureParams.java
│ │ │ │ ├── FeatureSetTemperature.java
│ │ │ │ ├── FeatureShift.java
│ │ │ │ ├── FeatureSlope.java
│ │ │ │ ├── FeatureString.java
│ │ │ │ ├── FeatureTargetTemperatureParams.java
│ │ │ │ ├── FeatureWeekDays.java
│ │ │ │ └── FeaturesDTO.java
│ │ │ ├── installation
│ │ │ │ ├── Address.java
│ │ │ │ ├── Cursor.java
│ │ │ │ ├── Data.java
│ │ │ │ ├── Device.java
│ │ │ │ ├── Gateway.java
│ │ │ │ ├── Geolocation.java
│ │ │ │ └── InstallationDTO.java
│ │ │ ├── oauth
│ │ │ │ ├── AbstractAuthResponseDTO.java
│ │ │ │ ├── AuthorizeResponseDTO.java
│ │ │ │ └── TokenResponseDTO.java
│ │ │ └── schedule
│ │ │ │ ├── DaySchedule.java
│ │ │ │ └── ScheduleDTO.java
│ │ │ └── handler
│ │ │ ├── DeviceHandler.java
│ │ │ ├── ViessmannBridgeHandler.java
│ │ │ └── ViessmannThingHandler.java
│ │ └── resources
│ │ ├── OH-INF
│ │ ├── addon
│ │ │ └── addon.xml
│ │ ├── thing
│ │ │ └── thing-types.xml
│ │ └── update
│ │ │ └── instructions.xml
│ │ ├── features.properties
│ │ ├── featuresDescription.properties
│ │ └── modes.properties
├── org.smarthomej.commons
│ ├── NOTICE
│ ├── README.md
│ ├── javadoc.profile
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ └── java
│ │ │ └── org
│ │ │ └── smarthomej
│ │ │ └── commons
│ │ │ ├── SimpleDynamicCommandDescriptionProvider.java
│ │ │ ├── SimpleDynamicStateDescriptionProvider.java
│ │ │ ├── impl
│ │ │ ├── SimpleDynamicCommandDescriptionProviderImpl.java
│ │ │ └── SimpleDynamicStateDescriptionProviderImpl.java
│ │ │ └── util
│ │ │ ├── ColorUtil.java
│ │ │ └── ResourceUtil.java
│ │ └── test
│ │ ├── java
│ │ └── org
│ │ │ └── smarthomej
│ │ │ └── commons
│ │ │ └── util
│ │ │ ├── ColorUtilTest.java
│ │ │ └── ResourceUtilTest.java
│ │ └── resources
│ │ └── test.properties
├── org.smarthomej.transform.chain
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── feature
│ │ │ └── feature.xml
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── smarthomej
│ │ │ │ └── transform
│ │ │ │ └── chain
│ │ │ │ └── internal
│ │ │ │ ├── ChainTransformationProfile.java
│ │ │ │ ├── ChainTransformationProfileConfiguration.java
│ │ │ │ └── ChainTransformationProfileFactory.java
│ │ └── resources
│ │ │ └── OH-INF
│ │ │ ├── addon
│ │ │ └── addon.xml
│ │ │ └── config.xml
│ │ └── test
│ │ └── java
│ │ └── org
│ │ └── smarthomej
│ │ └── transform
│ │ └── chain
│ │ └── internal
│ │ └── ChainTransformationProfileTest.java
├── org.smarthomej.transform.format
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── feature
│ │ │ └── feature.xml
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── smarthomej
│ │ │ │ └── transform
│ │ │ │ └── format
│ │ │ │ └── internal
│ │ │ │ └── FormatTransformationService.java
│ │ └── resources
│ │ │ └── OH-INF
│ │ │ └── addon
│ │ │ └── addon.xml
│ │ └── test
│ │ ├── java
│ │ └── org
│ │ │ └── smarthomej
│ │ │ └── transform
│ │ │ └── format
│ │ │ └── internal
│ │ │ └── FormatTransformationServiceTest.java
│ │ └── resources
│ │ ├── conf
│ │ └── transform
│ │ │ ├── double.format
│ │ │ ├── identity.format
│ │ │ └── xml.format
│ │ └── xml.expected
├── org.smarthomej.transform.math
│ ├── NOTICE
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── feature
│ │ │ └── feature.xml
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── smarthomej
│ │ │ │ └── transform
│ │ │ │ └── math
│ │ │ │ └── internal
│ │ │ │ ├── AbstractBitwiseTransformationService.java
│ │ │ │ ├── AbstractMathTransformationService.java
│ │ │ │ ├── AddTransformationService.java
│ │ │ │ ├── BitwiseAndTransformationService.java
│ │ │ │ ├── BitwiseOrTransformationService.java
│ │ │ │ ├── BitwiseXorTransformationService.java
│ │ │ │ ├── DivideTransformationService.java
│ │ │ │ ├── MultiplyTransformationService.java
│ │ │ │ └── profiles
│ │ │ │ ├── AbstractArithmeticMathTransformationProfile.java
│ │ │ │ ├── AbstractMathTransformationProfile.java
│ │ │ │ ├── AddTransformationProfile.java
│ │ │ │ ├── BitwiseAndTransformationProfile.java
│ │ │ │ ├── BitwiseOrTransformationProfile.java
│ │ │ │ ├── BitwiseTransformationProfile.java
│ │ │ │ ├── BitwiseXorTransformationProfile.java
│ │ │ │ ├── DivideTransformationProfile.java
│ │ │ │ ├── MathTransformationProfileFactory.java
│ │ │ │ └── MultiplyTransformationProfile.java
│ │ └── resources
│ │ │ └── OH-INF
│ │ │ ├── addon
│ │ │ └── addon.xml
│ │ │ ├── config
│ │ │ └── mathProfiles.xml
│ │ │ └── i18n
│ │ │ ├── transform.properties
│ │ │ └── transform_de.properties
│ │ └── test
│ │ └── java
│ │ └── org
│ │ └── smarthomej
│ │ └── transform
│ │ └── math
│ │ └── internal
│ │ ├── AddTransformationServiceTest.java
│ │ ├── BitwiseAndTransformationServiceTest.java
│ │ ├── BitwiseOrTransformationServiceTest.java
│ │ ├── BitwiseXorTransformationServiceTest.java
│ │ ├── DivideTransformationServiceTest.java
│ │ ├── MultiplyTransformationServiceTest.java
│ │ └── profiles
│ │ ├── MathTransformationProfileFactoryTest.java
│ │ └── MultiplyTransformationProfileTest.java
└── pom.xml
├── features
├── pom.xml
├── readme.md
├── smarthomej-addons-external
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── resources
│ │ └── conf
│ │ └── influxdb.cfg
└── smarthomej-addons
│ ├── pom.xml
│ └── src
│ └── main
│ └── resources
│ ├── footer.xml
│ └── header.xml
├── licenses
└── epl-2.0
│ ├── header.txt
│ └── xml-header-style.xml
├── pom.xml
├── site
├── pom.xml
└── src
│ └── main
│ └── resources
│ ├── index-header.md
│ ├── markdown
│ └── css
│ │ └── default.css
│ └── template
│ ├── footer.html
│ └── header.html
├── src
└── etc
│ └── NOTICE
└── tools
├── buildAddonsJSON.js
├── buildFullChangelog.js
├── buildReleaseNotes.js
├── org.eclipse.jdt.core.prefs
└── static-code-analysis
└── checkstyle
├── rules.xml
├── ruleset.properties
└── suppressions.xml
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.java text=auto
2 | *.xml text=auto
3 |
--------------------------------------------------------------------------------
/.github/smarthomej-compile-problems.json:
--------------------------------------------------------------------------------
1 | {
2 | "problemMatcher": [
3 | {
4 | "owner": "smarthomej-compile-problems",
5 | "severity": "error",
6 | "pattern": [
7 | {
8 | "regexp": "Failed to execute goal.*Compilation failure"
9 | },
10 | {
11 | "regexp": "^\\[ERROR\\] (.+\\.java):\\[(.+),(.+)\\] (.*)$",
12 | "file": 1,
13 | "line": 2,
14 | "col": 3,
15 | "message": 4,
16 | "loop": true
17 | }
18 | ]
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale (eight weeks)
2 | daysUntilStale: 56
3 | # Number of days of inactivity before a stale issue is closed (another week)
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - security
9 | # Label to use when marking an issue as stale
10 | staleLabel: stale
11 | # Comment to post when marking an issue as stale. Set to `false` to disable
12 | markComment: >
13 | This issue has been automatically marked as stale because it has not had
14 | recent activity. It will be closed if no further activity occurs. Thank you
15 | for your contributions.
16 | # Comment to post when closing a stale issue. Set to `false` to disable
17 | closeComment: false
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .antlr*
2 | .classpath
3 | .idea
4 | .project
5 | .DS_Store
6 | *.iml
7 | npm-debug.log
8 | package-lock.json
9 | package.json
10 | .build.log
11 | .gradle
12 |
13 | .metadata/
14 | bin/
15 | target/
16 | node_modules/
17 | src-gen/
18 | xtend-gen/
19 | .history/
20 |
21 | */plugin.xml_gen
22 | **/.settings/org.eclipse.*
23 |
24 | bundles/**/src/main/history
25 | features/**/src/main/history
26 | features/**/src/main/feature
27 |
28 | .vscode
29 | .factorypath
30 | pom.xml.versionsBackup
31 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | os: linux
2 | dist: focal
3 |
4 | language: java
5 | jdk: openjdk11
6 |
7 | cache:
8 | directories:
9 | - $HOME/.m2
10 |
11 | before_cache:
12 | # remove resolver-status.properties, they change with each run and invalidate the cache
13 | - find $HOME/.m2 -name resolver-status.properties -exec rm {} \;
14 |
15 | notifications:
16 | webhooks: https://www.travisbuddy.com/
17 |
18 | travisBuddy:
19 | insertMode: update
20 | successBuildLog: true
21 |
22 | install: true
23 | script: ./buildci.sh "$TRAVIS_COMMIT_RANGE"
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # This file helps GitHub doing automatic review requests for new PRs.
2 | # It should always list the active maintainers of certain add-ons.
3 |
4 | # As a fallback, if no specific maintainer is listed below, assign the PR to the repo maintainer:
5 | * @J-N-K
6 |
7 | # Bundle-Maintainers:
8 | /bundles/org.smarthomej.automation.javarule/ @J-N-K
9 | /bundles/org.smarthomej.binding.androiddebugbridge/ @Trinitus01
10 | /bundles/org.smarthomej.binding.http/ @J-N-K
11 | /bundles/org.smarthomej.binding.knx/ @J-N-K
12 | /bundles/org.smarthomej.binding.mail/ @J-N-K
13 | /bundles/org.smarthomej.binding.notificationsforfiretv/ @Trinitus01
14 | /bundles/org.smarthomej.binding.tcpudp/ @J-N-K
15 | /bundles/org.smarthomej.binding.telenot/ @rogrun
16 | /bundles/org.smarthomej.binding.tuya/ @J-N-K
17 | /bundles/org.smarthomej.binding.viessmann/ @rogrun
18 | /bundles/org.smarthomej.commons/ @J-N-K
19 | /bundles/org.smarthomej.transform.basicprofiles/ @cweitkamp
20 | /bundles/org.smarthomej.transform.chain/ @J-N-K
21 | /bundles/org.smarthomej.transform.format/ @J-N-K
22 | /bundles/org.smarthomej.transform.math/ @cweitkamp
23 |
--------------------------------------------------------------------------------
/bom/openhab-core-index/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bom
9 | org.smarthomej.addons.reactor.bom
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.addons.bom.openhab-core-index
14 |
15 | SmartHome/J Add-ons :: BOM :: openHAB Core Index
16 |
17 |
18 |
19 | org.openhab.core.bom
20 | org.openhab.core.bom.openhab-core
21 | ${ohc.version}
22 | pom
23 | compile
24 | true
25 |
26 |
27 |
28 |
29 |
30 |
31 | biz.aQute.bnd
32 | bnd-maven-plugin
33 |
34 |
35 | biz.aQute.bnd
36 | bnd-indexer-maven-plugin
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/bom/runtime-index/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bom
9 | org.smarthomej.addons.reactor.bom
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.addons.bom.runtime-index
14 |
15 | SmartHome/J Add-ons :: BOM :: Runtime Index
16 |
17 |
18 |
19 | org.openhab.core.bom
20 | org.openhab.core.bom.runtime
21 | ${ohc.version}
22 | pom
23 | compile
24 | true
25 |
26 |
27 |
28 |
29 |
30 |
31 | biz.aQute.bnd
32 | bnd-maven-plugin
33 |
34 |
35 | biz.aQute.bnd
36 | bnd-indexer-maven-plugin
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/bundles/archetype-settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 | openHAB-snapshots
9 |
10 |
11 | archetype
12 | https://openhab.jfrog.io/openhab/libs-snapshot
13 |
14 |
15 |
16 |
17 |
18 | openHAB-snapshots
19 |
20 |
21 |
--------------------------------------------------------------------------------
/bundles/create_smarthomej_binding_skeleton.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | SETLOCAL
4 | SET ARGC=0
5 |
6 | FOR %%x IN (%*) DO SET /A ARGC+=1
7 |
8 | IF %ARGC% NEQ 3 (
9 | echo Usage: %0 BindingIdInCamelCase Author GithubUser
10 | exit /B 1
11 | )
12 | SET SmartHomeJVersion="3.1.0-SNAPSHOT"
13 | SET OpenhabVersion="3.1.0-SNAPSHOT"
14 |
15 | SET BindingIdInCamelCase=%~1
16 | SET BindingIdInLowerCase=%BindingIdInCamelCase%
17 | SET Author=%~2
18 | SET GithubUser=%~3
19 |
20 | call :LoCase BindingIdInLowerCase
21 |
22 | call mvn -s archetype-settings.xml archetype:generate -N -DarchetypeGroupId=org.openhab.core.tools.archetypes -DarchetypeArtifactId=org.openhab.core.tools.archetypes.binding -DarchetypeVersion=%OpenhabVersion% -DgroupId=org.smarthomej.binding -DartifactId=org.smarthomej.binding.%BindingIdInLowerCase% -Dpackage=org.smarthomej.binding.%BindingIdInLowerCase% -Dversion=%SmartHomeJVersion% -DbindingId=%BindingIdInLowerCase% -DbindingIdCamelCase=%BindingIdInCamelCase% -DvendorName="SmartHome/J" -Dnamespace=org.smarthomej -Dauthor="%Author%" -DgithubUser="%GithubUser%"
23 |
24 | COPY ..\src\etc\NOTICE org.smarthomej.binding.%BindingIdInLowerCase%\
25 |
26 | (SET BindingIdInLowerCase=)
27 | (SET BindingIdInCamelCase=)
28 | (SET Author=)
29 | (SET GithubUser=)
30 |
31 | GOTO:EOF
32 |
33 |
34 | :LoCase
35 | :: Subroutine to convert a variable VALUE to all lower case.
36 | :: The argument for this subroutine is the variable NAME.
37 | FOR %%i IN ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z") DO CALL SET "%1=%%%1:%%~i%%"
38 | GOTO:EOF
39 |
40 | ENDLOCAL
41 |
--------------------------------------------------------------------------------
/bundles/create_smarthomej_binding_skeleton.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | [ $# -lt 3 ] && { echo "Usage: $0 "; exit 1; }
4 |
5 | smartHomeJVersion=3.1.0-SNAPSHOT
6 | openHABVersion=3.1.0-SNAPSHOT
7 |
8 | camelcaseId=$1
9 | id=`echo $camelcaseId | tr '[:upper:]' '[:lower:]'`
10 |
11 | author=$2
12 | githubUser=$3
13 |
14 | mvn -s archetype-settings.xml archetype:generate -N \
15 | -DarchetypeGroupId=org.openhab.core.tools.archetypes \
16 | -DarchetypeArtifactId=org.openhab.core.tools.archetypes.binding \
17 | -DarchetypeVersion=$openHABVersion \
18 | -DgroupId=org.smarthomej.binding \
19 | -DartifactId=org.smarthomej.binding.$id \
20 | -Dpackage=org.smarthomej.binding.$id \
21 | -Dversion=$smartHomeJVersion \
22 | -DbindingId=$id \
23 | -DbindingIdCamelCase=$camelcaseId \
24 | -DvendorName="SmartHome/J" \
25 | -Dnamespace=org.smarthomej \
26 | -Dauthor="$author" \
27 | -DgithubUser="$githubUser"
28 |
29 | directory="org.smarthomej.binding.$id/"
30 |
31 | cp ../src/etc/NOTICE "$directory"
32 |
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/NOTICE:
--------------------------------------------------------------------------------
1 | This content is produced and maintained by the SmartHome/J project.
2 |
3 | * Project home: https://www.smarthomej.org
4 |
5 | == Declared Project Licenses
6 |
7 | This program and the accompanying materials are made available under the terms
8 | of the Eclipse Public License 2.0 which is available at
9 | https://www.eclipse.org/legal/epl-2.0/.
10 |
11 | == Source Code
12 |
13 | https://github.com/smarthomej/addons
14 |
15 | == 3rd party content
16 |
17 | java-scriptengine:
18 | * License: MIT License
19 | * Project: https://github.com/eobermuhlner/java-scriptengine
20 | * Source: https://github.com/eobermuhlner/java-scriptengine
21 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openhab-runtime-base
5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.commons/${project.version}
6 | mvn:org.smarthomej.addons.bundles/org.smarthomej.automation.javarule/${project.version}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ChannelEventTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link ChannelEventTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(ChannelEventTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface ChannelEventTrigger {
35 | String channelUID();
36 |
37 | String event() default ANNOTATION_DEFAULT;
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ChannelEventTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ChannelEventTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ChannelEventTriggers {
31 | ChannelEventTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/DateTimeTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Repeatable;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | import org.eclipse.jdt.annotation.NonNullByDefault;
22 |
23 | /**
24 | * The {@link DateTimeTrigger}
25 | *
26 | * @author Jan N. Klug - Initial contribution
27 | */
28 | @Repeatable(DateTimeTriggers.class)
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface DateTimeTrigger {
33 | String itemName();
34 | }
35 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/DateTimeTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link DateTimeTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface DateTimeTriggers {
31 | DateTimeTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/DayOfWeekCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link DayOfWeekCondition}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface DayOfWeekCondition {
31 | String[] days();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/EphemerisDaysetCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link EphemerisDaysetCondition}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface EphemerisDaysetCondition {
31 | String dayset();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/EphemerisHolidayCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link EphemerisHolidayCondition}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface EphemerisHolidayCondition {
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/EphemerisNotHolidayCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link EphemerisNotHolidayCondition}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface EphemerisNotHolidayCondition {
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/EphemerisWeekdayCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link EphemerisWeekdayCondition}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface EphemerisWeekdayCondition {
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/EphemerisWeekendCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link EphemerisWeekendCondition}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface EphemerisWeekendCondition {
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericAutomationTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Repeatable;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | import org.eclipse.jdt.annotation.NonNullByDefault;
22 |
23 | /**
24 | * The {@link GenericAutomationTrigger}
25 | *
26 | * @author Jan N. Klug - Initial contribution
27 | */
28 | @Repeatable(GenericAutomationTriggers.class)
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface GenericAutomationTrigger {
33 | String typeUid();
34 |
35 | String[] params() default {};
36 | }
37 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericAutomationTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GenericAutomationTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GenericAutomationTriggers {
31 | GenericAutomationTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericCompareCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link GenericCompareCondition}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(GenericCompareConditions.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface GenericCompareCondition {
35 | String input();
36 |
37 | String inputproperty() default ANNOTATION_DEFAULT;
38 |
39 | String operator();
40 |
41 | String right();
42 | }
43 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericCompareConditions.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GenericCompareConditions}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GenericCompareConditions {
31 | GenericCompareCondition[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericCronTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Repeatable;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | import org.eclipse.jdt.annotation.NonNullByDefault;
22 |
23 | /**
24 | * The {@link GenericCronTrigger}
25 | *
26 | * @author Jan N. Klug - Initial contribution
27 | */
28 | @Repeatable(GenericCronTriggers.class)
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface GenericCronTrigger {
33 | String cronExpression();
34 | }
35 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericCronTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GenericCronTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GenericCronTriggers {
31 | GenericCronTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Retention;
19 | import java.lang.annotation.RetentionPolicy;
20 | import java.lang.annotation.Target;
21 |
22 | import org.eclipse.jdt.annotation.NonNullByDefault;
23 |
24 | /**
25 | * The {@link GenericEventCondition}
26 | *
27 | * @author Jan N. Klug - Initial contribution
28 | */
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface GenericEventCondition {
33 | String topic() default ANNOTATION_DEFAULT;
34 |
35 | String eventType() default ANNOTATION_DEFAULT;
36 |
37 | String source() default ANNOTATION_DEFAULT;
38 |
39 | String payload() default ANNOTATION_DEFAULT;
40 | }
41 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Repeatable;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | import org.eclipse.jdt.annotation.NonNullByDefault;
22 |
23 | /**
24 | * The {@link GenericEventTrigger}
25 | *
26 | * @author Jan N. Klug - Initial contribution
27 | */
28 | @Repeatable(GenericEventTriggers.class)
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface GenericEventTrigger {
33 | String topic();
34 |
35 | String source();
36 |
37 | String types();
38 |
39 | String payload();
40 | }
41 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GenericEventTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GenericEventTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GenericEventTriggers {
31 | GenericEventTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GroupCommandTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link GroupCommandTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(GroupCommandTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface GroupCommandTrigger {
35 | String groupName();
36 |
37 | String command() default ANNOTATION_DEFAULT;
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GroupCommandTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GroupCommandTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GroupCommandTriggers {
31 | GroupCommandTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GroupStateChangeTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link GroupStateChangeTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(GroupStateChangeTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface GroupStateChangeTrigger {
35 | String groupName();
36 |
37 | String previousState() default ANNOTATION_DEFAULT;
38 |
39 | String state() default ANNOTATION_DEFAULT;
40 | }
41 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GroupStateChangeTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GroupStateChangeTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GroupStateChangeTriggers {
31 | GroupStateChangeTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GroupStateUpdateTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link GroupStateUpdateTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(GroupStateUpdateTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface GroupStateUpdateTrigger {
35 | String groupName();
36 |
37 | String state() default ANNOTATION_DEFAULT;
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/GroupStateUpdateTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link GroupStateUpdateTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface GroupStateUpdateTriggers {
31 | GroupStateUpdateTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemCommandTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link ItemCommandTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(ItemCommandTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface ItemCommandTrigger {
35 | String itemName();
36 |
37 | String command() default ANNOTATION_DEFAULT;
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemCommandTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ItemCommandTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ItemCommandTriggers {
31 | ItemCommandTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemStateChangeTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link ItemStateChangeTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(ItemStateChangeTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface ItemStateChangeTrigger {
35 | String itemName();
36 |
37 | String previousState() default ANNOTATION_DEFAULT;
38 |
39 | String state() default ANNOTATION_DEFAULT;
40 | }
41 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemStateChangeTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ItemStateChangeTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ItemStateChangeTriggers {
31 | ItemStateChangeTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemStateCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Repeatable;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | import org.eclipse.jdt.annotation.NonNullByDefault;
22 |
23 | /**
24 | * The {@link ItemStateCondition}
25 | *
26 | * @author Jan N. Klug - Initial contribution
27 | */
28 | @Repeatable(ItemStateConditions.class)
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface ItemStateCondition {
33 | String itemName();
34 |
35 | String operator();
36 |
37 | String state();
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemStateConditions.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ItemStateConditions}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ItemStateConditions {
31 | ItemStateCondition[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemStateUpdateTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link ItemStateUpdateTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(ItemStateUpdateTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface ItemStateUpdateTrigger {
35 | String itemName();
36 |
37 | String state() default ANNOTATION_DEFAULT;
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ItemStateUpdateTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ItemStateUpdateTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ItemStateUpdateTriggers {
31 | ItemStateUpdateTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/Rule.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2010-2021 Contributors to the openHAB project
3 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
4 | *
5 | * See the NOTICE file(s) distributed with this work for additional
6 | * information.
7 | *
8 | * This program and the accompanying materials are made available under the
9 | * terms of the Eclipse Public License 2.0 which is available at
10 | * http://www.eclipse.org/legal/epl-2.0
11 | *
12 | * SPDX-License-Identifier: EPL-2.0
13 | */
14 | package org.smarthomej.automation.javarule.annotation;
15 |
16 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
17 |
18 | import java.lang.annotation.ElementType;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link Rule} declares a method to be a rule
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Retention(RetentionPolicy.RUNTIME)
31 | @Target({ ElementType.METHOD })
32 | @NonNullByDefault
33 | public @interface Rule {
34 | String name() default ANNOTATION_DEFAULT;
35 |
36 | String[] tags() default {};
37 |
38 | boolean disabled() default false;
39 | }
40 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ScriptLoadedTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ScriptLoadedTrigger} lets a rule run immediately when script is loaded
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ScriptLoadedTrigger {
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/SystemStartlevelTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link SystemStartlevelTrigger}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface SystemStartlevelTrigger {
31 | int startlevel();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ThingStatusChangeTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link ThingStatusChangeTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(ThingStatusChangeTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface ThingStatusChangeTrigger {
35 | String thingUID();
36 |
37 | String status() default ANNOTATION_DEFAULT;
38 |
39 | String previousStatus() default ANNOTATION_DEFAULT;
40 | }
41 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ThingStatusChangeTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ThingStatusChangeTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ThingStatusChangeTriggers {
31 | ThingStatusChangeTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ThingStatusUpdateTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Repeatable;
19 | import java.lang.annotation.Retention;
20 | import java.lang.annotation.RetentionPolicy;
21 | import java.lang.annotation.Target;
22 |
23 | import org.eclipse.jdt.annotation.NonNullByDefault;
24 |
25 | /**
26 | * The {@link ThingStatusUpdateTrigger}
27 | *
28 | * @author Jan N. Klug - Initial contribution
29 | */
30 | @Repeatable(ThingStatusUpdateTriggers.class)
31 | @Retention(RetentionPolicy.RUNTIME)
32 | @Target({ ElementType.METHOD })
33 | @NonNullByDefault
34 | public @interface ThingStatusUpdateTrigger {
35 | String thingUID();
36 |
37 | String status() default ANNOTATION_DEFAULT;
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/ThingStatusUpdateTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link ThingStatusUpdateTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface ThingStatusUpdateTriggers {
31 | ThingStatusUpdateTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/TimeOfDayCondition.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import static org.smarthomej.automation.javarule.internal.JavaRuleConstants.ANNOTATION_DEFAULT;
16 |
17 | import java.lang.annotation.ElementType;
18 | import java.lang.annotation.Retention;
19 | import java.lang.annotation.RetentionPolicy;
20 | import java.lang.annotation.Target;
21 |
22 | import org.eclipse.jdt.annotation.NonNullByDefault;
23 |
24 | /**
25 | * The {@link TimeOfDayCondition}
26 | *
27 | * @author Jan N. Klug - Initial contribution
28 | */
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface TimeOfDayCondition {
33 | String startTime() default ANNOTATION_DEFAULT;
34 |
35 | String endTime() default ANNOTATION_DEFAULT;
36 | }
37 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/TimeOfDayTrigger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Repeatable;
17 | import java.lang.annotation.Retention;
18 | import java.lang.annotation.RetentionPolicy;
19 | import java.lang.annotation.Target;
20 |
21 | import org.eclipse.jdt.annotation.NonNullByDefault;
22 |
23 | /**
24 | * The {@link TimeOfDayTrigger}
25 | *
26 | * @author Jan N. Klug - Initial contribution
27 | */
28 | @Repeatable(TimeOfDayTriggers.class)
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target({ ElementType.METHOD })
31 | @NonNullByDefault
32 | public @interface TimeOfDayTrigger {
33 | String time();
34 | }
35 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/annotation/TimeOfDayTriggers.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.annotation;
14 |
15 | import java.lang.annotation.ElementType;
16 | import java.lang.annotation.Retention;
17 | import java.lang.annotation.RetentionPolicy;
18 | import java.lang.annotation.Target;
19 |
20 | import org.eclipse.jdt.annotation.NonNullByDefault;
21 |
22 | /**
23 | * The {@link TimeOfDayTriggers}
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @Retention(RetentionPolicy.RUNTIME)
28 | @Target({ ElementType.METHOD })
29 | @NonNullByDefault
30 | public @interface TimeOfDayTriggers {
31 | TimeOfDayTrigger[] value();
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/compiler/CompilerException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.internal.compiler;
14 |
15 | import java.util.Objects;
16 |
17 | import org.eclipse.jdt.annotation.NonNullByDefault;
18 |
19 | /**
20 | * The {@link CompilerException} is thrown by the compiler when an error occurs
21 | *
22 | * @author Jan N. Klug - Initial contribution
23 | */
24 | @NonNullByDefault
25 | public class CompilerException extends Exception {
26 | public static final long serialVersionUID = 1L;
27 |
28 | public CompilerException(Throwable t) {
29 | super(Objects.requireNonNullElse(t.getMessage(), "null"));
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/package-info.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | @org.osgi.annotation.bundle.Header(name = org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE, value = "*")
14 | package org.smarthomej.automation.javarule.internal;
15 |
16 | /**
17 | * Additional information for the JRule Scripting package
18 | *
19 | * @author Jan N. Klug - Initial contribution
20 | */
21 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/java/org/smarthomej/automation/javarule/internal/script/JavaRuleJavaScriptEngineFactory.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.automation.javarule.internal.script;
14 |
15 | import javax.script.ScriptEngine;
16 |
17 | import org.eclipse.jdt.annotation.NonNullByDefault;
18 | import org.smarthomej.automation.javarule.internal.compiler.CompilerService;
19 |
20 | import ch.obermuhlner.scriptengine.java.JavaScriptEngineFactory;
21 |
22 | /**
23 | * The {@link JavaRuleJavaScriptEngineFactory} is responsible for creating the JavaRule script engine
24 | *
25 | * @author Jan N. Klug - Initial contribution
26 | */
27 | @NonNullByDefault
28 | public class JavaRuleJavaScriptEngineFactory extends JavaScriptEngineFactory {
29 |
30 | private final CompilerService compilerService;
31 |
32 | public JavaRuleJavaScriptEngineFactory(CompilerService compilerService) {
33 | this.compilerService = compilerService;
34 | }
35 |
36 | @Override
37 | public ScriptEngine getScriptEngine() {
38 | return new JavaRuleScriptEngine(compilerService);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.automation.javarule/src/main/resources/OH-INF/addon/addon.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | automation
7 | Java Automation
8 | This is the bundle for using Java rules.
9 |
10 |
11 |
12 |
13 | Additional bundles for developing, concatenated by ",".
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.androiddebugbridge/NOTICE:
--------------------------------------------------------------------------------
1 | This content is produced and maintained by the SmartHome/J project.
2 |
3 | * Project home: https://www.smarthomej.org
4 |
5 | == Declared Project Licenses
6 |
7 | This program and the accompanying materials are made available under the terms
8 | of the Eclipse Public License 2.0 which is available at
9 | https://www.eclipse.org/legal/epl-2.0/.
10 |
11 | == Source Code
12 |
13 | https://github.com/smarthomej/addons
14 |
15 | Parts of this code have been forked from https://github.com/openhab/openhab-addons
16 |
17 | == Third-party Content
18 |
19 | adblib
20 | * License: BSD 3-Clause
21 | * Source: https://github.com/tananaev/adblib
22 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.androiddebugbridge/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bundles
9 | org.smarthomej.addons.reactor.bundles
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.binding.androiddebugbridge
14 |
15 | SmartHome/J Add-ons :: Bundles :: Android Debug Bridge Binding
16 |
17 |
18 |
19 | com.tananaev
20 | adblib
21 | 1.3
22 | compile
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.androiddebugbridge/src/main/feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openhab-runtime-base
5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.binding.androiddebugbridge/${project.version}
6 |
7 |
8 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.androiddebugbridge/src/main/java/org/smarthomej/binding/androiddebugbridge/internal/AndroidDebugBridgeBindingConfiguration.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2010-2021 Contributors to the openHAB project
3 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
4 | *
5 | * See the NOTICE file(s) distributed with this work for additional
6 | * information.
7 | *
8 | * This program and the accompanying materials are made available under the
9 | * terms of the Eclipse Public License 2.0 which is available at
10 | * http://www.eclipse.org/legal/epl-2.0
11 | *
12 | * SPDX-License-Identifier: EPL-2.0
13 | */
14 | package org.smarthomej.binding.androiddebugbridge.internal;
15 |
16 | import org.eclipse.jdt.annotation.NonNullByDefault;
17 |
18 | /**
19 | * The {@link AndroidDebugBridgeConfiguration} class contains fields mapping binding configuration parameters.
20 | *
21 | * @author Miguel Álvarez - Initial contribution
22 | */
23 | @NonNullByDefault
24 | public class AndroidDebugBridgeBindingConfiguration {
25 | /**
26 | * Port used on discovery.
27 | */
28 | public int discoveryPort = 5555;
29 | /**
30 | * Discovery reachable timeout.
31 | */
32 | public int discoveryReachableMs = 3000;
33 | /**
34 | * Discovery from ip index.
35 | */
36 | public int discoveryIpRangeMin = 0;
37 | /**
38 | * Discovery to ip index.
39 | */
40 | public int discoveryIpRangeMax = 255;
41 | }
42 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.androiddebugbridge/src/main/java/org/smarthomej/binding/androiddebugbridge/internal/AndroidDebugBridgeDeviceException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2010-2021 Contributors to the openHAB project
3 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
4 | *
5 | * See the NOTICE file(s) distributed with this work for additional
6 | * information.
7 | *
8 | * This program and the accompanying materials are made available under the
9 | * terms of the Eclipse Public License 2.0 which is available at
10 | * http://www.eclipse.org/legal/epl-2.0
11 | *
12 | * SPDX-License-Identifier: EPL-2.0
13 | */
14 | package org.smarthomej.binding.androiddebugbridge.internal;
15 |
16 | import org.eclipse.jdt.annotation.NonNullByDefault;
17 | import org.smarthomej.binding.androiddebugbridge.internal.discovery.AndroidDebugBridgeDiscoveryService;
18 |
19 | /**
20 | * The {@link AndroidDebugBridgeDiscoveryService} discover Android ADB Instances in the network.
21 | *
22 | * @author Miguel Alvarez - Initial contribution
23 | */
24 | @NonNullByDefault
25 | public class AndroidDebugBridgeDeviceException extends Exception {
26 | private static final long serialVersionUID = 6608406239134276286L;
27 |
28 | public AndroidDebugBridgeDeviceException(String message) {
29 | super(message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.androiddebugbridge/src/main/resources/OH-INF/update/instructions.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 | androiddebugbridge:start-intent-channel
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.notificationsforfiretv/NOTICE:
--------------------------------------------------------------------------------
1 | This content is produced and maintained by the SmartHome/J project.
2 |
3 | * Project home: https://www.smarthomej.org
4 |
5 | == Declared Project Licenses
6 |
7 | This program and the accompanying materials are made available under the terms
8 | of the Eclipse Public License 2.0 which is available at
9 | https://www.eclipse.org/legal/epl-2.0/.
10 |
11 | == Source Code
12 |
13 | https://github.com/smarthomej/addons
14 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.notificationsforfiretv/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bundles
9 | org.smarthomej.addons.reactor.bundles
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.binding.notificationsforfiretv
14 |
15 | SmartHome/J Add-ons :: Bundles :: Notifications for Fire TV Binding
16 |
17 |
18 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.notificationsforfiretv/src/main/feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openhab-runtime-base
5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.binding.notificationsforfiretv/${project.version}
6 |
7 |
8 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.notificationsforfiretv/src/main/java/org/smarthomej/binding/notificationsforfiretv/internal/NotificationsForFireTVConfiguration.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.notificationsforfiretv.internal;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link NotificationsForFireTVConfiguration} class contains fields mapping thing configuration parameters.
19 | *
20 | * @author Tom Blum - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class NotificationsForFireTVConfiguration {
24 |
25 | public String hostname = "";
26 | public String title = "Smarthome";
27 | public int duration = 10;
28 | public int position = 0;
29 | public int transparency = 2;
30 | public int offsetX = 0;
31 | public int offsetY = 0;
32 | public boolean force = true;
33 | }
34 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.notificationsforfiretv/src/main/resources/OH-INF/addon/addon.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | binding
7 | Notifications for Fire TV Binding
8 | This is the binding for sending notifications to Fire TV.
9 |
10 |
11 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/NOTICE:
--------------------------------------------------------------------------------
1 | This content is produced and maintained by the SmartHome/J project.
2 |
3 | * Project home: https://www.smarthomej.org
4 |
5 | == Declared Project Licenses
6 |
7 | This program and the accompanying materials are made available under the terms
8 | of the Eclipse Public License 2.0 which is available at
9 | https://www.eclipse.org/legal/epl-2.0/.
10 |
11 | == Source Code
12 |
13 | https://github.com/smarthomej/addons
14 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bundles
9 | org.smarthomej.addons.reactor.bundles
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.binding.tcpudp
14 |
15 | SmartHome/J Add-ons :: Bundles :: TCP/UDP Binding
16 |
17 |
18 |
19 | org.smarthomej.addons.bundles
20 | org.smarthomej.commons
21 | ${project.version}
22 | provided
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/src/main/feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openhab-runtime-base
5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.commons/${project.version}
6 | mvn:org.smarthomej.addons.bundles/org.smarthomej.binding.tcpudp/${project.version}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/src/main/java/org/smarthomej/binding/tcpudp/internal/TcpUdpBindingConstants.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.tcpudp.internal;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 | import org.openhab.core.thing.ThingTypeUID;
17 |
18 | /**
19 | * The {@link TcpUdpBindingConstants} class defines common constants, which are
20 | * used across the whole binding.
21 | *
22 | * @author Jan N. Klug - Initial contribution
23 | */
24 | @NonNullByDefault
25 | public class TcpUdpBindingConstants {
26 |
27 | public static final String BINDING_ID = "tcpudp";
28 |
29 | // List of all Thing Type UIDs
30 | public static final ThingTypeUID THING_TYPE_UID_CLIENT = new ThingTypeUID(BINDING_ID, "client");
31 | public static final ThingTypeUID THING_TYPE_UID_RECEIVER = new ThingTypeUID(BINDING_ID, "receiver");
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/src/main/java/org/smarthomej/binding/tcpudp/internal/config/ClientConfiguration.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.tcpudp.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 | import org.eclipse.jdt.annotation.Nullable;
17 |
18 | /**
19 | * The {@link ClientConfiguration} class contains fields mapping thing configuration parameters.
20 | *
21 | * @author Jan N. Klug - Initial contribution
22 | */
23 | @NonNullByDefault
24 | public class ClientConfiguration {
25 | public String host = "";
26 | public int port = 0;
27 |
28 | public int refresh = 30;
29 | public int timeout = 3000;
30 |
31 | public int bufferSize = 2048;
32 |
33 | public Protocol protocol = Protocol.TCP;
34 |
35 | public @Nullable String encoding = null;
36 |
37 | public enum Protocol {
38 | UDP,
39 | TCP
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/src/main/java/org/smarthomej/binding/tcpudp/internal/config/ReceiverConfiguration.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.tcpudp.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 | import org.eclipse.jdt.annotation.Nullable;
17 |
18 | /**
19 | * The {@link ReceiverConfiguration} class contains fields mapping thing configuration parameters.
20 | *
21 | * @author Jan N. Klug - Initial contribution
22 | */
23 | @NonNullByDefault
24 | public class ReceiverConfiguration {
25 | public String localAddress = "0.0.0.0";
26 | public int port = 0;
27 |
28 | public int bufferSize = 2048;
29 |
30 | public Protocol protocol = Protocol.TCP;
31 |
32 | public @Nullable String encoding = null;
33 |
34 | public enum Protocol {
35 | UDP,
36 | TCP
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/src/main/java/org/smarthomej/binding/tcpudp/internal/config/TcpUdpChannelConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.tcpudp.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 | import org.eclipse.jdt.annotation.Nullable;
17 | import org.openhab.core.thing.binding.generic.ChannelValueConverterConfig;
18 |
19 | /**
20 | * The {@link TcpUdpChannelConfig} class contains fields mapping channel configuration parameters.
21 | *
22 | * @author Jan N. Klug - Initial contribution
23 | */
24 | @NonNullByDefault
25 | public class TcpUdpChannelConfig extends ChannelValueConverterConfig {
26 |
27 | public @Nullable String stateTransformation;
28 |
29 | // used by client channels
30 | public @Nullable String commandTransformation;
31 | public String stateContent = "";
32 |
33 | // used by receiver channels
34 | public String addressFilter = "*";
35 | }
36 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.tcpudp/src/main/resources/OH-INF/addon/addon.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | binding
7 | TCP/UDP Binding
8 | This is the binding for TCP/UDP connections.
9 |
10 |
11 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/NOTICE:
--------------------------------------------------------------------------------
1 | This content is produced and maintained by the SmartHome/J project.
2 |
3 | * Project home: https://www.smarthomej.org
4 |
5 | == Declared Project Licenses
6 |
7 | This program and the accompanying materials are made available under the terms
8 | of the Eclipse Public License 2.0 which is available at
9 | https://www.eclipse.org/legal/epl-2.0/.
10 |
11 | == Source Code
12 |
13 | https://github.com/smarthomej/addons
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bundles
9 | org.smarthomej.addons.reactor.bundles
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.binding.telenot
14 |
15 | SmartHome/J Add-ons :: Bundles :: Telenot Binding
16 |
17 |
18 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openhab-runtime-base
5 | openhab-transport-serial
6 | mvn:org.smarthomej.addons.bundles/org.smarthomej.binding.telenot/${project.version}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/java/org/smarthomej/binding/telenot/internal/TelenotCommandException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.telenot.internal;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link TelenotCommand) Telenot Command.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class TelenotCommandException extends Exception {
24 | private static final long serialVersionUID = 2021042422231712346L;
25 |
26 | public TelenotCommandException(String message) {
27 | super(message);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/java/org/smarthomej/binding/telenot/internal/TelenotMessageException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.telenot.internal;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link TelenotMessage} Telenot Message Exception.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class TelenotMessageException extends Exception {
24 | private static final long serialVersionUID = 2021042422231712345L;
25 |
26 | public TelenotMessageException(String message) {
27 | super(message);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/java/org/smarthomej/binding/telenot/internal/config/IPBridgeConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.telenot.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 | import org.eclipse.jdt.annotation.Nullable;
17 |
18 | /**
19 | * The {@link IPBridgeConfig} class contains fields mapping thing configuration parameters for IPBridgeHandler.
20 | *
21 | * @author Ronny Grun - Initial contribution
22 | */
23 | @NonNullByDefault
24 | public class IPBridgeConfig {
25 | public @Nullable String hostname;
26 | public int tcpPort = 4116;
27 | public boolean discovery = false;
28 | public int updateClock = 0;
29 | public int reconnect = 2;
30 | public int refreshData = 10;
31 | public int timeout = 5;
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/java/org/smarthomej/binding/telenot/internal/config/SerialBridgeConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.telenot.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link SerialBridgeConfig} class contains fields mapping thing configuration parameters for SerialBridgeHandler.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class SerialBridgeConfig {
24 | public String serialPort = "";
25 | public int refreshData = 10;
26 | public boolean discovery = false;
27 | public int updateClock = 0;
28 | }
29 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/java/org/smarthomej/binding/telenot/internal/config/ThingsConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.telenot.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link ThingsConfig} class contains fields mapping thing configuration parameters for Things.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class ThingsConfig {
24 | public int address = -1;
25 | }
26 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/java/org/smarthomej/binding/telenot/internal/protocol/TelenotMessage.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.telenot.internal.protocol;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * Superclass for all Telenot protocol message types.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public abstract class TelenotMessage {
24 |
25 | /** string containing the original unparsed message */
26 | public final String message;
27 |
28 | public TelenotMessage(String message) {
29 | this.message = message;
30 | }
31 |
32 | @Override
33 | public String toString() {
34 | return message;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.telenot/src/main/resources/OH-INF/addon/addon.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | binding
7 | Telenot Binding
8 | This is the binding for Telenot.
9 |
10 |
11 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/NOTICE:
--------------------------------------------------------------------------------
1 | This content is produced and maintained by the SmartHome/J project.
2 |
3 | * Project home: https://www.smarthomej.org
4 |
5 | == Declared Project Licenses
6 |
7 | This program and the accompanying materials are made available under the terms
8 | of the Eclipse Public License 2.0 which is available at
9 | https://www.eclipse.org/legal/epl-2.0/.
10 |
11 | == Source Code
12 |
13 | https://github.com/smarthomej/addons
14 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/doc/viessmann_wordmark_rgb_1_vitorange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smarthomej/addons/f6c95e4f0aba768f9422cff1325a31b31b72c6dc/bundles/org.smarthomej.binding.viessmann/doc/viessmann_wordmark_rgb_1_vitorange.png
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | 4.0.0
6 |
7 |
8 | org.smarthomej.addons.bundles
9 | org.smarthomej.addons.reactor.bundles
10 | 5.0.0-SNAPSHOT
11 |
12 |
13 | org.smarthomej.binding.viessmann
14 |
15 | SmartHome/J Add-ons :: Bundles :: Viessmann Binding
16 |
17 |
18 |
19 | org.smarthomej.addons.bundles
20 | org.smarthomej.commons
21 | ${project.version}
22 | provided
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/feature/feature.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openhab-runtime-base
5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.commons/${project.version}
6 | mvn:org.smarthomej.addons.bundles/org.smarthomej.binding.viessmann/${project.version}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/api/ViessmannAuthException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.api;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link ViessmannAuthException} is thrown during the authorization process.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class ViessmannAuthException extends Exception {
24 |
25 | private static final long serialVersionUID = 1L;
26 |
27 | /**
28 | * Constructor.
29 | *
30 | * @param message Viessmann error message
31 | */
32 | public ViessmannAuthException(String message) {
33 | super(message);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/api/ViessmannAuthState.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.api;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link ViessmannAuthState} represents that steps in the authorization process.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | enum ViessmannAuthState {
24 | /*
25 | * This is the initial state. It indicates that an "authorize" API call is needed to get
26 | * the Viessmann authcode.
27 | */
28 | NEED_AUTH,
29 |
30 | /*
31 | * This state indicates that a "login" fails
32 | */
33 | NEED_LOGIN,
34 |
35 | /*
36 | * This state indicates that a code request was successful, and that a "token" API
37 | * call is needed to complete the authorization and get the refresh and access tokens.
38 | */
39 | NEED_TOKEN,
40 |
41 | /*
42 | * This state indicates that a refresh token is needed.
43 | */
44 | NEED_REFRESH_TOKEN,
45 |
46 | /*
47 | * This state indicates that the "authorize" and "token" steps were successful.
48 | */
49 | COMPLETE
50 | }
51 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/api/ViessmannCommunicationException.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.api;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link ViessmannCommunicationException} is thrown during GET or POST requests.
19 | *
20 | * @author Christoph Weitkamp - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class ViessmannCommunicationException extends Exception {
24 |
25 | private static final long serialVersionUID = 1L;
26 |
27 | /**
28 | * Constructor.
29 | *
30 | * @param message Viessmann error message
31 | */
32 | public ViessmannCommunicationException(String message) {
33 | super(message);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/config/BridgeConfiguration.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link BridgeConfiguration} class contains fields mapping thing configuration parameters.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class BridgeConfiguration {
24 |
25 | public String user = "";
26 | public String password = "";
27 | public String apiKey = "";
28 | public String installationId = "";
29 | public String gatewaySerial = "";
30 | public int apiCallLimit = 1450;
31 | public int bufferApiCommands = 450;
32 | public int pollingInterval = 0;
33 | public int pollingIntervalErrors = 60;
34 | public boolean disablePolling = false;
35 | }
36 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/config/ThingsConfig.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.config;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * The {@link ThingsConfig} class contains fields mapping thing configuration parameters for Things.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public class ThingsConfig {
24 | public String deviceId = "";
25 | }
26 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/HeatingCircuit.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto;
14 |
15 | /**
16 | * The {@link HeatingCircuit} provides the params for a heating circuit
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class HeatingCircuit {
21 | public String slope;
22 | public String shift;
23 |
24 | public String getSlope() {
25 | return slope;
26 | }
27 |
28 | public void setSlope(String slope) {
29 | this.slope = slope;
30 | }
31 |
32 | public String getShift() {
33 | return shift;
34 | }
35 |
36 | public void setShift(String shift) {
37 | this.shift = shift;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/ViessmannMessage.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto;
14 |
15 | import org.eclipse.jdt.annotation.NonNullByDefault;
16 |
17 | /**
18 | * Superclass for all Viessmann message types.
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | @NonNullByDefault
23 | public abstract class ViessmannMessage {
24 |
25 | /** string containing the original unparsed message */
26 | public final String message;
27 |
28 | public ViessmannMessage(String message) {
29 | this.message = message;
30 | }
31 |
32 | @Override
33 | public String toString() {
34 | return message;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/device/DeviceDTO.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.device;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link DeviceDTO} provides a device list
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class DeviceDTO {
23 | public List data = null;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/device/DeviceData.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.device;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link DeviceData} provides all data of a device
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class DeviceData {
23 | public String gatewaySerial;
24 | public String id;
25 | public String boilerSerial;
26 | public String boilerSerialEditor;
27 | public String bmuSerial;
28 | public String bmuSerialEditor;
29 | public String createdAt;
30 | public String editedAt;
31 | public String modelId;
32 | public String status;
33 | public String deviceType;
34 | public List roles = null;
35 | }
36 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/error/TokenErrorDTO.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.error;
14 |
15 | /**
16 | * The {@link TokenErrorDTO} provides the token error message
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class TokenErrorDTO {
21 | public String error;
22 | }
23 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/events/Body.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.events;
14 |
15 | /**
16 | * The {@link Body} provides all data of a Body
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class Body {
21 | public String errorCode;
22 | public String deviceId;
23 | public String modelId;
24 | public Boolean active;
25 | public String equipmentType;
26 | public String errorEventType;
27 | public String errorDescription;
28 | public String featureName;
29 | public String commandName;
30 | public CommandBody commandBody;
31 | public Boolean online;
32 | }
33 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/events/CommandBody.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.events;
14 |
15 | /**
16 | * The {@link CommandBody} provides all data of a CommandBody
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class CommandBody {
21 | public Integer temperature;
22 | public String mode;
23 | public Integer targetTemperature;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/events/Cursor.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.events;
14 |
15 | /**
16 | * The {@link Cursor} provides all data Cursor
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class Cursor {
21 | public String next;
22 | }
23 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/events/EventsDTO.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.events;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link EventsDTO} provides all data of a EventsDTO
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class EventsDTO {
23 | public List data = null;
24 | public Cursor cursor;
25 | }
26 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/events/EventsDataDTO.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.events;
14 |
15 | /**
16 | * The {@link EventsDataDTO} provides all data of Datum
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class EventsDataDTO {
21 | public String eventType;
22 | public String gatewaySerial;
23 | public Body body;
24 | public String createdAt;
25 | public String eventTimestamp;
26 | public String editedBy;
27 | public String origin;
28 | }
29 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureBoolean.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureBoolean} provides values of boolean features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureBoolean {
21 | public String type;
22 | public Boolean value;
23 | }
24 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureChangeEndDate.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureChangeEndDate} provides data of change end date features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureChangeEndDate {
21 | public String uri;
22 | public String name;
23 | public Boolean isExecutable;
24 | public FeatureChangeEndDateParams params;
25 | }
26 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureChangeEndDateParams.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureChangeEndDateParams} provides parameters of change end date features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureChangeEndDateParams {
21 | public FeatureSetDate end;
22 | }
23 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureConstraintsEmpty.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureConstraintsEmpty} provides constraints of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureConstraintsEmpty {
21 | }
22 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureConstraintsEnumValue.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link FeatureConstraintsEnumValue} provides enumValue constraints of features
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class FeatureConstraintsEnumValue {
23 | public List enumValue = null;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureConstraintsLength.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureConstraintsLength} provides length constraints of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureConstraintsLength {
21 | public Integer minLength;
22 | public Integer maxLength;
23 | }
24 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureConstraintsSchedule.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link FeatureConstraintsSchedule} provides schedule constraints of features
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class FeatureConstraintsSchedule {
23 | public Integer maxEntries;
24 | public Integer resolution;
25 | public List modes = null;
26 | public String defaultMode;
27 | }
28 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureConstraintsSteppingDouble.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureConstraintsSteppingDouble} provides double stepping constraints of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureConstraintsSteppingDouble {
21 | public Double min;
22 | public Double max;
23 | public Double stepping;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureConstraintsSteppingInteger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureConstraintsSteppingInteger} provides integer stepping constraints of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureConstraintsSteppingInteger {
21 | public Integer min;
22 | public Integer max;
23 | public Integer stepping;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureDataDTO.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link FeatureDataDTO} provides all data of a feature
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class FeatureDataDTO {
23 | public Integer apiVersion;
24 | public Boolean isEnabled;
25 | public Boolean isReady;
26 | public String gatewayId;
27 | public String feature;
28 | public String uri;
29 | public String deviceId;
30 | public String timestamp;
31 | public FeatureProperties properties;
32 | public FeatureCommands commands;
33 | public List components = null;
34 | }
35 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureDay.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureDay} provides day of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureDay {
21 | public String start;
22 | public String end;
23 | public String mode;
24 | public Integer position;
25 | }
26 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureDefaultCommands.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureDefaultCommands} provides default command of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureDefaultCommands {
21 | public String uri;
22 | public String name;
23 | public Boolean isExecutable;
24 | public FeatureEmptyParams params;
25 | }
26 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureDefaultSetterParamsDouble.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureDefaultSetterParamsDouble} provides default parameters of double features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureDefaultSetterParamsDouble {
21 | public Boolean required;
22 | public String type;
23 | public FeatureConstraintsSteppingDouble constraints;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureDefaultSetterParamsInteger.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureDefaultSetterParamsInteger} provides default parameters of integer features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureDefaultSetterParamsInteger {
21 | Boolean required;
22 | String type;
23 | public FeatureConstraintsSteppingInteger constraints;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureDouble.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureDouble} provides values of double features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureDouble {
21 | public String type;
22 | public Double value;
23 | public String unit;
24 | }
25 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureEmptyParams.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureEmptyParams} provides empty parameters of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureEmptyParams {
21 | }
22 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureEntriesWeekDays.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | /**
16 | * The {@link FeatureEntriesWeekDays} provides weekday entries of features
17 | *
18 | * @author Ronny Grun - Initial contribution
19 | */
20 | public class FeatureEntriesWeekDays {
21 | public String type;
22 | public FeatureWeekDays value;
23 | }
24 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureErrorEntries.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link FeatureErrorEntries} provides all data of a feature
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class FeatureErrorEntries {
23 |
24 | public String type;
25 | public List value;
26 | }
27 |
--------------------------------------------------------------------------------
/bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureErrorValue.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2021-2023 Contributors to the SmartHome/J project
3 | *
4 | * See the NOTICE file(s) distributed with this work for additional
5 | * information.
6 | *
7 | * This program and the accompanying materials are made available under the
8 | * terms of the Eclipse Public License 2.0 which is available at
9 | * http://www.eclipse.org/legal/epl-2.0
10 | *
11 | * SPDX-License-Identifier: EPL-2.0
12 | */
13 | package org.smarthomej.binding.viessmann.internal.dto.features;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * The {@link FeatureErrorValue} provides all data of a feature
19 | *
20 | * @author Ronny Grun - Initial contribution
21 | */
22 | public class FeatureErrorValue {
23 | public String errorCode;
24 |
25 | public String accessLevel;
26 |
27 | public String priority;
28 |
29 | public List