Examples of ZWaveNodeSerializer


Examples of org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeSerializer

        if (action.equals("Save")) {
          logger.debug("NODE {}: Saving node", nodeId);

          // Write the node to disk
          ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
          nodeSerializer.SerializeNode(node);
        }

        if (action.equals("Delete")) {
          logger.debug("NODE {}: Delete node", nodeId);
          this.zController.requestRemoveFailedNode(nodeId);
View Full Code Here

Examples of org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeSerializer

          node.setName(value);
        if (splitDomain[2].equals("Location"))
          node.setLocation(value);
       
        // Write the node to disk
        ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
        nodeSerializer.SerializeNode(node);
      } else if (splitDomain.length == 4) {
        if (splitDomain[2].equals("parameters")) {
          ZWaveConfigurationCommandClass configurationCommandClass = (ZWaveConfigurationCommandClass) node
              .getCommandClass(CommandClass.CONFIGURATION);
View Full Code Here

Examples of org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeSerializer

   */
  @Override
  public void ZWaveIncomingEvent(ZWaveEvent event) {
    if (event instanceof ZWaveConfigurationParameterEvent) {
      // Write the node to disk
      ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
      nodeSerializer.SerializeNode(zController.getNode(event.getNodeId()));

      // We've received an updated configuration parameter
      // See if this is something in our 'pending' list and remove it
      PendingCfg.Remove(ZWaveCommandClass.CommandClass.CONFIGURATION.getKey(), event.getNodeId(), ((ZWaveConfigurationParameterEvent) event).getParameter().getIndex());
      return;
    }

    if (event instanceof ZWaveAssociationEvent) {
      // Write the node to disk
      ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
      nodeSerializer.SerializeNode(zController.getNode(event.getNodeId()));

      // We've received an updated association group
      // See if this is something in our 'pending' list and remove it
      for(ZWaveNode node : zController.getNodes()) {
        PendingCfg.Remove(ZWaveCommandClass.CommandClass.ASSOCIATION.getKey(), event.getNodeId(), ((ZWaveAssociationEvent) event).getGroup(), node.getNodeId());
      }
      return;
    }

    if (event instanceof ZWaveWakeUpCommandClass.ZWaveWakeUpEvent) {
      // We only care about the wake-up report
      if(((ZWaveWakeUpCommandClass.ZWaveWakeUpEvent) event).getEvent() != ZWaveWakeUpCommandClass.WAKE_UP_INTERVAL_REPORT)
        return;

      // Write the node to disk
      ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
      nodeSerializer.SerializeNode(zController.getNode(event.getNodeId()));

      // Remove this node from the pending list
      PendingCfg.Remove(ZWaveCommandClass.CommandClass.WAKE_UP.getKey(), event.getNodeId());
      return;
    }
View Full Code Here

Examples of org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeSerializer

      case SerialApiGetInitData:
        this.isConnected = true;
        for(Integer nodeId : ((SerialApiGetInitDataMessageClass)processor).getNodes()) {
          ZWaveNode node = null;
          try {
            ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
            node = nodeSerializer.DeserializeNode(nodeId);
          }
          catch (Exception e) {
            logger.error("NODE {}: Error deserialising XML file. {}", nodeId, e.toString());
            node = null;
          }
View Full Code Here

Examples of org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeSerializer

          break;
        }
        this.zwaveNodes.remove(incEvent.getNodeId());
       
        // Remove the XML file
        ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
        nodeSerializer.DeleteNode(event.getNodeId());
        break;
      default:
        break;
      }
    }
    if(event instanceof ZWaveNetworkEvent) {
      ZWaveNetworkEvent networkEvent = (ZWaveNetworkEvent)event;
      switch(networkEvent.getEvent()) {
        case FailedNode:
          if(getNode(networkEvent.getNodeId()) == null) {
            logger.debug("NODE {}: Deleting a node that doesn't exist.", networkEvent.getNodeId());
            break;
          }
          if (networkEvent.getState() == State.Success) {
            logger.debug("NODE {}: Marking node as failed because its on the controllers failed node list.", networkEvent.getNodeId());
            getNode(networkEvent.getNodeId()).setNodeStage(NodeStage.FAILED);
           
            ZWaveEvent zEvent = new ZWaveNodeStatusEvent(networkEvent.getNodeId(), ZWaveNodeStatusEvent.State.Failed);
            this.notifyEventListeners(zEvent);
            break;
          }
        case DeleteNode:
          if(getNode(networkEvent.getNodeId()) == null) {
            logger.debug("NODE {}: Deleting a node that doesn't exist.", networkEvent.getNodeId());
            break;
          }
          this.zwaveNodes.remove(networkEvent.getNodeId());
         
          //Remove the XML file
          ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
          nodeSerializer.DeleteNode(event.getNodeId());
          break;
        default:
          break;
      }
    }
View Full Code Here

Examples of org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeSerializer

      // Save the XML file. This serialises the data we've just updated
      // (neighbors etc)
      healing.node.setHealState(this.getNodeState(healing.node.getNodeId()));
     
      ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
      nodeSerializer.SerializeNode(healing.node);
      return;
    }

    // Set the timeout
    networkHealNextTime = System.currentTimeMillis() + HEAL_TIMEOUT_PERIOD;

    switch (healing.state) {
    case WAITING:
      logger.debug("NODE {}: NETWORK HEAL - STARTING", healing.nodeId);

      // Reset the resend count.
      // This also resets the time so that we cycle through all the nodes
      healing.node.resetResendCount();

    case PING:
      if (healing.nodeId != zController.getOwnNodeId()) {
        healing.state = HealState.PING;
        ZWaveNoOperationCommandClass zwaveCommandClass = (ZWaveNoOperationCommandClass) healing.node
            .getCommandClass(CommandClass.NO_OPERATION);
        if (zwaveCommandClass != null) {
          zController.sendData(zwaveCommandClass.getNoOperationMessage());
          healing.stateNext = HealState.SETSUCROUTE;
          break;
        }
      }
      healing.state = HealState.SETSUCROUTE;
    case SETSUCROUTE:
      // Only set the route if this is not the controller and there is an SUC in the network
      if (healing.nodeId != zController.getOwnNodeId() && zController.getSucId() != 0) {
        // Update the route to the controller
        logger.debug("NODE {}: Heal is setting SUC route.", healing.nodeId);
        healing.event = ZWaveNetworkEvent.Type.AssignSucReturnRoute;
        healing.stateNext = HealState.UPDATENEIGHBORS;
        zController.requestAssignSucReturnRoute(healing.nodeId);
        break;
      }
      healing.state = HealState.UPDATENEIGHBORS;
    case UPDATENEIGHBORS:
      logger.debug("NODE {}: Heal is updating node neighbors.", healing.nodeId);
      healing.event = ZWaveNetworkEvent.Type.NodeNeighborUpdate;
      healing.stateNext = HealState.GETASSOCIATIONS;
      zController.requestNodeNeighborUpdate(healing.nodeId);
      break;
    case GETASSOCIATIONS:
      // Check if this node supports associations
      ZWaveAssociationCommandClass associationCommandClass = (ZWaveAssociationCommandClass) healing.node
          .getCommandClass(CommandClass.ASSOCIATION);
      if (associationCommandClass != null) {
        logger.debug("NODE {}: Heal is requesting device associations.", healing.nodeId);
        healing.stateNext = HealState.UPDATEROUTES;
        healing.event = ZWaveNetworkEvent.Type.AssociationUpdate;
        associationCommandClass.getAllAssociations();
        break;
      }
    case UPDATEROUTES:
      // Get the list of routes for this node
      healing.routeList = healing.node.getRoutingList();
      if (healing.routeList != null && healing.routeList.size() != 0) {
        // Delete all the return routes for the node
        logger.debug("NODE {}: Heal is deleting routes.", healing.nodeId);
        healing.event = ZWaveNetworkEvent.Type.DeleteReturnRoute;
        healing.stateNext = HealState.UPDATEROUTESNEXT;
        zController.requestDeleteAllReturnRoutes(healing.nodeId);
        break;
      }
    case UPDATEROUTESNEXT:
      if (healing.routeList != null && healing.routeList.size() != 0) {
        // Loop through all the nodes and set the return route
        logger.debug("NODE {}: Adding return route to {}", healing.nodeId, healing.routeList.get(0));
        healing.stateNext = HealState.GETNEIGHBORS;
        healing.event = ZWaveNetworkEvent.Type.AssignReturnRoute;
        zController.requestAssignReturnRoute(healing.nodeId, healing.routeList.get(0));
        break;
      }
    case GETNEIGHBORS:
      healing.event = ZWaveNetworkEvent.Type.NodeRoutingInfo;
      healing.stateNext = HealState.PINGEND;

      logger.debug("NODE {}: Heal is requesting node neighbor info.", healing.nodeId);
      zController.requestNodeRoutingInfo(healing.nodeId);
      break;
    case PINGEND:
      if (healing.nodeId != zController.getOwnNodeId()) {
        ZWaveNoOperationCommandClass zwaveCommandClass = (ZWaveNoOperationCommandClass) healing.node
            .getCommandClass(CommandClass.NO_OPERATION);
        if (zwaveCommandClass == null)
          break;
        zController.sendData(zwaveCommandClass.getNoOperationMessage());
        healing.stateNext = HealState.SAVE;
        break;
      }
    case SAVE:
      logger.debug("NODE {}: Heal is complete - saving XML.", healing.nodeId);
      healing.state = HealState.DONE;

      networkHealNextTime = System.currentTimeMillis() + HEAL_DELAY_PERIOD;
      // Save the XML file. This serialises the data we've just updated
      // (neighbors etc)
      healing.node.setHealState(this.getNodeState(healing.node.getNodeId()));
     
      ZWaveNodeSerializer nodeSerializer = new ZWaveNodeSerializer();
      nodeSerializer.SerializeNode(healing.node);
      break;
    default:
      break;
    }
    healing.node.setHealState(this.getNodeState(healing.node.getNodeId()));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.