]> git.basschouten.com Git - openhab-addons.git/commitdiff
Fixes #8646 - Bugfix for openHAB > 3.1.x (#11776)
authorcarlospg79 <carlos.pg79@gmail.com>
Fri, 17 Dec 2021 06:57:23 +0000 (07:57 +0100)
committerGitHub <noreply@github.com>
Fri, 17 Dec 2021 06:57:23 +0000 (07:57 +0100)
Signed-off-by: Carlos Primo <tristinero@gmail.com>
Signed-off-by: carlospg79 <tristinero@gmail.com>
bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/handler/LgTvSerialHandler.java
bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommunicator.java

index 276657a147013770310c07a2a1d9eefc80e5c31a..94c4d3221e4ec68ee4e605dc3c416d68d1080463 100644 (file)
@@ -170,6 +170,12 @@ public class LgTvSerialHandler extends BaseThingHandler {
         if (updateJob == null || updateJob.isCancelled()) {
             updateJob = scheduler.scheduleWithFixedDelay(eventRunnable, 0, EVENT_REFRESH_INTERVAL, TimeUnit.SECONDS);
         }
+        // trigger REFRESH commands for all linked Channels to start polling
+        getThing().getChannels().forEach(channel -> {
+            if (isLinked(channel.getUID())) {
+                channelLinked(channel.getUID());
+            }
+        });
 
         updateStatus(ThingStatus.ONLINE);
     }
index b16ed23d94f1d43add9570274128dbd32f5a5566..45b69ba5d275bd19369a42ace7b938b875892c5e 100644 (file)
@@ -79,7 +79,7 @@ public class LGSerialCommunicator {
         int data;
         int len = 0;
         int offset = 0;
-        while ((data = input.read()) > -1) {
+        while (input.available() > 0 && (data = input.read()) > -1) {
             if (data == 'x') {
                 String result = new String(buffer, offset, len);
                 if (logger.isDebugEnabled()) {