public void fireEvent(ZWCmdClass cmd){
        ZWEvent event = new ZWEvent(nodes.get((int)cmd.node),cmd.cmdClass,cmd.cmd,cmd.data);
        switch(cmd.cmdClass){
            case (byte)0x20: //basic
                nodes.get((int)cmd.node).fireZWBasicEvent(event);
                break;
            case (byte)0x70: // configuration
                ((ZWSensor) nodes.get((int) cmd.node)).fireZWConfigurationEvent(event);
                break;
            case (byte)0x85: // association
                ((ZWSensor)nodes.get((int)cmd.node)).fireZWAssociationEvent(event);
                break;
            case (byte) 0x31: //sensor multilevel
                ((ZWEZMotionSensor) nodes.get((int) cmd.node)).fireZWSensorMultilevelEvent(event);
                break;
            case (byte)0x26: // switch multilevel
                ((ZWEZMotionSensor) nodes.get((int) cmd.node)).fireZWSwitchMultilevelEvent(event);
                break;
            case (byte)0x84: // wake up
                ((ZWEZMotionSensor) nodes.get((int) cmd.node)).fireZWWakeUpEvent(event);
                break;
            case (byte)0x86: // version
                nodes.get((int) cmd.node).fireZWVersionEvent(event);
                break;
        }
    }