├── .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 audiences; 30 | } 31 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureInteger.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 FeatureInteger} provides integer value of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureInteger { 21 | public String type; 22 | public Integer value; 23 | public String unit; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureListDouble.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 FeatureListDouble} provides list with double value of features 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class FeatureListDouble { 23 | public String type; 24 | public List value = null; 25 | public String unit; 26 | } 27 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureMode.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 FeatureMode} provides modes of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureMode { 21 | public Boolean required; 22 | public String type; 23 | public FeatureConstraintsEnumValue constraints; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureModeParams.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 FeatureModeParams} provides mode parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureModeParams { 21 | public FeatureMode mode; 22 | } 23 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureNewSchedule.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 FeatureNewSchedule} provides new schedule of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureNewSchedule { 21 | public Boolean required; 22 | public String type; 23 | public FeatureConstraintsSchedule constraints; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureParamsName.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 FeatureParamsName} provides name parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureParamsName { 21 | public Boolean required; 22 | public String type; 23 | public FeatureConstraintsLength constraints; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSchedule.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 FeatureSchedule} provides schedule of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSchedule { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureScheduleParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureScheduleParams.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 FeatureScheduleParams} provides schedule parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureScheduleParams { 21 | public FeatureSetDate start; 22 | public FeatureSetDate end; 23 | } 24 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetCurve.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 FeatureSetCurve} provides set curve of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetCurve { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetHeatingCurve params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetDate.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 FeatureSetDate} provides set date of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetDate { 21 | public Boolean required; 22 | public String type; 23 | public FeatureConstraintsEmpty constraints; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetHeatingCurve.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 FeatureSetHeatingCurve} provides set heating curve of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetHeatingCurve { 21 | public FeatureSlope slope; 22 | public FeatureShift shift; 23 | } 24 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetHysteresis.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 FeatureSetHysteresis} provides set hysteresis of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetHysteresis { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetHeatingCurve params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetHysteresisParams.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 FeatureSetHysteresisParams} provides set hysteresis parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetHysteresisParams { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetHysteresisParamsHysteresis params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetHysteresisParamsHysteresis.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 FeatureSetHysteresisParamsHysteresis} provides hysteresis parameters features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetHysteresisParamsHysteresis { 21 | public FeatureDefaultSetterParamsDouble hysteresis; 22 | } 23 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetLevels.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 FeatureSetLevels} provides set levels of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetLevels { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetLevelsParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetLevelsParams.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 FeatureSetLevelsParams} provides levels parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetLevelsParams { 21 | public FeatureDefaultSetterParamsInteger minTemperature; 22 | public FeatureDefaultSetterParamsInteger maxTemperature; 23 | } 24 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetMode.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 FeatureSetMode} provides set mode of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetMode { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureModeParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetName.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 FeatureSetName} provides set name of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetName { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetNameParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetNameParams.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 FeatureSetNameParams} provides set name parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetNameParams { 21 | FeatureParamsName name; 22 | } 23 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetSchedule.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 FeatureSetSchedule} provides set schedule of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetSchedule { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetScheduleParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetScheduleParams.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 FeatureSetScheduleParams} provides set schedule parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetScheduleParams { 21 | public FeatureNewSchedule newSchedule; 22 | } 23 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetTargetTemperature.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 FeatureSetTargetTemperature} provides set target temperature of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetTargetTemperature { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureSetTargetTemperatureParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetTargetTemperatureParams.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 FeatureSetTargetTemperatureParams} provides set target temperature parameters of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetTargetTemperatureParams { 21 | public FeatureDefaultSetterParamsInteger temperature; 22 | } 23 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSetTemperature.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 FeatureSetTemperature} provides set temperature of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSetTemperature { 21 | public String uri; 22 | public String name; 23 | public Boolean isExecutable; 24 | public FeatureTargetTemperatureParams params; 25 | } 26 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureShift.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 FeatureShift} provides shift of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureShift { 21 | public Boolean required; 22 | public String type; 23 | public FeatureConstraintsSteppingInteger constraints; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureSlope.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 FeatureSlope} provides slope of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureSlope { 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/FeatureString.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 FeatureString} provides string value of features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureString { 21 | public String type; 22 | public String value; 23 | public String unit; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureTargetTemperatureParams.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 FeatureTargetTemperatureParams} provides parameters of target temperature features 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class FeatureTargetTemperatureParams { 21 | public FeatureDefaultSetterParamsInteger targetTemperature; 22 | } 23 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeatureWeekDays.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 FeatureWeekDays} provides weekdays for feature 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class FeatureWeekDays { 23 | public List mon = null; 24 | public List tue = null; 25 | public List wed = null; 26 | public List thu = null; 27 | public List fri = null; 28 | public List sat = null; 29 | public List sun = null; 30 | } 31 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/features/FeaturesDTO.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 FeaturesDTO} provides a list of features 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class FeaturesDTO { 23 | public List data = null; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/installation/Address.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.installation; 14 | 15 | /** 16 | * The {@link Address} provides address data of the installation 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class Address { 21 | public String street; 22 | public String houseNumber; 23 | public String zip; 24 | public String city; 25 | public Object region; 26 | public String country; 27 | public Object phoneNumber; 28 | public Object faxNumber; 29 | public Geolocation geolocation; 30 | } 31 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/installation/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.installation; 14 | 15 | /** 16 | * The {@link Cursor} provides the cursor of the installation 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/installation/Data.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.installation; 14 | 15 | import java.util.List; 16 | 17 | /** 18 | * * The {@link Data} provides all data of the installation 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class Data { 23 | public Integer id; 24 | public String description; 25 | public Address address; 26 | public List gateways = null; 27 | public String registeredAt; 28 | public String updatedAt; 29 | public String aggregatedStatus; 30 | public Object servicedBy; 31 | public Object heatingType; 32 | public Boolean ownedByMaintainer; 33 | public Boolean endUserWlanCommissioned; 34 | public Boolean withoutViCareUser; 35 | public String installationType; 36 | } 37 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/installation/Device.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.installation; 14 | 15 | import java.util.List; 16 | 17 | /** 18 | * The {@link Device} provides a device on the installation 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class Device { 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/installation/Gateway.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.installation; 14 | 15 | import java.util.List; 16 | 17 | /** 18 | * The {@link Gateway} provides all data of the gateway 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class Gateway { 23 | public String serial; 24 | public String version; 25 | public Integer firmwareUpdateFailureCounter; 26 | public Boolean autoUpdate; 27 | public String createdAt; 28 | public String producedAt; 29 | public String lastStatusChangedAt; 30 | public String aggregatedStatus; 31 | public String targetRealm; 32 | public List devices = null; 33 | public String gatewayType; 34 | public Integer installationId; 35 | public String registeredAt; 36 | public Object description; 37 | } 38 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/installation/Geolocation.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.installation; 14 | 15 | /** 16 | * The {@link Geolocation} provides the geolocation of the installation 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class Geolocation { 21 | public Double latitude; 22 | public Double longitude; 23 | public String timeZone; 24 | } 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/installation/InstallationDTO.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.installation; 14 | 15 | import java.util.List; 16 | 17 | /** 18 | * The {@link InstallationDTO} provides all data of the installation 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class InstallationDTO { 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/oauth/AbstractAuthResponseDTO.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.oauth; 14 | 15 | import com.google.gson.annotations.SerializedName; 16 | 17 | /** 18 | * The {@link AbstractAuthResponseDTO} represents the common fields returned in all auth responses. 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public abstract class AbstractAuthResponseDTO { 23 | 24 | /* 25 | * Error code. 26 | */ 27 | public String error; 28 | 29 | /* 30 | * Textual description of error. 31 | */ 32 | @SerializedName("error_description") 33 | public String errorDescription; 34 | 35 | /* 36 | * URI referencing OAuth documentation. 37 | */ 38 | @SerializedName("error_uri") 39 | public String errorURI; 40 | } 41 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/oauth/TokenResponseDTO.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.oauth; 14 | 15 | import com.google.gson.annotations.SerializedName; 16 | 17 | /** 18 | * The {@link TokenResponseDTO} provides the token response 19 | * 20 | * @author Ronny Grun - Initial contribution 21 | */ 22 | public class TokenResponseDTO extends AbstractAuthResponseDTO { 23 | 24 | /* 25 | * Access token to be used in future API requests. 26 | */ 27 | @SerializedName("access_token") 28 | public String accessToken; 29 | 30 | /* 31 | * Contains the string "Bearer" 32 | */ 33 | @SerializedName("token_type") 34 | public String tokenType; 35 | 36 | /* 37 | * Number of seconds until the access token will expire. 38 | */ 39 | @SerializedName("expires_in") 40 | public Integer expiresIn; 41 | 42 | /* 43 | * Token used to request a new access token. 44 | */ 45 | @SerializedName("refresh_token") 46 | public String refreshToken; 47 | 48 | /* 49 | * Matches the scope included in the token request. 50 | */ 51 | public String scope; 52 | } 53 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/java/org/smarthomej/binding/viessmann/internal/dto/schedule/DaySchedule.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.schedule; 14 | 15 | /** 16 | * The {@link DaySchedule} provides the schedule of each day 17 | * 18 | * @author Ronny Grun - Initial contribution 19 | */ 20 | public class DaySchedule { 21 | private String start; 22 | private String end; 23 | private String mode; 24 | private Integer position; 25 | 26 | public String getStart() { 27 | return start; 28 | } 29 | 30 | public void setStart(String start) { 31 | this.start = start; 32 | } 33 | 34 | public String getEnd() { 35 | return end; 36 | } 37 | 38 | public void setEnd(String end) { 39 | this.end = end; 40 | } 41 | 42 | public String getMode() { 43 | return mode; 44 | } 45 | 46 | public void setMode(String mode) { 47 | this.mode = mode; 48 | } 49 | 50 | public Integer getPosition() { 51 | return position; 52 | } 53 | 54 | public void setPosition(Integer position) { 55 | this.position = position; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/resources/OH-INF/addon/addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | binding 7 | Viessmann Binding 8 | This is the binding for Viessmann. 9 | 10 | 11 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.binding.viessmann/src/main/resources/modes.properties: -------------------------------------------------------------------------------- 1 | cooling = Cooling 2 | dhw = Domestic hot water 3 | dhwAndHeating = Domestic hot water and Heating 4 | dhwAndHeatingCooling = Domestic hot water and Heating/Cooling 5 | heating = Heating 6 | heatingCooling = Heating/Cooling 7 | normalStandby = Normal/Standby 8 | standby = Standby 9 | chimneySweeperMode = Chimney sweeper 10 | ecological = Ecological 11 | economical = Economical 12 | energyControlled = Energy controlled 13 | heatControlled = Heat controlled 14 | holidayWithFuelCellOff = Holiday with Fuel Cell off 15 | holidayWithFuelCellOn = Holiday with Fuel Cell on 16 | maintenance = Maintenance 17 | party = Party 18 | standard = Standard 19 | ventilation = Ventilation 20 | filterChange = Filter change 21 | permanent = Permanent 22 | sensorDriven = Sensor driven 23 | sensorOverride = Sensor override 24 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.commons/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 -------------------------------------------------------------------------------- /bundles/org.smarthomej.commons/javadoc.profile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarthomej/addons/f6c95e4f0aba768f9422cff1325a31b31b72c6dc/bundles/org.smarthomej.commons/javadoc.profile -------------------------------------------------------------------------------- /bundles/org.smarthomej.commons/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.commons 14 | 15 | SmartHome/J Add-ons :: Bundles :: Common Components 16 | 17 | 18 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.commons/src/test/resources/test.properties: -------------------------------------------------------------------------------- 1 | # comment 2 | key1 = value1 3 | key2 = value2 4 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.chain/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.transform.chain/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.transform.chain 14 | 15 | SmartHome/J Add-ons :: Bundles :: Transformation Service :: Chain 16 | 17 | 18 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.chain/src/main/feature/feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | openhab-runtime-base 5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.transform.chain/${project.version} 6 | 7 | 8 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.chain/src/main/java/org/smarthomej/transform/chain/internal/ChainTransformationProfileConfiguration.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.transform.chain.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | 17 | /** 18 | * The {@link ChainTransformationProfileConfiguration} is responsible for 19 | * 20 | * @author Jan N. Klug - Initial contribution 21 | */ 22 | @NonNullByDefault 23 | public class ChainTransformationProfileConfiguration { 24 | public String toItem = ""; 25 | public String toChannel = ""; 26 | public boolean undefOnError = false; 27 | 28 | @Override 29 | public String toString() { 30 | return "ChainTransformationProfileConfiguration{toItem='" + toItem + "', toChannel='" + toChannel 31 | + "', undefOnError=" + undefOnError + "}"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.chain/src/main/resources/OH-INF/addon/addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | transformation 7 | CHAIN Transformation 8 | A transformation that chains other transformations. 9 | 10 | 11 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.chain/src/main/resources/OH-INF/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | Chain of transformations (separated by "∩") used for converting values from the channel to the linked 11 | item. 12 | 13 | 14 | 15 | Chain of transformations (separated by "∩") used for converting values from the channel to the linked 16 | item. 17 | 18 | 19 | 20 | If "true", UNDEF is used if the transformation failed, otherwise the input is ignored (default). 21 | false 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/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.transform.format/README.md: -------------------------------------------------------------------------------- 1 | # Format Transformation Service 2 | 3 | Transforms the input by using the java formatter. 4 | It expects the format string to be read from a file which is stored under the `transform` folder. 5 | The file name must have the `.format` extension and contain at least one occurrence of `%1$s` which is replaced by the input string. 6 | 7 | ## Example 8 | 9 | ### transform/identity.format: 10 | 11 | ``` 12 | %1$s 13 | ``` 14 | 15 | applied to `TESTSTRING` results in 16 | 17 | ``` 18 | TESTSTRING 19 | ``` 20 | 21 | ### transform/xml.format 22 | 23 | ``` 24 | 25 | 26 | %1$s 27 | 28 | ``` 29 | 30 | applied to `TESTSTRING` results in 31 | 32 | ``` 33 | 34 | 35 | TESTSTRING 36 | 37 | ``` 38 | 39 | ### transform/double.format 40 | 41 | ``` 42 | %1$s - %1$s 43 | ``` 44 | 45 | applied to `TESTSTRING` results in 46 | 47 | ``` 48 | TESTSTRING - TESTSTRING 49 | ``` 50 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/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.transform.format 14 | 15 | SmartHome/J Add-ons :: Bundles :: Transformation Service :: Format 16 | 17 | 18 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/src/main/feature/feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | openhab-runtime-base 5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.transform.format/${project.version} 6 | 7 | 8 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/src/main/resources/OH-INF/addon/addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | transformation 7 | FORMAT Transformation 8 | Transforms the input by applying the java format method. 9 | 10 | 11 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/src/test/resources/conf/transform/double.format: -------------------------------------------------------------------------------- 1 | %1$s - %1$s -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/src/test/resources/conf/transform/identity.format: -------------------------------------------------------------------------------- 1 | %1$s -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/src/test/resources/conf/transform/xml.format: -------------------------------------------------------------------------------- 1 | 2 | 3 | %1$s 4 | 5 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.format/src/test/resources/xml.expected: -------------------------------------------------------------------------------- 1 | 2 | 3 | TESTSTRING 4 | 5 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/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.transform.math/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.transform.math 14 | 15 | SmartHome/J Add-ons :: Bundles :: Transformation Service :: Math 16 | 17 | 18 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/feature/feature.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | openhab-runtime-base 5 | mvn:org.smarthomej.addons.bundles/org.smarthomej.transform.math/${project.version} 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/AddTransformationService.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.transform.math.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.library.types.QuantityType; 17 | import org.openhab.core.transform.TransformationService; 18 | import org.osgi.service.component.annotations.Component; 19 | 20 | /** 21 | * This {@link TransformationService} adds the given value to the input. 22 | * 23 | * @author Christoph Weitkamp - Initial contribution 24 | */ 25 | @NonNullByDefault 26 | @Component(service = { TransformationService.class }, property = { "openhab.transform=ADD" }) 27 | public class AddTransformationService extends AbstractMathTransformationService { 28 | 29 | @Override 30 | QuantityType performCalculation(QuantityType source, QuantityType value) { 31 | if (source.getUnit().isCompatible(value.getUnit())) { 32 | return new QuantityType<>(source.toBigDecimal().add(value.toBigDecimal()), source.getUnit()); 33 | } 34 | throw new IllegalArgumentException("Units are not compatible for operation."); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/BitwiseAndTransformationService.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.transform.math.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.transform.TransformationService; 17 | import org.osgi.service.component.annotations.Component; 18 | 19 | /** 20 | * This {@link TransformationService} performs an AND operation on the input 21 | * 22 | * @author Jan N. Klug - Initial contribution 23 | */ 24 | @NonNullByDefault 25 | @Component(service = { TransformationService.class }, property = { "openhab.transform=BITAND" }) 26 | public class BitwiseAndTransformationService extends AbstractBitwiseTransformationService { 27 | 28 | @Override 29 | long performCalculation(long source, long mask) { 30 | return (source & mask); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/BitwiseOrTransformationService.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.transform.math.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.transform.TransformationService; 17 | import org.osgi.service.component.annotations.Component; 18 | 19 | /** 20 | * This {@link TransformationService} performs an OR operation on the input 21 | * 22 | * @author Jan N. Klug - Initial contribution 23 | */ 24 | @NonNullByDefault 25 | @Component(service = { TransformationService.class }, property = { "openhab.transform=BITOR" }) 26 | public class BitwiseOrTransformationService extends AbstractBitwiseTransformationService { 27 | 28 | @Override 29 | long performCalculation(long source, long mask) { 30 | return (source | mask); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/BitwiseXorTransformationService.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.transform.math.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.transform.TransformationService; 17 | import org.osgi.service.component.annotations.Component; 18 | 19 | /** 20 | * This {@link TransformationService} performs an XOR operation on the input 21 | * 22 | * @author Jan N. Klug - Initial contribution 23 | */ 24 | @NonNullByDefault 25 | @Component(service = { TransformationService.class }, property = { "openhab.transform=BITXOR" }) 26 | public class BitwiseXorTransformationService extends AbstractBitwiseTransformationService { 27 | 28 | @Override 29 | long performCalculation(long source, long mask) { 30 | return (source ^ mask); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/DivideTransformationService.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.transform.math.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.library.types.QuantityType; 17 | import org.openhab.core.transform.TransformationService; 18 | import org.osgi.service.component.annotations.Component; 19 | 20 | /** 21 | * This {@link TransformationService} divides the input by a given value. 22 | * 23 | * @author Jan N. Klug - Initial contribution 24 | */ 25 | @NonNullByDefault 26 | @Component(service = { TransformationService.class }, property = { "openhab.transform=DIVIDE" }) 27 | public class DivideTransformationService extends AbstractMathTransformationService { 28 | 29 | @Override 30 | QuantityType performCalculation(QuantityType source, QuantityType value) { 31 | return source.divide(value); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/MultiplyTransformationService.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.transform.math.internal; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.library.types.QuantityType; 17 | import org.openhab.core.transform.TransformationService; 18 | import org.osgi.service.component.annotations.Component; 19 | 20 | /** 21 | * This {@link TransformationService} multiplies the input by a given value. 22 | * 23 | * @author Christoph Weitkamp - Initial contribution 24 | */ 25 | @NonNullByDefault 26 | @Component(service = { TransformationService.class }, property = { "openhab.transform=MULTIPLY" }) 27 | public class MultiplyTransformationService extends AbstractMathTransformationService { 28 | 29 | @Override 30 | QuantityType performCalculation(QuantityType source, QuantityType value) { 31 | return source.multiply(value); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/java/org/smarthomej/transform/math/internal/profiles/BitwiseAndTransformationProfile.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.transform.math.internal.profiles; 14 | 15 | import org.eclipse.jdt.annotation.NonNullByDefault; 16 | import org.openhab.core.thing.profiles.ProfileCallback; 17 | import org.openhab.core.thing.profiles.ProfileContext; 18 | import org.openhab.core.thing.profiles.ProfileTypeUID; 19 | import org.openhab.core.transform.TransformationService; 20 | 21 | /** 22 | * Profile to offer the {@link BitwiseAndTransformationService} on a ItemChannelLink. 23 | * 24 | * @author Christoph Weitkamp - Initial contribution 25 | * @author Jan N. Klug - Adapted To BoitwiseTransformations 26 | */ 27 | @NonNullByDefault 28 | public class BitwiseAndTransformationProfile extends BitwiseTransformationProfile { 29 | 30 | public static final ProfileTypeUID PROFILE_TYPE_UID = new ProfileTypeUID( 31 | TransformationService.TRANSFORM_PROFILE_SCOPE, "BITAND"); 32 | 33 | public BitwiseAndTransformationProfile(ProfileCallback callback, ProfileContext context, 34 | TransformationService service) { 35 | super(callback, context, service, PROFILE_TYPE_UID); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/resources/OH-INF/addon/addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | transformation 7 | MATH Transformation 8 | Transforms values using simple math. 9 | 10 | 11 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/resources/OH-INF/i18n/transform.properties: -------------------------------------------------------------------------------- 1 | profile-type.transform.ADD.label = Add 2 | profile.config.transform.ADD.addend.label = Addend 3 | profile.config.transform.ADD.addend.description = Value to be added to the Item State. 4 | profile.config.transform.ADD.itemName.label = Item 5 | profile.config.transform.ADD.itemName.description = Name of an alternative Item which State to be added to the linked Item State (will be prioritized if given). 6 | 7 | profile-type.transform.MULTIPLY.label = Multiply 8 | profile.config.transform.MULTIPLY.multiplicand.label = Multiplicand 9 | profile.config.transform.MULTIPLY.multiplicand.description = Value to be multiplied by the Item State. 10 | profile.config.transform.MULTIPLY.itemName.label = Item 11 | profile.config.transform.MULTIPLY.itemName.description = Name of an alternative Item which State to be multiplied by the linked Item State (will be prioritized if given). 12 | 13 | profile-type.transform.DIVIDE.label = Divide 14 | profile.config.transform.DIVIDE.divisor.label = Divisor 15 | profile.config.transform.DIVIDE.divisor.description = Value by which the Item State is divided. 16 | profile.config.transform.DIVIDE.itemName.label = Item 17 | profile.config.transform.DIVIDE.itemName.description = Name of an alternative Item by which State the linked Item State is divided (will be prioritized if given). 18 | -------------------------------------------------------------------------------- /bundles/org.smarthomej.transform.math/src/main/resources/OH-INF/i18n/transform_de.properties: -------------------------------------------------------------------------------- 1 | profile-type.transform.ADD.label = Addieren 2 | profile.config.transform.ADD.addend.label = Summand 3 | profile.config.transform.ADD.addend.description = Wert, der zu dem Item State addiert wird. 4 | 5 | profile-type.transform.MULTIPLY.label = Multiplizieren 6 | profile.config.transform.MULTIPLY.multiplicand.label = Multiplikand 7 | profile.config.transform.MULTIPLY.multiplicand.description = Wert, der mit dem Item State multipliziert wird. 8 | 9 | profile-type.transform.DIVIDE.label = Dividieren 10 | profile.config.transform.DIVIDE.divisor.label = Divisor 11 | profile.config.transform.DIVIDE.divisor.description = Wert, durch den der Item State geteilt wird. 12 | -------------------------------------------------------------------------------- /features/readme.md: -------------------------------------------------------------------------------- 1 | ## Karaf features 2 | 3 | In this directory you find Karaf features defined. 4 | Karaf features allow to define dependencies for openHAB add-ons and OSGi bundles in general. 5 | 6 | If you require an external library in your openHAB add-on, you most likely want to edit the Karaf features file as well. 7 | 8 | -------------------------------------------------------------------------------- /features/smarthomej-addons-external/src/main/resources/conf/influxdb.cfg: -------------------------------------------------------------------------------- 1 | # The database URL, e.g. http://127.0.0.1:8086 or https://127.0.0.1:8084 . 2 | # Defaults to: http://127.0.0.1:8086 3 | # url=http(s)://: 4 | 5 | # The name of the database user, e.g. openhab. 6 | # Defaults to: openhab 7 | # user= 8 | 9 | # The password of the database user. 10 | # password= 11 | 12 | # The name of the database, e.g. openhab. 13 | # Defaults to: openhab 14 | # db= 15 | -------------------------------------------------------------------------------- /features/smarthomej-addons/src/main/resources/footer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /features/smarthomej-addons/src/main/resources/header.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | -------------------------------------------------------------------------------- /licenses/epl-2.0/header.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-${year} Contributors to the openHAB project 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 | -------------------------------------------------------------------------------- /licenses/epl-2.0/xml-header-style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ]]> 7 | $]]> 8 | 9 | (\s|\t)*$]]> 10 | true 11 | true 12 | 13 | 14 | -------------------------------------------------------------------------------- /site/src/main/resources/index-header.md: -------------------------------------------------------------------------------- 1 | # SmartHome/J Documentation 2 | 3 | SmartHome/J is a set add-ons that are implemented on top of [openHAB Core APIs](https://github.com/openhab/openhab-core). 4 | Some parts of this repository have been forked from [openHAB Addons](https://github.com/openhab/openhab-addons). 5 | 6 | ## Available Bundles 7 | -------------------------------------------------------------------------------- /site/src/main/resources/markdown/css/default.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: var(--gen-docu-background-color); 3 | 4 | font-family: -apple-system, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Helvetica, Arial, sans-serif; 5 | font-size: 14px; 6 | 7 | line-height: 1.5; 8 | 9 | --gen-docu-text-color: #202070; 10 | --gen-docu-code-background-color: #d0e0ff; 11 | --gen-docu-background-color: #f0f7ff; 12 | --gen-docu-border: 1px solid black; 13 | 14 | color: var(--gen-docu-text-color); 15 | 16 | margin: 10px; 17 | padding: 10px; 18 | } 19 | 20 | .version { 21 | display: block; 22 | text-align: right; 23 | } 24 | 25 | code { 26 | background-color: var(--gen-docu-code-background-color); 27 | padding-left: 0.3em; 28 | padding-right: 0.3em; 29 | } 30 | 31 | pre>code { 32 | padding-left: 0; 33 | } 34 | 35 | pre { 36 | background-color: var(--gen-docu-code-background-color); 37 | padding: 0.5em; 38 | border: var(--gen-docu-border); 39 | } 40 | 41 | .table-bordered { 42 | border: var(--gen-docu-border); 43 | border-collapse: collapse; 44 | padding: 0.5em; 45 | } 46 | 47 | a, a:visited { 48 | color: var(--gen-docu-text-color); 49 | } 50 | 51 | h1>a, h2>a, h3>a { 52 | text-decoration: none; 53 | } 54 | 55 | h2 { 56 | width: 100%; 57 | background-color: #405080; 58 | } 59 | 60 | h2>a, h2>a:visited { 61 | color: var(--gen-docu-background-color); 62 | } 63 | -------------------------------------------------------------------------------- /site/src/main/resources/template/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /site/src/main/resources/template/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | titleToken 5 | 6 | 7 | 8 | 9 |
Version: ${project.version}
10 | -------------------------------------------------------------------------------- /src/etc/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 | -------------------------------------------------------------------------------- /tools/static-code-analysis/checkstyle/ruleset.properties: -------------------------------------------------------------------------------- 1 | checkstyle.headerCheck.content=^/\\*\\*$\\n^ \\* Copyright \\(c\\) 2010-2021 Contributors to the openHAB project\\n^ \\* Copyright \\(c\\) 2021-2023 Contributors to the SmartHome\\/J project$\\n^ \\*$\\n^ \\* See the NOTICE file\\(s\\) distributed with this work for additional$\\n^ \\* information.$\\n^ \\*$\\n^ \\* This program and the accompanying materials are made available under the$\\n^ \\* terms of the Eclipse Public License 2\\.0 which is available at$\\n^ \\* http://www.eclipse.org/legal/epl\\-2\\.0$\\n^ \\*$\\n^ \\* SPDX-License-Identifier: EPL-2.0$ 2 | checkstyle.forbiddenPackageUsageCheck.forbiddenPackages=com.google.common,gnu.io,javax.comm,org.apache.commons,org.joda.time,org.junit.Assert,org.junit.Test,tec.uom.se,java.io.UnsupportedEncodingException 3 | checkstyle.forbiddenPackageUsageCheck.exceptions=org.apache.commons.mail 4 | checkstyle.requiredFilesCheck.files=pom.xml 5 | --------------------------------------------------------------------------------