Package org.openhab.binding.insteonplm.internal.message

Examples of org.openhab.binding.insteonplm.internal.message.Msg


      logger.debug("Starting writer...");
      while(true) {
        try {
          // this call blocks until the lock on the queue is released
          logger.trace("writer checking message queue");
          Msg msg = m_writeQueue.take();
          if (msg.getData() == null) {
            logger.error("found null message in write queue!");
          } else {
            logger.debug("writing ({}): {}", msg.getQuietTime(), msg);
            // To debug race conditions during startup (i.e. make the .items
            // file definitions be available *before* the modem link records,
            // slow down the modem traffic with the following statement:
            // Thread.sleep(500);
            m_out.write(msg.getData());
            while (m_reader.waitForReply()) {
              Thread.sleep(WAIT_TIME);
              logger.trace("retransmitting msg: {}", msg);
              m_out.write(msg.getData());
            }
            // if rate limited, need to sleep now.
            if (msg.getQuietTime() > 0) {
              Thread.sleep(msg.getQuietTime());
            }
          }
        } catch (InterruptedException e) {
          logger.error("got interrupted exception in write thread:", e);
        } catch (IOException e) {
View Full Code Here


        logger.error("error parsing im info reply field: ", e);
      }
    }
    public void initialize() {
      try {
        Msg m = Msg.s_makeMessage("GetIMInfo");
        writeMessage(m);
      } catch (IOException e) {
        logger.error("modem init failed!", e);
      }
    }
View Full Code Here

      try {
        HashMap<InsteonAddress, ModemDBEntry> dbes = driver.lockModemDBEntries();
        ModemDBEntry dbe = dbes.get(aAddr);
        if (dbe != null) {
          for (Msg lr : dbe.getLinkRecords()) {
            Msg m = Msg.s_makeMessage("ManageALLLinkRecord");
            m.setByte("controlCode", (byte)0x80);
            m.setByte("recordFlags", (byte)0x00);
            m.setByte("ALLLinkGroup", lr.getByte("ALLLinkGroup"));
            m.setAddress("linkAddress", aAddr);
            m.setByte("linkData1", (byte)0x00);
            m.setByte("linkData2", (byte)0x00);
            m.setByte("linkData3", (byte)0x00);
            dbe.getPort().writeMessage(m);
            removed = true;
            logger.info("wrote erase message: {}", m);
          }
        } else {
View Full Code Here

   * @param aCmd2  cmd2 for message to be sent
   */
  public void sendExtendedQuery(DeviceFeature f, byte aCmd1, byte aCmd2) {
    InsteonDevice d = f.getDevice();
    try {
      Msg m = d.makeExtendedMessage((byte)0x1f, aCmd1, aCmd2);
      m.setQuietTime(500L);
      d.enqueueMessage(m, f);
    } catch (IOException e) {
      logger.warn("i/o problem sending query message to device {}", d.getAddress());
    } catch (FieldException e) {
      logger.warn("field exception sending query message to device {}", d.getAddress());
View Full Code Here

  public static class StopManualChangeHandler extends MessageHandler {
    StopManualChangeHandler(DeviceFeature p) { super(p); }
    @Override
    public void handleMessage(byte cmd1, Msg msg, DeviceFeature f,
        String fromPort) {
      Msg m = f.makePollMsg();
      if (m != nullf.getDevice().enqueueMessage(m, f);
    }
View Full Code Here

TOP

Related Classes of org.openhab.binding.insteonplm.internal.message.Msg

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.