Search in sources :

Example 1 with EzspPolicyId

use of com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId in project com.zsmartsystems.zigbee by zsmartsystems.

the class EmberStackConfiguration method getPolicy.

/**
 * Configuration utility. Takes a {@link Set} of {@link EzspPolicyId} and will work through
 * requesting them before returning.
 *
 * @param policies {@link Set} of {@link EzspPolicyId} to request
 * @return map of configuration data mapping {@link EzspPolicyId} to {@link EzspDecisionId}. Value will be null if
 *         error occurred.
 */
public Map<EzspPolicyId, EzspDecisionId> getPolicy(Set<EzspPolicyId> policies) {
    Map<EzspPolicyId, EzspDecisionId> response = new HashMap<EzspPolicyId, EzspDecisionId>();
    EmberNcp ncp = new EmberNcp(ashHandler);
    for (EzspPolicyId policyId : policies) {
        response.put(policyId, ncp.getPolicy(policyId));
    }
    return response;
}
Also used : EmberNcp(com.zsmartsystems.zigbee.dongle.ember.EmberNcp) HashMap(java.util.HashMap) EzspDecisionId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspDecisionId) EzspPolicyId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId)

Example 2 with EzspPolicyId

use of com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId in project com.zsmartsystems.zigbee by zsmartsystems.

the class EmberStackConfiguration method setPolicy.

/**
 * Configuration utility. Takes a {@link Map} of {@link EzspConfigId} to {@link EzspDecisionId} and will work
 * through setting them before returning.
 *
 * @param policies {@link Map} of {@link EzspPolicyId} to {@link EzspDecisionId} with configuration to set
 * @return true if all policies were set successfully
 */
public boolean setPolicy(Map<EzspPolicyId, EzspDecisionId> policies) {
    boolean success = true;
    EmberNcp ncp = new EmberNcp(ashHandler);
    for (Entry<EzspPolicyId, EzspDecisionId> policy : policies.entrySet()) {
        if (!ncp.setPolicy(policy.getKey(), policy.getValue())) {
            success = false;
        }
    }
    return success;
}
Also used : EmberNcp(com.zsmartsystems.zigbee.dongle.ember.EmberNcp) EzspDecisionId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspDecisionId) EzspPolicyId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId)

Example 3 with EzspPolicyId

use of com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId in project com.zsmartsystems.zigbee by zsmartsystems.

the class ZigBeeDongleEzsp method initialize.

@Override
public ZigBeeInitializeResponse initialize() {
    logger.debug("EZSP dongle initialize.");
    zigbeeTransportReceive.setNetworkState(ZigBeeTransportState.UNINITIALISED);
    if (!initialiseEzspProtocol()) {
        return ZigBeeInitializeResponse.FAILED;
    }
    // Perform any stack configuration
    EmberStackConfiguration stackConfigurer = new EmberStackConfiguration(ashHandler);
    Map<EzspConfigId, Integer> configuration = stackConfigurer.getConfiguration(stackConfiguration.keySet());
    for (Entry<EzspConfigId, Integer> config : configuration.entrySet()) {
        logger.debug("Configuration state {} = {}", config.getKey(), config.getValue());
    }
    Map<EzspPolicyId, EzspDecisionId> policies = stackConfigurer.getPolicy(stackPolicies.keySet());
    for (Entry<EzspPolicyId, EzspDecisionId> policy : policies.entrySet()) {
        logger.debug("Policy state {} = {}", policy.getKey(), policy.getValue());
    }
    stackConfigurer.setConfiguration(stackConfiguration);
    configuration = stackConfigurer.getConfiguration(stackConfiguration.keySet());
    for (Entry<EzspConfigId, Integer> config : configuration.entrySet()) {
        logger.debug("Configuration state {} = {}", config.getKey(), config.getValue());
    }
    stackConfigurer.setPolicy(stackPolicies);
    policies = stackConfigurer.getPolicy(stackPolicies.keySet());
    for (Entry<EzspPolicyId, EzspDecisionId> policy : policies.entrySet()) {
        logger.debug("Policy state {} = {}", policy.getKey(), policy.getValue());
    }
    EmberNcp ncp = new EmberNcp(ashHandler);
    ncp.getNetworkParameters();
    // Add the endpoint
    ncp.addEndpoint(1, 0, ZigBeeProfileType.ZIGBEE_HOME_AUTOMATION.getId(), new int[] { 0 }, new int[] { 0 });
    // Now initialise the network
    EzspNetworkInitRequest networkInitRequest = new EzspNetworkInitRequest();
    EzspTransaction networkInitTransaction = ashHandler.sendEzspTransaction(new EzspSingleResponseTransaction(networkInitRequest, EzspNetworkInitResponse.class));
    EzspNetworkInitResponse networkInitResponse = (EzspNetworkInitResponse) networkInitTransaction.getResponse();
    logger.debug(networkInitResponse.toString());
    networkParameters = ncp.getNetworkParameters();
    ncp.getCurrentSecurityState();
    zigbeeTransportReceive.setNetworkState(ZigBeeTransportState.INITIALISING);
    logger.debug("EZSP dongle initialize done: Initialised {}", networkInitResponse.getStatus() == EmberStatus.EMBER_NOT_JOINED);
    // Check if the network is initialised or if we're yet to join
    if (networkInitResponse.getStatus() == EmberStatus.EMBER_NOT_JOINED) {
        return ZigBeeInitializeResponse.NOT_JOINED;
    }
    return ZigBeeInitializeResponse.JOINED;
}
Also used : EzspNetworkInitRequest(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.command.EzspNetworkInitRequest) EmberStackConfiguration(com.zsmartsystems.zigbee.dongle.ember.internal.EmberStackConfiguration) EzspNetworkInitResponse(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.command.EzspNetworkInitResponse) EzspDecisionId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspDecisionId) EzspTransaction(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.transaction.EzspTransaction) EzspConfigId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspConfigId) EzspSingleResponseTransaction(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.transaction.EzspSingleResponseTransaction) EzspPolicyId(com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId)

Aggregations

EzspDecisionId (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspDecisionId)3 EzspPolicyId (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspPolicyId)3 EmberNcp (com.zsmartsystems.zigbee.dongle.ember.EmberNcp)2 EmberStackConfiguration (com.zsmartsystems.zigbee.dongle.ember.internal.EmberStackConfiguration)1 EzspNetworkInitRequest (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.command.EzspNetworkInitRequest)1 EzspNetworkInitResponse (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.command.EzspNetworkInitResponse)1 EzspConfigId (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.structure.EzspConfigId)1 EzspSingleResponseTransaction (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.transaction.EzspSingleResponseTransaction)1 EzspTransaction (com.zsmartsystems.zigbee.dongle.ember.internal.ezsp.transaction.EzspTransaction)1 HashMap (java.util.HashMap)1