{"action":"created","comment":{"url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/comments/196901677","pull_request_review_id":130537051,"id":196901677,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NjkwMTY3Nw==","diff_hunk":"@@ -0,0 +1,201 @@\n+/**\n+ * Copyright (c) 2010-2018 by the respective copyright holders.\n+ *\n+ * All rights reserved. This program and the accompanying materials\n+ * are made available under the terms of the Eclipse Public License v1.0\n+ * which accompanies this distribution, and is available at\n+ * http://www.eclipse.org/legal/epl-v10.html\n+ */\n+package org.openhab.binding.solaredge.handler;\n+\n+import java.util.Map;\n+import java.util.concurrent.ScheduledFuture;\n+import java.util.concurrent.TimeUnit;\n+\n+import org.eclipse.jdt.annotation.NonNull;\n+import org.eclipse.smarthome.core.library.types.DecimalType;\n+import org.eclipse.smarthome.core.library.types.StringType;\n+import org.eclipse.smarthome.core.thing.ChannelUID;\n+import org.eclipse.smarthome.core.thing.Thing;\n+import org.eclipse.smarthome.core.thing.ThingStatus;\n+import org.eclipse.smarthome.core.thing.ThingStatusDetail;\n+import org.eclipse.smarthome.core.thing.ThingStatusInfo;\n+import org.eclipse.smarthome.core.thing.binding.BaseThingHandler;\n+import org.eclipse.smarthome.core.types.Command;\n+import org.eclipse.smarthome.core.types.UnDefType;\n+import org.openhab.binding.solaredge.config.SolarEdgeConfiguration;\n+import org.openhab.binding.solaredge.internal.connector.WebInterface;\n+import org.openhab.binding.solaredge.internal.model.Channel;\n+import org.slf4j.Logger;\n+import org.slf4j.LoggerFactory;\n+\n+/**\n+ * The {@link SolarEdgeBaseHandler} is responsible for handling commands, which are\n+ * sent to one of the channels.\n+ *\n+ * @author Alexander Friese - initial contribution\n+ *\n+ */\n+public abstract class SolarEdgeBaseHandler extends BaseThingHandler implements SolarEdgeHandler {\n+\n+    private final Logger logger = LoggerFactory.getLogger(SolarEdgeBaseHandler.class);\n+\n+    /**\n+     * Interface object for querying the Solaredge web interface\n+     */\n+    private WebInterface webInterface;\n+\n+    /**\n+     * Job which will do the Solaredge polling\n+     */\n+    private final SolarEdgeLiveDataPolling liveDataPollingRunnable;\n+\n+    /**\n+     * Job which will do the Solaredge polling\n+     */\n+    private final SolarEdgeAggregateDataPolling aggregateDataPollingRunnable;\n+\n+    /**\n+     * Schedule for polling\n+     */\n+    private ScheduledFuture<?> liveDataPollingJob;\n+\n+    /**\n+     * Schedule for polling\n+     */\n+    private ScheduledFuture<?> aggregateDataPollingJob;\n+\n+    public SolarEdgeBaseHandler(@NonNull Thing thing) {","path":"addons/binding/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/handler/SolarEdgeBaseHandler.java","position":67,"original_position":68,"commit_id":"66117c748402550b65ffeada61cc44d7f081cebe","original_commit_id":"1ee34ea2ff63697dd796c8e2fe4ca296fa1c409c","user":{"login":"martinvw","id":2625279,"node_id":"MDQ6VXNlcjI2MjUyNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/2625279?v=4","gravatar_id":"","url":"https://api.github.com/users/martinvw","html_url":"https://github.com/martinvw","followers_url":"https://api.github.com/users/martinvw/followers","following_url":"https://api.github.com/users/martinvw/following{/other_user}","gists_url":"https://api.github.com/users/martinvw/gists{/gist_id}","starred_url":"https://api.github.com/users/martinvw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinvw/subscriptions","organizations_url":"https://api.github.com/users/martinvw/orgs","repos_url":"https://api.github.com/users/martinvw/repos","events_url":"https://api.github.com/users/martinvw/events{/privacy}","received_events_url":"https://api.github.com/users/martinvw/received_events","type":"User","site_admin":false},"body":"You should use `NonNullByDefault` on class level. What do you mean by it is not allowed?","created_at":"2018-06-20T18:43:02Z","updated_at":"2018-06-20T18:46:53Z","html_url":"https://github.com/openhab/openhab2-addons/pull/2770#discussion_r196901677","pull_request_url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/openhab/openhab2-addons/pulls/comments/196901677"},"html":{"href":"https://github.com/openhab/openhab2-addons/pull/2770#discussion_r196901677"},"pull_request":{"href":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770"}},"in_reply_to_id":192203722},"pull_request":{"url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770","id":145328910,"node_id":"MDExOlB1bGxSZXF1ZXN0MTQ1MzI4OTEw","html_url":"https://github.com/openhab/openhab2-addons/pull/2770","diff_url":"https://github.com/openhab/openhab2-addons/pull/2770.diff","patch_url":"https://github.com/openhab/openhab2-addons/pull/2770.patch","issue_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/2770","number":2770,"state":"open","locked":false,"title":"[solaredge] initial contribution","user":{"login":"alexf2015","id":13781579,"node_id":"MDQ6VXNlcjEzNzgxNTc5","avatar_url":"https://avatars3.githubusercontent.com/u/13781579?v=4","gravatar_id":"","url":"https://api.github.com/users/alexf2015","html_url":"https://github.com/alexf2015","followers_url":"https://api.github.com/users/alexf2015/followers","following_url":"https://api.github.com/users/alexf2015/following{/other_user}","gists_url":"https://api.github.com/users/alexf2015/gists{/gist_id}","starred_url":"https://api.github.com/users/alexf2015/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexf2015/subscriptions","organizations_url":"https://api.github.com/users/alexf2015/orgs","repos_url":"https://api.github.com/users/alexf2015/repos","events_url":"https://api.github.com/users/alexf2015/events{/privacy}","received_events_url":"https://api.github.com/users/alexf2015/received_events","type":"User","site_admin":false},"body":"[solaredge] initial contribution\r\n\r\nThis new binding provides (read-only) access to the Solaredge Monitoring API to retrieve live data for your Solaredge inverter.\r\nAll inverters that support “SolarEdge Monitoring” (http://monitoring.solaredge.com) are supported in general. No modbus adapters or any other hardware modifications are needed to use this binding.\r\n\r\nA community thread can be found here:\r\nhttps://community.openhab.org/t/new-binding-available-solaredge-binding/34852","created_at":"2017-10-08T10:20:48Z","updated_at":"2018-06-20T18:46:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"38027743f7d20f53c43d061d61839af366b886bb","assignee":{"login":"martinvw","id":2625279,"node_id":"MDQ6VXNlcjI2MjUyNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/2625279?v=4","gravatar_id":"","url":"https://api.github.com/users/martinvw","html_url":"https://github.com/martinvw","followers_url":"https://api.github.com/users/martinvw/followers","following_url":"https://api.github.com/users/martinvw/following{/other_user}","gists_url":"https://api.github.com/users/martinvw/gists{/gist_id}","starred_url":"https://api.github.com/users/martinvw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinvw/subscriptions","organizations_url":"https://api.github.com/users/martinvw/orgs","repos_url":"https://api.github.com/users/martinvw/repos","events_url":"https://api.github.com/users/martinvw/events{/privacy}","received_events_url":"https://api.github.com/users/martinvw/received_events","type":"User","site_admin":false},"assignees":[{"login":"martinvw","id":2625279,"node_id":"MDQ6VXNlcjI2MjUyNzk=","avatar_url":"https://avatars3.githubusercontent.com/u/2625279?v=4","gravatar_id":"","url":"https://api.github.com/users/martinvw","html_url":"https://github.com/martinvw","followers_url":"https://api.github.com/users/martinvw/followers","following_url":"https://api.github.com/users/martinvw/following{/other_user}","gists_url":"https://api.github.com/users/martinvw/gists{/gist_id}","starred_url":"https://api.github.com/users/martinvw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinvw/subscriptions","organizations_url":"https://api.github.com/users/martinvw/orgs","repos_url":"https://api.github.com/users/martinvw/repos","events_url":"https://api.github.com/users/martinvw/events{/privacy}","received_events_url":"https://api.github.com/users/martinvw/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":159935827,"node_id":"MDU6TGFiZWwxNTk5MzU4Mjc=","url":"https://api.github.com/repos/openhab/openhab2-addons/labels/newbinding","name":"newbinding","color":"5319e7","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770/commits","review_comments_url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770/comments","review_comment_url":"https://api.github.com/repos/openhab/openhab2-addons/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/2770/comments","statuses_url":"https://api.github.com/repos/openhab/openhab2-addons/statuses/66117c748402550b65ffeada61cc44d7f081cebe","head":{"label":"alexf2015:solaredge","ref":"solaredge","sha":"66117c748402550b65ffeada61cc44d7f081cebe","user":{"login":"alexf2015","id":13781579,"node_id":"MDQ6VXNlcjEzNzgxNTc5","avatar_url":"https://avatars3.githubusercontent.com/u/13781579?v=4","gravatar_id":"","url":"https://api.github.com/users/alexf2015","html_url":"https://github.com/alexf2015","followers_url":"https://api.github.com/users/alexf2015/followers","following_url":"https://api.github.com/users/alexf2015/following{/other_user}","gists_url":"https://api.github.com/users/alexf2015/gists{/gist_id}","starred_url":"https://api.github.com/users/alexf2015/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexf2015/subscriptions","organizations_url":"https://api.github.com/users/alexf2015/orgs","repos_url":"https://api.github.com/users/alexf2015/repos","events_url":"https://api.github.com/users/alexf2015/events{/privacy}","received_events_url":"https://api.github.com/users/alexf2015/received_events","type":"User","site_admin":false},"repo":{"id":102753390,"node_id":"MDEwOlJlcG9zaXRvcnkxMDI3NTMzOTA=","name":"openhab2-addons","full_name":"alexf2015/openhab2-addons","owner":{"login":"alexf2015","id":13781579,"node_id":"MDQ6VXNlcjEzNzgxNTc5","avatar_url":"https://avatars3.githubusercontent.com/u/13781579?v=4","gravatar_id":"","url":"https://api.github.com/users/alexf2015","html_url":"https://github.com/alexf2015","followers_url":"https://api.github.com/users/alexf2015/followers","following_url":"https://api.github.com/users/alexf2015/following{/other_user}","gists_url":"https://api.github.com/users/alexf2015/gists{/gist_id}","starred_url":"https://api.github.com/users/alexf2015/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexf2015/subscriptions","organizations_url":"https://api.github.com/users/alexf2015/orgs","repos_url":"https://api.github.com/users/alexf2015/repos","events_url":"https://api.github.com/users/alexf2015/events{/privacy}","received_events_url":"https://api.github.com/users/alexf2015/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alexf2015/openhab2-addons","description":"Add-ons for openHAB 2.x","fork":true,"url":"https://api.github.com/repos/alexf2015/openhab2-addons","forks_url":"https://api.github.com/repos/alexf2015/openhab2-addons/forks","keys_url":"https://api.github.com/repos/alexf2015/openhab2-addons/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexf2015/openhab2-addons/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexf2015/openhab2-addons/teams","hooks_url":"https://api.github.com/repos/alexf2015/openhab2-addons/hooks","issue_events_url":"https://api.github.com/repos/alexf2015/openhab2-addons/issues/events{/number}","events_url":"https://api.github.com/repos/alexf2015/openhab2-addons/events","assignees_url":"https://api.github.com/repos/alexf2015/openhab2-addons/assignees{/user}","branches_url":"https://api.github.com/repos/alexf2015/openhab2-addons/branches{/branch}","tags_url":"https://api.github.com/repos/alexf2015/openhab2-addons/tags","blobs_url":"https://api.github.com/repos/alexf2015/openhab2-addons/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexf2015/openhab2-addons/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexf2015/openhab2-addons/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexf2015/openhab2-addons/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexf2015/openhab2-addons/statuses/{sha}","languages_url":"https://api.github.com/repos/alexf2015/openhab2-addons/languages","stargazers_url":"https://api.github.com/repos/alexf2015/openhab2-addons/stargazers","contributors_url":"https://api.github.com/repos/alexf2015/openhab2-addons/contributors","subscribers_url":"https://api.github.com/repos/alexf2015/openhab2-addons/subscribers","subscription_url":"https://api.github.com/repos/alexf2015/openhab2-addons/subscription","commits_url":"https://api.github.com/repos/alexf2015/openhab2-addons/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexf2015/openhab2-addons/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexf2015/openhab2-addons/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexf2015/openhab2-addons/issues/comments{/number}","contents_url":"https://api.github.com/repos/alexf2015/openhab2-addons/contents/{+path}","compare_url":"https://api.github.com/repos/alexf2015/openhab2-addons/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexf2015/openhab2-addons/merges","archive_url":"https://api.github.com/repos/alexf2015/openhab2-addons/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexf2015/openhab2-addons/downloads","issues_url":"https://api.github.com/repos/alexf2015/openhab2-addons/issues{/number}","pulls_url":"https://api.github.com/repos/alexf2015/openhab2-addons/pulls{/number}","milestones_url":"https://api.github.com/repos/alexf2015/openhab2-addons/milestones{/number}","notifications_url":"https://api.github.com/repos/alexf2015/openhab2-addons/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexf2015/openhab2-addons/labels{/name}","releases_url":"https://api.github.com/repos/alexf2015/openhab2-addons/releases{/id}","deployments_url":"https://api.github.com/repos/alexf2015/openhab2-addons/deployments","created_at":"2017-09-07T15:22:10Z","updated_at":"2018-06-13T10:45:32Z","pushed_at":"2018-06-17T10:00:44Z","git_url":"git://github.com/alexf2015/openhab2-addons.git","ssh_url":"git@github.com:alexf2015/openhab2-addons.git","clone_url":"https://github.com/alexf2015/openhab2-addons.git","svn_url":"https://github.com/alexf2015/openhab2-addons","homepage":"","size":277446,"stargazers_count":7,"watchers_count":7,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0","node_id":"MDc6TGljZW5zZTc="},"forks":1,"open_issues":0,"watchers":7,"default_branch":"master"}},"base":{"label":"openhab:master","ref":"master","sha":"2d13ce93f86be6c05facaf1eb030c80c7e603b20","user":{"login":"openhab","id":1007353,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwMDczNTM=","avatar_url":"https://avatars0.githubusercontent.com/u/1007353?v=4","gravatar_id":"","url":"https://api.github.com/users/openhab","html_url":"https://github.com/openhab","followers_url":"https://api.github.com/users/openhab/followers","following_url":"https://api.github.com/users/openhab/following{/other_user}","gists_url":"https://api.github.com/users/openhab/gists{/gist_id}","starred_url":"https://api.github.com/users/openhab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openhab/subscriptions","organizations_url":"https://api.github.com/users/openhab/orgs","repos_url":"https://api.github.com/users/openhab/repos","events_url":"https://api.github.com/users/openhab/events{/privacy}","received_events_url":"https://api.github.com/users/openhab/received_events","type":"Organization","site_admin":false},"repo":{"id":19753195,"node_id":"MDEwOlJlcG9zaXRvcnkxOTc1MzE5NQ==","name":"openhab2-addons","full_name":"openhab/openhab2-addons","owner":{"login":"openhab","id":1007353,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwMDczNTM=","avatar_url":"https://avatars0.githubusercontent.com/u/1007353?v=4","gravatar_id":"","url":"https://api.github.com/users/openhab","html_url":"https://github.com/openhab","followers_url":"https://api.github.com/users/openhab/followers","following_url":"https://api.github.com/users/openhab/following{/other_user}","gists_url":"https://api.github.com/users/openhab/gists{/gist_id}","starred_url":"https://api.github.com/users/openhab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openhab/subscriptions","organizations_url":"https://api.github.com/users/openhab/orgs","repos_url":"https://api.github.com/users/openhab/repos","events_url":"https://api.github.com/users/openhab/events{/privacy}","received_events_url":"https://api.github.com/users/openhab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openhab/openhab2-addons","description":"Add-ons for openHAB 2.x","fork":false,"url":"https://api.github.com/repos/openhab/openhab2-addons","forks_url":"https://api.github.com/repos/openhab/openhab2-addons/forks","keys_url":"https://api.github.com/repos/openhab/openhab2-addons/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openhab/openhab2-addons/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openhab/openhab2-addons/teams","hooks_url":"https://api.github.com/repos/openhab/openhab2-addons/hooks","issue_events_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/events{/number}","events_url":"https://api.github.com/repos/openhab/openhab2-addons/events","assignees_url":"https://api.github.com/repos/openhab/openhab2-addons/assignees{/user}","branches_url":"https://api.github.com/repos/openhab/openhab2-addons/branches{/branch}","tags_url":"https://api.github.com/repos/openhab/openhab2-addons/tags","blobs_url":"https://api.github.com/repos/openhab/openhab2-addons/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openhab/openhab2-addons/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openhab/openhab2-addons/git/refs{/sha}","trees_url":"https://api.github.com/repos/openhab/openhab2-addons/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openhab/openhab2-addons/statuses/{sha}","languages_url":"https://api.github.com/repos/openhab/openhab2-addons/languages","stargazers_url":"https://api.github.com/repos/openhab/openhab2-addons/stargazers","contributors_url":"https://api.github.com/repos/openhab/openhab2-addons/contributors","subscribers_url":"https://api.github.com/repos/openhab/openhab2-addons/subscribers","subscription_url":"https://api.github.com/repos/openhab/openhab2-addons/subscription","commits_url":"https://api.github.com/repos/openhab/openhab2-addons/commits{/sha}","git_commits_url":"https://api.github.com/repos/openhab/openhab2-addons/git/commits{/sha}","comments_url":"https://api.github.com/repos/openhab/openhab2-addons/comments{/number}","issue_comment_url":"https://api.github.com/repos/openhab/openhab2-addons/issues/comments{/number}","contents_url":"https://api.github.com/repos/openhab/openhab2-addons/contents/{+path}","compare_url":"https://api.github.com/repos/openhab/openhab2-addons/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openhab/openhab2-addons/merges","archive_url":"https://api.github.com/repos/openhab/openhab2-addons/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openhab/openhab2-addons/downloads","issues_url":"https://api.github.com/repos/openhab/openhab2-addons/issues{/number}","pulls_url":"https://api.github.com/repos/openhab/openhab2-addons/pulls{/number}","milestones_url":"https://api.github.com/repos/openhab/openhab2-addons/milestones{/number}","notifications_url":"https://api.github.com/repos/openhab/openhab2-addons/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openhab/openhab2-addons/labels{/name}","releases_url":"https://api.github.com/repos/openhab/openhab2-addons/releases{/id}","deployments_url":"https://api.github.com/repos/openhab/openhab2-addons/deployments","created_at":"2014-05-13T19:41:58Z","updated_at":"2018-06-18T21:13:01Z","pushed_at":"2018-06-20T11:27:24Z","git_url":"git://github.com/openhab/openhab2-addons.git","ssh_url":"git@github.com:openhab/openhab2-addons.git","clone_url":"https://github.com/openhab/openhab2-addons.git","svn_url":"https://github.com/openhab/openhab2-addons","homepage":"","size":276393,"stargazers_count":780,"watchers_count":780,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1470,"mirror_url":null,"archived":false,"open_issues_count":422,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0","node_id":"MDc6TGljZW5zZTc="},"forks":1470,"open_issues":422,"watchers":780,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770"},"html":{"href":"https://github.com/openhab/openhab2-addons/pull/2770"},"issue":{"href":"https://api.github.com/repos/openhab/openhab2-addons/issues/2770"},"comments":{"href":"https://api.github.com/repos/openhab/openhab2-addons/issues/2770/comments"},"review_comments":{"href":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770/comments"},"review_comment":{"href":"https://api.github.com/repos/openhab/openhab2-addons/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openhab/openhab2-addons/pulls/2770/commits"},"statuses":{"href":"https://api.github.com/repos/openhab/openhab2-addons/statuses/66117c748402550b65ffeada61cc44d7f081cebe"}},"author_association":"NONE"}}
{"actor":{"display_login":"martinvw"}}